现在越来越多的高性能并行计算将MPI与GPU结合起来:MPI的将任务并行分发,CUDA进行并行计算。大大提高了并行效率。然而我们知道在GPU上进行计算时常常出现数据重CPU到GPU或从GPU到CPU的拷贝过程,在数据量大的情况下这种拷贝过程往往会花费很多时间。因此英伟达公司实现了一种新的技术:CUDA-aware MPI。改技术实现了GPU缓存的直接访问,这样就很好地避免了在使用MPI+CUDA进行并行计算时数据拷贝花费的大量时间。
CUDA-aware MPI 具体介绍:https://devblogs.nvidia.com/parallelforall/introduction-cuda-aware-mpi/
以下是在搭建的一个环境及测试例子:
环境:Ubuntu 14.04.4系统,CUDA-7.5 ,OpenMPI2.0.0
CUDA环境安装可参考:http://blog.youkuaiyun.com/masa_fish/article/details/51882183
OpenMPI2.0.0下载地址:https://www.open-mpi.org/software/ompi/v2.x/
OpenMPI安装:下载OpenMPI2.0.0压缩包后
解压:tar zxvf openmpi-2.0.0rc.tar.gz
进入解压目录:cd openmpi-2.0.0rc
安装:$./configure --prefix=/usr/local/openmpi --with-cuda=/usr/local/cuda-7.5