Where can I find cuda-cross-aarch64 10.0?

I followed the instruction here


Then when I tried sudo apt-get install cuda-cross-aarch64 , I noticed apt-get is trying to install cuda-cross-aarch64 for cuda 8.0

The network path the debian file is adding http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64 as the source, so checking the content of this , I see only cuda-cross-aarch64-8-0 is there

And this cuda-cross-aarch64-8-0 is from 2017

So what happened to cuda-cross-arch64-10-0 ? Are we expected to use cuda-8-0 for a cross compile?

I am on RTX 2080, so I dont think that is an option for me

you only need the cross-aarch64 packages if you are cross compiling on a x86-64 platform but creating code for an arm CPU, namely for Jetson.

Are you trying to compile code for Jetson? Or for your RTX 2080?

When I look at the instructions you linked, I don’t see any indication that you were instructed to do

sudo apt-get install cuda-cross-aarch64

My bad

For the cuda-cross-aarch64 part, I followed https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#cross-installation

So, before installing CUDA, I did
sudo dpkg --add-architecture arm64
sudo apt-get update
Install deb files from the cuda toolkit
sudo apt-get update
sudo apt-get install cuda-cross-arm64

The host GPU I use is RTX 2080, but I am also trying to get my code working on AGX

That’s not correct. The correct arch is aarch64

same comment

Note that there is a AGX-specific forum:


That’s not correct. The correct arch is aarch64

Interesting… I got arm64 from this instruction

From https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#cross-platform

The foreign architecture must be enabled in order to install the cross-platform toolkit. To enable armhf, arm64 (aarch64), or ppc64el as a foreign architecture, the following commands must be executed, replacing with the desired architecture:

And aarch64 gives an error

$ sudo dpkg --add-architecture arm64

$ sudo dpkg --add-architecture aarch64
Odd number of elements in hash assignment at /usr/share/pkg-config-dpkghook line 30.

Note that there is a AGX-specific forum:

May I ask if you mean only Jetson supports arm64 cross compile now? The main CUDA toolkit instruction mentions a cross build instruction, but it is confusing that only cuda toolkit 8.0 supports arm64 cross compile

Having exactly same problem here as sanlee

as am i, regretfully.

And it’s only my first problem that i am experiencing with jetpack 4.2 sdkmanager.

This error is in the perl script at /usr/share/pkg-config-dpkghook:
“Odd number of elements in hash assignment at /usr/share/pkg-config-dpkghook line 30.”

So that is not nvidia’s fault. But it does point to an interesting fact that the error might be due to the fact that you already have aarch64 listed as a foreign architecture. The way to find that out is to run the command:

dpkg --print-foreign-architectures

in my case this returns:

dpkg --print-foreign-architectures

So, obviously i already have aarch64 as an existing foreign architecture.

Very dumb question here: Is there any cuda driver for aarch64 that supports another board than jetson ?
Like an aarch64 powered board with x4 PCIe (hence non uniform memory) ?


aarch64 means for aarch64 which is not only for Jetson.

For cross compile, I suggest to use the cuda libs from the system of Jetson you are using or extract from the deb from SDK-manager. Mostly it will installed at /usr/local/cuda. And also use the cross-compile toolchain from Jetpack Download center.
In fact NVCC use g++ from toolchain for a real cuda program compiling. That’s the key point.