首页 文章

将CUDA安装为没有GPU的非root用户

提问于
浏览
2

我有一个没有GPU的桌面,我想开发代码;并且某个集群上的机器有一个GPU,并安装了CUDA,但我真的无法“触摸”任何东西,我不会在其上运行IDE等 . 我没有任何机器上的root,我是个祸患 .

所以,基本上,我希望能够在我自己的无GPU台式机上编译和构建我的CUDA代码,然后只需将其复制并在另一台机器上进行测试 .

尽管存在两个阻碍因素,这可以做到这一点:我似乎记得需要存在GPU的CUDA安装程序;玩内核;并做其他root-y的东西 .

Notes:

  • 我将使用独立安装程序,而不是包 .

  • 我在Fedora 22上使用x86_64 CPU .

1 回答

  • 3
    • 假设您要开发使用 CUDA runtime API 的代码,您可以在没有GPU的系统上安装cuda工具包 . 使用runfile installer method,只需在提示安装驱动程序时回答否 .

    • 如果要编译使用 CUDA driver API 的代码(成功),该过程将需要您机器上的libcuda.so . 此文件由驱动程序安装程序安装 . "force"驱动程序安装程序可以在没有GPU的计算机上运行 . 您可以通过解压缩驱动程序运行文件安装程序(或单独下载)并将 --help 命令行开关传递给安装程序来了解一些选项 .

    • 这些方法不允许您在没有GPU的机器上运行这些代码 . 此外,在我看来,将已编译的二进制文件从一台机器移动到另一台机器并期望它正确运行的过程很麻烦 . 因此我的建议是在目标机器上重新编译代码 . 否则,将编译的二进制文件从一台机器运行到下一台机器是一个不是CUDA独有的问题,并且超出了我的答案范围 .

    • 如果您无意在非GPU机器上运行代码,并且愿意在目标机器上重新编译,那么即使没有libcuda.so,您也可以开发驱动程序API代码(或者有一个libcuda.so存根,您可以尝试仅针对编译测试目的进行链接,这是由CUDA安装程序安装的,如果您搜索它:/ usr / local / cuda / lib64 / stubs) . 如果你没有将你的驱动程序API代码链接到 -lcuda ,那么你当然会得到一个链接错误,但考虑到前面提到的警告,它应该没关系 .

    • Fedora 22是由CUDA 7.5或之前的not officially supported . 因人而异 .

    • 如果不运行驱动程序安装程序,则无需成为任何root用户 . 当然,传递给安装程序的安装位置必须是您的用户权限允许访问的位置 .

相关问题