简体   繁体   中英

Ubuntu at NVIDIA TV - CUDA driver version is insufficient for CUDA runtime version

I wanted to use the NVIDIA TV as a device to test some CUDA codes on. I have tried to write Android + CUDA code but I have had issues related to "hard float" vs "soft float" arm/android/cuda libraries while linking.

So, I have installed Ubuntu Linux on the NVIDIA TV.

ubuntu@tegra-ubuntu:~/devel/cuda/hello$ uname -a
Linux tegra-ubuntu 3.10.96 #1 SMP PREEMPT Thu Oct 13 05:30:55 EDT 2016 aarch64 aarch64 aarch64 GNU/Linux

I have also pushed CUDA to the device using JetPack for JX1 device.

Even though I try to run an "Hello, World!" code, that only performs "cudaFree(0)", I do get the error of "CUDA driver version is insufficient for CUDA runtime version".

I have searched internet for CUDA / NVIDIA Drivers to install to this architecture, but I could not find any.

  • Should I give up on this machine and buy a TX1 board?
  • might it be possible to install NVIDIA CUDA/Graphics Drivers on it (how)
  • would it require to rebuilt the kernel
  • should I force my luck on developing Android+CUDA for this device?

Shield TV is not formally supported by Nvidia, as said by a moderator on the official devtalk forum :

Ubuntu on Shield is not formally supported

See : Cuda for Nvidia Shield TV

You should take a look at NVIDIA CodeWorks for Android which is their official native development tools package for Android :

NVIDIA CodeWorks for Android 1R5 is a professional grade solution providing a comprehensive set of GPU and CPU tools with debugging, profiling and system trace capabilities and accompanying SDKs and libraries for Android development - not only on Tegra powered devices.

Full OS and platforms support is available on this same page.

I have given another try and saw that the sample CUDA applications are running fine at the Ubuntu Installed NVIDIA TV. So after installing Ubuntu on top of NVIDIA TV and then installing JetPack to it, it was possible to run CUDA applications.

I have figured out that the issue was that I was compiling the CUDA code against a different device runtime. When I compiled the .cu file like this, the application run successfully without any "insufficient" errors.

nvcc -arch=sm_52 example.cu -o example

As seen I have specified the architecture to match with NVIDIA TV and it worked fine.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM