CUDA Changes#

CUDA Math#

Target Changes

Backward Compatible

Platform

OS

No breaking changes to include fp8 Math APIs vs 6.0. Safety scope are planned. Non-Safety scope will also include fp8.

Yes

NSR, SR

Linux and QNX

Migration Path

  • Orin to Thor

Migration Rationale

6.0 was based on CUDA 11.4, while 7.0 is forked off CUDA 12.x+. Both non-safety and safety CUDA Math receive more functionality (primarily, the cuda_fp8.h header-based types and APIs). APIs remain backward compatible. Safety scope increase is based on internal requests for fp8 support.

Steps to Migrate

Recompile using a newer toolkit for the applicable target operating system and hardware. In the safety scope, consult with the updated CUDA Math Safety Manual (once available).

The Debian Installer#

Target Changes

Backward Compatible

Platform

OS

The Debian installer name will change to reflect the change from a single unified installer to an installer per target SoC.

The installation location for target specific binaries will change. With the move to target specific installers, the location/path of the target binaries will change to include the target name.

Current Installer Name

cuda-repo-cross-aarch64-ubuntu2004-11-4-local_11.4.28-1_all.deb

Future Installer Name for Orin

driveos-cuda-orin-nsr-repo-cross-aarch64-ubuntu2404-12-8-local_12.8.99-1_all.deb

Future Installer Name for Thor

driveos-cuda-thor-nsr-repo-cross-aarch64-ubuntu2404-12-8-local_12.8.99-1_all.deb

No

NSR, SR

Linux and QNX

Migration Path

  • Orin to Thor

Migration Rationale

6.0 was based on CUDA 11.4, while 7.0 is forked off CUDA 12.x+. Both non-safety and safety CUDA Math receive more functionality (namely, the cuda_fp8.h header-based types and APIs). APIs remain backward compatible. Safety scope increase is based on internal requests for fp8 support.

Steps to Migrate

Develop CI/CD scripts or other installation scripts keeping this future change in mind. The name and install paths should not be configurable, not hardcoded, to minimize changes to the configuration.

CUDA Runtime Library#

Target Changes

Backward Compatible

Platform

OS

Linking CUDA runtime library libcudart_static.a will be deprecated and only shared CUDART will be available. This is not backward compatible.

No

SR

QNX

Migration Path

DOS 6.x to DOS 7.2

Migration Rationale

Maintainability and Bug Fix Deployment: When applications statically link against the CUDART library, any bug fix or security update within CUDART necessitates a full recompilation and redeployment of the entire application stack. This process is not only cumbersome but also increases turnaround time for critical patches. In contrast, dynamic linking allows for straightforward replacement of the CUDART library on the target system, enabling rapid deployment of bug fixes and minimising operational disruption.

Steps to Migrate

Pass -cudart shared instead of -cudart static to nvcc during CUDA application compilation.