繁体   English   中英

如何在未安装CUDA工具包的计算机上运行已编译的CUDA代码?

[英]How to run a compiled CUDA code on a machine that doesn't have the CUDA toolkit installed?

tesla(cc2.0)的高内存吞吐量是否会比geforce(cc5.0)的大量cuda内核受益于任何内存绑定的应用程序?

我如何在没有VS2010和cuda的tesla机器上安装gefile卡的机器上运行带有geforce卡的机器上已编译的exe文件(即我希望此exe文件成为独立应用程序)?

tesla(cc2.0)的高内存吞吐量是否会比geforce(cc5.0)的大量cuda内核受益于任何内存绑定的应用程序?

与内存绑定的CUDA应用程序可能会在具有更高内存带宽的GPU上运行最快。 当然,还有其他因素可能会影响这一点,但这是一个合理的一般原则。 我不确定您指的是哪两张卡,但是特定的GeForce GPU可能比特定的Tesla GPU具有更高的内存带宽。 cc2.0 Tesla GPU(例如M2050,C / M2070,C / M2075,M2090)可能确实比我知道的cc5.0 GeForce GPU(例如GeForce GTX 750 / 750Ti)具有更高的内存带宽(超过100GB / s)。 -低于90GB / s)。

我如何在没有VS2010和cuda的tesla机器上安装gefile卡的机器上运行带有geforce卡的机器上已编译的exe文件(即我希望此exe文件成为独立应用程序)?

有些事情很容易做到,这将使将已编译的CUDA代码从一台计算机移动到另一台计算机变得更加容易。

  1. 确保CUDART库是静态链接的。 这应该是最新CUDA版本的默认设置。 您可以在此处了解更多信息。 如果您正在使用其他库(例如CUBLAS等),则需要确保这些其他库也被静态链接(如果可能),或将该库(Linux中的.so文件,Windows中的.dll)捆绑到您的应用程序中。

  2. 为各种计算架构进行编译。 例如,如果您知道,例如,您只需要并且希望以cc2.0和cc5.0为目标,那么请确保您的nvcc compile命令行包含同时以cc2.0和cc5.0为目标的开关。 这是一个相当复杂的主题,但是如果您查看CUDA示例代码 (makefile或VS项目),则会发现为多种体系结构构建的项目示例。 为了获得最大的兼容性,您可能需要确保在可执行文件中同时包含PTX和SASS。 您可以在这里这里阅读更多有关它的信息

  3. 确保机器具有兼容的驱动程序。 例如,如果使用CUDA 7.0工具包编译CUDA代码,则只能在安装了兼容GPU驱动程序的计算机上运行它(该驱动程序是与工具包分开的项目。需要使用GPU驱动程序对于CUDA 7,这大致意味着您要在要运行CUDA 7编译代码的任何计算机上安装r346或更新的驱动程序。 其他CUDA工具包版本具有其他关联的最低驱动程序版本。 作为参考,该答案给出了一些最新CUDA工具包版本所需的大约最低GPU驱动程序版本的想法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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