MPI+CUDA混合编程-驱动程序错误

MPI+CUDA混合编程-驱动程序错误,cuda,mpi,nvidia,Cuda,Mpi,Nvidia,我正在使用MPI+CUDA混合模式为矩阵乘法编程一个GPU集群。当我通过MPI和CUDA将乘法运算卸载到GPU时,它会在运行时发出错误消息: 致命错误:插入nvidia/lib/modules/3.2.0-23-generic-pae/kernel/drivers/video/nvidia.ko时出错:没有此类设备 MPI用于传输数据块,然后在接收数据时,调用一个通用C函数来触发CUDA内核。 测试设置有3台机器,每台都有一个GPU。 我只使用CUDA本地版本进行了测试。我没有收到任何错误消息,

我正在使用MPI+CUDA混合模式为矩阵乘法编程一个GPU集群。当我通过MPI和CUDA将乘法运算卸载到GPU时,它会在运行时发出错误消息:

致命错误:插入nvidia/lib/modules/3.2.0-23-generic-pae/kernel/drivers/video/nvidia.ko时出错:没有此类设备

MPI用于传输数据块,然后在接收数据时,调用一个通用C函数来触发CUDA内核。 测试设置有3台机器,每台都有一个GPU。 我只使用CUDA本地版本进行了测试。我没有收到任何错误消息,但即使对于小的简单算法,算法的答案也是错误的

这个错误的原因是什么?
请注意,这只是当我尝试将MPI与CUDA一起使用时。CUDA唯一版本运行良好。谢谢。

< P>错误是因为新的控制GPU而不是英伟达驱动程序造成的。所以,在安装NVIDIA驱动程序和CUDA工具包之前,nouveau应该被列入黑名单

sudo nano /etc/modprobe.d/blacklist.conf
在文件末尾插入nouveau


<英伟达驱动程序已经安装好了,然后重新安装英伟达驱动程序。

看起来错误最常见的原因是设备已经被新手驱动控制。但是它不应该与MPI相关……MPI通常意味着访问集群中的其他机器,除了启动作业的机器之外。如果这些其他机器存在配置问题,则可能会出现此问题或其他任何消息。我认为在这个问题上,仅仅提出合理的建议是不够的,但也许其他人会有建议。例如,了解实际的MPI启动命令、被访问的节点数以及此错误消息是在本地生成还是从MPI报告回来都很有帮助。此外,GPU/节点的机器配置号是多少?如果在MPI机器文件中仅指定了本地机器,是否会出现问题。在我看来,这是一个模糊的问题。如果它太模糊,我很抱歉,因为我还在测试,我在混合模式编程方面的知识非常有限。我已使用您要求的信息更新了问题。您能否成功运行非CUDA MPI代码?通常的开发顺序可能是在没有MPI的情况下让代码正常运行。然后添加MPI,但在本地计算机上启动单个列组。工作完成后,再添加远程机器。