我想用NVIDIA电视作为设备来测试一些CUDA代码。我曾尝试编写Android + CUDA代码,但我在链接时遇到了与“硬浮动”和“软浮动”arm / android / cuda库相关的问题。
所以,我在NVIDIA电视上安装了Ubuntu Linux。
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
我还使用JetPack for JX1设备将CUDA推送到设备。
即使我尝试运行“Hello,World!”代码,只执行“cudaFree(0)”,我得到“CUDA驱动程序版本不足以用于CUDA运行时版本”的错误。
我已经在互联网上搜索CUDA / NVIDIA驱动程序以安装到这个架构,但我找不到任何。
答案 0 :(得分:1)
Nvidia并未正式支持Shield TV,正如官方devtalk论坛的主持人所说:
未正式支持Ubuntu on Shield
你应该看一下NVIDIA CodeWorks for Android 这是他们的Android官方原生开发工具包:
NVIDIA CodeWorks for Android 1R5是一款专业级解决方案,提供全面的GPU和CPU工具,具有调试,分析和系统跟踪功能,以及用于Android开发的附带SDK和库 - 不仅适用于Tegra驱动的设备。
在同一页面上提供完整的操作系统和平台支持。
答案 1 :(得分:1)
我再试一次,看到示例CUDA应用程序在Ubuntu安装的NVIDIA电视上正常运行。因此,在NVIDIA TV上安装Ubuntu然后安装JetPack之后,可以运行CUDA应用程序。
我已经发现问题是我正在针对不同的设备运行时编译CUDA代码。当我像这样编译.cu文件时,应用程序运行成功,没有任何“不足”的错误。
nvcc -arch=sm_52 example.cu -o example
如上所示,我已经指定了与NVIDIA TV相匹配的架构,并且工作正常。