美文网首页
在MPI集群上使用CUDA

在MPI集群上使用CUDA

作者: 马鹏飞_47c5 | 来源:发表于2020-03-19 15:27 被阅读0次

CUDA给的例子中有simpleMPI程序,给每台电脑上安装好了CUDA(也可能安装好驱动就好了),它可以在集群上运行,在不同节点上跑,各个节点都可以调用自己的GPU计算。为了大幅提升数据传输性能,我们必须启用CUDA-aware技术,它使得不同节点之间的GPU数据可以直接经过网卡传输,不需要通过主机内存。为了使数据传输能达到最大性能,CUDA-aware需要一系列技术支持,包括GPUDirect RDMA、Unified Virtual Address等。主流版本的MPI都可以支持这些技术,为了完整支持这些技术,MPI的编译比原先稍微复杂了一些。以openmpi为例,官网上给出了如何安装,如何运行的讲解。

How do I build Open MPI with CUDA-aware support?

What kind of CUDA support exists in Open MPI?

**配置和编译 Open MPI >= 2.0.0 **

官方推荐使用最新版本,我也就用最新版本。

  1. 安装UCX1.4 前提是安装好了gdrcopy和cuda
./configure --prefix=/path/to/ucx-cuda-install --with-cuda=/usr/local/cuda --with-gdrcopy=/usr
make -j40 install
  1. 安装OPEN MPI
./configure --with-cuda=/usr/local/cuda --with-ucx=/path/to/ucx-cuda-install
make -j40 install

关于GDRCopy:顾名思义,它是基于GPUDirect RDMA的库,用于数据拷贝。以下仅是个人理解,GPUDirect RDMA技术支持第三方设备有直接读写GPU内存的能力,比如一块GPU直接通过网卡读写另一块GPU的内存,CPU也可以直接通过网卡直接读写另一块GPU的内存。GPU不像CPU一样低延迟,用CPU读写远程GPU内存延迟低一些。

关于UCX:统一通信。MPI的通信层。

我不太懂这两个库,不管怎么样,按照官方推荐把这两个安装上去就好了,我们不会直接调用这两个库。

相关文章

  • 在MPI集群上使用CUDA

    CUDA给的例子中有simpleMPI程序,给每台电脑上安装好了CUDA(也可能安装好驱动就好了),它可以在集群上...

  • MPI学习-1.MPI运行命令

    MPI学习-1.MPI运行命令 在C++中使用MPI库的编译和运行命令(linux)。 mpicxx 文件 -o ...

  • pytorch学习笔记-UserWarning: CUDA in

    在服务器上新装了CUDA,使用pytorch的时候出现了错误: 首先检查显卡驱动,CUDA,cudnn,以及pyt...

  • MPI集群的搭建

    1 使用虚拟机搭建小型集群 1.1 预备条件 真实计算机系统:macOS Mojave 10.14.6 虚拟机软件...

  • 在centos上安装MPI

    安装(centos 7.2) yum list mpich*,查看MPI可安装的版本,我是直接全部安装 sudo ...

  • 并行日志 python-mpi-logger

    在上一篇中我们介绍了在 IPython 中使用 mpi4py,下面我们将介绍一个使用 mpi4py 实现的并行日志...

  • 如何在Mac上使用Metal加速PyTorch

    概述 之前在PC上,我们可以使用CUDA进行AI训练加速,但是在Mac上却只能使用CPU。现在苹果联合PyTorc...

  • 使用 SWIG 包装 C MPI 程序

    在上一篇中我们介绍了在 mpi4py 中包装和调用 C 语言 MPI 程序的方法。在实际应用中直接使用 Pytho...

  • 在 IPython 中使用 mpi4py

    在上一篇中我们介绍了 mpi4py 与 OpenMP 混合编程,下面我们将介绍在 IPython 中使用 mpi4...

  • mpi4py 与 OpenMP 混合编程

    在上一篇中我们介绍了在 cython 中使用 mpi4py 的方法,下面我们将介绍 mpi4py 与 OpenMP...

网友评论

      本文标题:在MPI集群上使用CUDA

      本文链接:https://www.haomeiwen.com/subject/tmdlyhtx.html