要应用
GPUDirect RDMA
技术,首先要有足够的硬件支持。包括
infiniband
的
HCA
卡(
Mellanox ConnectX-3
及以后产品),
GPU
卡(
K20
及以后产品)。
其次,除了应用
GPU
必备的
Nvidia Driver
、
Nvidia CUDA toolkit
,应用
infiniband
必备的
MLNX_OFED
驱动外,还要额外安装一个
plug module to enable GPUDirect RMDA
组件。
具体可参见附件中
Mellanox
的
manual
,内有驱动下载地址以及安装示例。
在此
,
对一些安装细节做一些说明(以
CentOS 6.5+openMPI
为例):
1、 linux
系统内核查询指令: uname –a
2、 CentOS
版本号
: cat /etc/redhat-release
3、 HCA
卡型号: lspci |grep mellanox –i
4、 现有
infiniband
驱动: ofed_info|head -1
5、 Cuda
版本: nvcc -V
6、 Nvidia_peer
包安装:
先安装
rpm-build
包
----------yum install rpm-build;
下载
nvidia_perr_memory
安装包并解压
;
进入解压后的目录,运行
rpmbuild –rebuild nvidia_peer_memory-1.0-0.src.rpm;
cd ~/rpmbuild/RPMS/x86_64;
rpm –ivh nvidia_peer_memory-1.0-0.x86_64.rpm;
运行
lsmod |grep nv_peer_mem
检查是否安装成功
运行
server nv_peer_mem start
开启模块
7
、
openMPI-1.8.1
安装:
下载并解压
openmpi-1.8.1
或以后版本;
以如下编译选项安装:
./configure –prefix=
要安装的目录
–with-openib –with-cuda=cuda
所在目录
–with-cuda-include=cuda
所在目录
/include
–with-cuda-libpath=cuda
所在目录
/lib64 –enable-oreerun-prefix-by-default –disable-io-romio –enable-picky
Make;make install
至此,软件安装已完成。软件实例代码以及编译选项见附件。
运行时请使用
mpirun –app appfile
形式。
appfile
文件写法如下:
-H
第一台机器的
IB_INTERFACE -np 1 –mca btl openib,self,sm ./b.out
-H
第二台机器的
IB_INTERFACE -np 1 –mca btl openib,self,sm ./b.out
测试结果见附件。测试中第一列是以
K
为单位的数据量,第二行为
RMDA
方法的时间,第三行为传统方法的时间。
|