Skip to content

Building cuVSLAM for multiple archs and Module Tests #39

Description

@raghavduddala

System setup

x86_64:

  • Lenovo Legion 5i
  • GPU: NVidia RTX 3070
  • Driver Version: 580.126.09
  • CUDA Version: 13.0
  • Ubuntu Jammy 22.04

arm64:

  • Jetson Orin Nano
  • Driver Version: 540.5.0
  • CUDA Version: 12.6
  • Ubuntu Jammy 22.04
  • Jetpack (6.2.2)Version: 6.2.2+b24

Description

  • Building cuVSLAM natively on Jetson required several undocumented steps and workarounds.
  • The hardcoded -arch=all bypassed CMake's architecture management, and there was no way to target a specific GPU from the build script.
  • The speedup test filter bug caused false test failures.

To Reproduce

  • build the libcuvslam for target architecture of the host or for multitude of architectures
    ./build_release.sh --cuda_arch=87 --modules_test --build_lib - to target specific arch
    ./build_release.sh --modules_test --build_lib - to target multiple arch
  • build the module tests
    ./build_release.sh --modules_test

Expected behavior

  • A clean build for target architecture when required
  • A clean multi-arch build when no specific target architecture is passed
  • And all the 14 module tests passed

Observed behavior

  • current build doesn't accept a param for passing the target cuda arch and has a CUDA_ARCH=all hardcoded for building libcuVSLAM for all archs.
  • module tests produce error as the case-sensitive filter was missing the image_pyramid_test speedup variable

Additional information
PR #38 fixes this

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions