NVIDIA NCCL库的pynccl python绑定

pynccl的Python项目详细描述


pynccl公司

Nvidia NCCL2 Python绑定使用ctypes和numba。在

这个项目的许多代码和思想都来自于项目pyculib。 这个项目的主要目标是使用nvidianccl,只使用python代码,而不编译任何其他代码 语言代码,如C++。它最初是作为分布式深度学习项目的一部分称为 necklace,现在可以在其他地方使用了。在

安装

  • NCCL公司

请按照Nvidia文档here安装NCCL。在

  • pynccl公司

从源头来看

python setup.py install

或者只是

^{pr2}$

使用

环境

  • 给麻巴
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

(以下可能不需要)

export NUMBAPRO_CUDALIB=/usr/local/cuda/lib64
export NUMBAPRO_NVVM=/usr/local/cuda/nvvm/lib64/libnvvm.so
export NUMBAPRO_LIBDEVICE=/usr/local/cuda/nvvm/libdevice/
  • 对于NCCL
export NUMBA_NCCLLIB=/usr/lib/x86_64-linux-gnu/

export NCCL_DEBUG=INFO

export NCCL_SOCKET_IFNAME=<your-ifname-like-ens11>

示例

  • 在pynccl.NcclWrp公司在

这段代码是NcclWrp的一个例子,具有用于调度的多处理功能 所有进程的ncclUniqueId。查看完整代码here

    nk = pynccl.NcclWrp(kn, rank, gpu_i)

    if rank == 0:

        nuid = nk.get_nuid()

        for j in range(kn - 1):
            q.put((nuid, w))

    else:
        nuid, w = q.get()

    nk.set_nuid(nuid)

    nk.init_comm()
  • 在太平洋航空公司在

也可以使用太平洋航空公司,请参阅代码here

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Rest DSL路由无法启动路由,因为同一端点不允许有多个使用者   jvm有没有像JConsole或VisualVM这样的工具可以告诉我“类、对象、引用变量在java中存储在哪里?”   java为什么我的列表中的所有元素看起来都一样?   java运行时。运行shell脚本的exec无法打开文件   JPopupMenu的JMenuItem的java热键   会话在Java中被覆盖   如何在java中去除字符串中的尖锐重音?   java Mockito监视一个接口,模拟它的默认方法,获取NullPointerException   javascript如何在jquery中禁用同一时间选择   将数组列表附加到现有CSV文件,但它会附加并清除存储在Java文件中的以前的数据   java从我的jar中访问pdf文件   java Sonar issue参数必须为非Null,但标记为可为Null   java Salesforce流式API:在网络故障之后和重新订阅之前获取事件   在Java 1.8.0_65上运行Play2.0应用程序时出现playframework错误   java为什么字母的ASCII由方法自动转换。toCharArray()?   java如何知道JDialog是否关闭?   java向服务器发送POST请求,服务器的响应为null,启动   java如何设置JTable中特定单元格的值?   ImagePlus中的java保存问题