【问题标题】:Partial installation of Nvidia drivers to obtain libcuda.so file部分安装Nvidia驱动获取libcuda.so文件
【发布时间】:2013-11-27 12:52:37
【问题描述】:

我试图在我的 Ubuntu 12.04 服务器中构建 Rodinia 基准测试套件

在运行 make 命令时出现错误

/usr/bin/ld: cannot find -lcuda

我知道 libcuda.so 文件是在正确安装 Nvidia 驱动程序时获得的。但是服务器上没有 GPU,所以我可以安装它。我需要 Rodinia 套件来测试 GPU 模拟器。

有没有办法获取 libcuda.so 文件,比如部分安装 Nvidia 驱动程序。

提前谢谢..

【问题讨论】:

    标签: cuda installation driver nvidia


    【解决方案1】:

    我假设你知道如何download an NVIDIA driver。 您可以选择最近的驱动程序,例如319.72,它几乎可以与您可能想要使用的任何 CUDA 版本一起使用。较新的驱动程序向后兼容较旧的 CUDA 版本。因此,例如,如果您选择 3192.72,它应该与 CUDA 5.5、5.0、4.2、4.1、4.0 等兼容。

    我说的是 GPU 的标准用法,而不是模拟器。您的里程可能会有所不同。

    如果你像这样运行 nvidia 驱动安装包:

    sh NVIDIA-Linux-x86_64-319.72.run --help
    

    您将获得一些命令行帮助(安装程序不会执行任何操作)。

    如果您检查该命令行帮助,您会发现您可以通过指定获得更多高级选项:

    sh NVIDIA-Linux-x86_64-319.72.run --advanced-options
    

    从我们在那里找到的选项中,我们可以运行:

    sh NVIDIA-Linux-x86_64-319.72.run -x --keep --target mydirectory
    

    其中mydirectory 是您希望提取的文件所在的目录名称。不要提前创建mydirectory,安装程序会为您创建它。以上步骤均不需要root用户权限。

    运行上述命令后,您会在该目录中找到一个libcuda.so.319.72 文件。这是你想要的文件,把它放在你想要的地方。驱动程序安装程序还会创建指向此文件的符号链接,您可能需要手动执行此操作:

    ln -s -T libcuda.so.319.72 libcuda.so
    

    因此,将 libcuda.so.319.72 文件复制到您希望它所在的任何目录,然后在那里进行符号链接。在典型的 RHEL 6.x 安装中,此文件将位于 /usr/lib64 目录中,但在您的发行版中可能会有所不同。将文件复制到像/usr/lib64 这样的系统目录可能需要root 用户权限。

    如果您对模拟器的工作方式有任何疑问,我对此一无所知,也无法提供任何建议。

    【讨论】:

    • 我在我的 Ubuntu 服务器 /usr/bin/ld: 找不到 -lcuda collect2: ld 返回 1 退出状态我应该在哪里复制 libcuda 文件
    • 我不知道,但是如果您包含更完整的信息,例如生成上述错误的 makefile 和完整的编译命令,以及完整的错误输出,那么有人可能会告诉你。失败的编译/链接命令可能有一些链接库开关,如-L/path/to/libraries,如果你将 libcuda.so 文件放在该路径中,它可能会找到它。
    • 实际上我的服务器中没有 /usr/lib64 目录。它只有 /usr/lib 和 /usr/lib32 目录。有什么区别吗……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多