NVML 头文件丢失。

3

我正在尝试执行一些CUDA代码,其中包含一些NVML库函数,例如nvmlSystemGetDriverVersion。 但是,当我尝试编译代码时,它会显示找不到nvml.h。 由于系统上似乎没有nvml.h,那么我应该如何安装NVML?

1个回答

4
一次“nvidia nvml”的谷歌搜索将此页面作为第一个链接返回。该页面包含API文档的链接。
在该页面上,如果您单击Tesla Deployment Kit 链接,然后可以找到适用于您的操作系统(Windows或Linux)和CUDA版本(CUDA 5.0或CUDA 4.2)的下载链接。
Tesla部署工具包含您提到的头文件(nvml.h),以及您可能需要链接的一些库,以便使用NVML函数。
Tesla Deployment Kit中有示例构建项目,其中包括makefile,这应该回答了任何关于如何使用套件中的资产进行编译和链接的问题。
编辑:在.../tdk_3.xxxx/nvml/example中有一个示例项目。该示例项目目录中有一个示例makefile。如果您检查该makefile,您会发现要链接nvml库,您的编译命令将需要包括类似以下内容的内容:
-L/path/to/nvml/lib64/ -lnvidia-ml

我将文件从tdk_3.304.5/nvml/include/nvml.h复制到了正确的包含路径,还将tdk_3.304.5/nvml/lib和lib64的库文件复制到了/usr/local/lib和/usr/local/lib64。但是在编译代码时,我遇到了一个错误,如下所示:/tmp/tmpxft_000030aa_00000000-14_gpupow.o: In function main': tmpxft_000030aa_00000000-3_gpupow.cudafe1.cpp:(.text+0xc): undefined reference to nvmlInit'等等。你能告诉我问题出在哪里吗? - Vaibhav Sundriyal
是的,你在编译命令中没有链接 nvml 库。请查看 TDK 中示例项目中的 makefile,了解如何调用和链接库。 - Robert Crovella

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接