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
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.
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
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
aarch64
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.