But I still met an error “Unable to locate package cuda-cross-aarch64”.
We want to cross compile our program in docker, so we cannot use Nsight.
We have to use command format to compile. But it failed.
The Environment is as follows:
1.Host(x86): 1)CUDA 8.0; 2)Ubuntu 14.04; 3)aarch64-linux-gnu-g++. (CUDA 8.0 repo has cuda-cross-aarch64-8-0.deb)
2.Target(Xavier): 1)CUDA 10.0; 2)Ubuntu 18.04;
And I build an example on Host, then move the executable file to Target.
1.sample : /usr/local/cuda/samples/0_Simple/matrixMul
2.cross compile command: make TARGET_ARCH=aarch64
even not use SMS=72, and CUDA 8.0 do not support sm72.
3.Move executable file to Target.
It can be executable, and we got right results. Test Passed!
I used (readelf) to check the exe file. I found the CUDA kernel code maybe inserted into exe file. And when run it on target Xavier, the GPU driver use JIT compiler to compile the kernel code at run time. So it can work. Is that right ??? This is the kernel code, but how it works with the cudaMalloc part???
Also the OS is not the same version, is that weird? I can’t understand.
But there is another problem. If I use Host CUDA 8 to compile a CUDA program, and the program use some new features of CUDA 10.0, is it still work???
I have the newest cuda installed on Ubuntu 18.04 where cuda has version 10.1.168.
Now sdkmanager gives an error when trying to install cuda-cross-aarch64:
cuda-cross-aarch64-10-0 : Depends: cuda-toolkit-10-0 (>= 10.0.166) but 10.0.130-1 is to be installed
The sdkmanager comes with the local Debian package
my goal is not to have both environment but a single one on my host computer would suffice.
Could you please re-read my question?
I need a working sdkmanager which can install cuda-cross-aarch64 on my host.
Is there any solution posted anywhere for how to solve this SDK Manager problem?
INFO: Cuda Cross Compile Package on Host : cuda-cross-aarch64-10-0 : Depends: cuda-toolkit-10-0 (>= 10.0.166) but 10.0.130-1 is to be installed
I have a Jetson Xavier and I am trying to setup the Host’s cross-compilation environment, but the SDK Manager does not seem to be able to download and install the proper version of cuda-toolkit-10-0 (>=10.0.166).
My host has these cuda-toolkit packages available.
$ sudo dpkg -l ‘cuda-toolkit*’
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
++±=============================================-===========================-===========================-================================================================================================
ii cuda-toolkit-10-0 10.0.130-1 amd64 CUDA Toolkit 10.0 meta-package
ii cuda-toolkit-10-1 10.1.168-1 amd64 CUDA Toolkit 10.1 meta-package
ii cuda-toolkit-8-0 8.0.61-1 amd64 CUDA Toolkit 8.0 meta-package
ii cuda-toolkit-9-0 9.0.176-1 amd64 CUDA Toolkit 9.0 meta-package
ii cuda-toolkit-9-1 9.1.85-1 amd64 CUDA Toolkit 9.1 meta-package
I have tried to search for an answer to this problem or for a way to download and install the proper meta-package with no luck.
I just reinstalled the SDK Manager and uninstalled all JetPack 4.2 components and reinstalled them and it seems like it is now working. Don’t know if anything changed on the SDK Manager side or if something did not install correctly the first time, but the Host components all installed without a problem and the Target components seemed to have installed correctly as well.
Sorry for jumping the gun and thank you if you spent any time on this.