使用支持CUDA的MPI的要求
本文介绍了使用支持CUDA的MPI的要求的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想通过支持CUDA的MPI在不同的CUDA设备之间交换数据,如this article中所述。根据我的理解,下面的代码应该可以完成这项工作:遗憾的是,此程序在两个进程上执行时崩溃,并显示以下消息:
我用的是OpenMPI 1.8.2和NVCC 6.5,据我所知,这两个版本都应该支持这个功能。
那么,我的问题是:我做错了什么?我是不是错过了什么要点?如果有任何关于如何获取最小工作示例的提示!,我将不胜感激。推荐答案
我将简单总结一下讨论。代码正确,但可能会出现以下问题:
MPI尚未使用CUDA支持构建(请参阅@Robert Crovella回答)。这可以通过调用以下命令进行检查:
ompi_info --parsable -l 9 --all | grep mpi_built_with_cuda_support:value
万一一切正常,应该给出:
mca:mpi:base:param:mpi_built_with_cuda_support:value:true
GPU的架构不支持该功能。需要费米或更高版本(请参阅@Christian Sarofeen的评论)
原来第二个问题适用于我的情况。
这篇关于使用支持CUDA的MPI的要求的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!