MapSMtoArchName for SM 8.7 is undefined. Default to use Ampere

Hello,
I have a CUDA project which I compile with CUDA version 11.6.2. The code runs on my workstation which has an ARM Ampere CPU and an NVIDIA Quadro RTX 4000 GPU:

$ lsb_release -d
Description:    Rocky Linux release 8.9 (Green Obsidian)
$ uname -r
4.18.0-513.11.1.el8_9.aarch64
$ lspci | grep VGA
0002:01:00.0 VGA compatible controller: NVIDIA Corporation TU104GL [Quadro RTX 4000] (rev a1)
$ nvidia-smi
Tue Feb 13 17:15:42 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.154.05             Driver Version: 535.154.05   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+

I have a second machine - an NVIDIA Jetson AGX Orin Developer Kit running an up-to-date version of Ubuntu 20.04. When I run the code on it, I get the following message and the program crashes:

MapSMtoArchName for SM 8.7 is undefined. Default to use Ampere

The code is compiled with -gencode arch=compute_75,code=sm_75 -gencode arch=compute_86,code=sm_86

What am I doing wrong? Thanks in advance!

Your Jetson AGX Orin is SM8.7, so perhaps try:
arch=compute_87,code=sm_87

See here
You’ll need to get a newer version of the cuda sample code you are running (or a newer version of the cuda samples infrastructure if you are using helper_cuda.h in some other code.)

I have the latest CUDA sample code now, Ubuntu 22.04 (up-to-date) and CUDA 12.4 for NVIDIA Jetson. Now I am getting the following error:

CUDA error at helper_cuda.h:801 code=35(cudaErrorInsufficientDriver) "cudaGetDeviceCount(&device_count)"

What driver isn’t up-to-date and how to update it?

The GPU driver. Since you are on Jetson, my suggestion is to ask about it on a Jetson forum.