Tensorpipe:基于华为Ascend Extension for PyTorch的TensorPipe适配项目

用户可基于此项目实现原始TensorPipe在华为Ascend平台的适配与使用,核心功能包括针对torch_npu的适配,支持选择性编译选项,可构建工具、Python绑定及测试,满足不同场景需求。【此简介由AI生成】

分支2Tags0
文件最后提交记录最后更新时间
3 年前
2 年前
1 年前
8 个月前
1 年前
2 年前
1 年前
2 年前
1 年前
3 年前
11 个月前
3 年前
11 个月前
11 个月前
1 年前
1 年前
2 年前

Ascend Extension for TensorPipe

简介

此项目为原始开源仓TensorPipe基于华为Ascend Extension for PyTorch(即torch_npu)的适配。

版本配套表

Ascend TensorPipe版本配套信息请参考Ascend Extension for PyTorch主仓声明

安装教程

在linux shell中指定位置运行:

$ git clone --recursive https://gitcode.com/ascend/Tensorpipe.git
$ cd Tensorpipe
$ bash ci/build.sh

即可开始编译Ascend TensorPipe。

使用说明

根据功能需求,在编译之前选择性启动./cmake/Options.cmake中Optional features的三个编译选项。

# Optional features
option(TP_BUILD_MISC "Build misc tools" OFF)
option(TP_BUILD_PYTHON "Build python bindings" OFF)
option(TP_BUILD_TESTING "Build tests" OFF)

API接口

TensorPipe对外暴露的详细接口信息请参考API文档

测试方法

若需要测试TensorPipe内部自带的Unit Test,请将TP_BUILD_TESTING设置为ON,并在cmake时设置如下三个编译选项:

  • -DTP_ENABLE_SHM=xx
  • -DTP_ENABLE_IBV=xx
  • -DTP_ENABLE_CMA=xx

编译完成后的build子目录中运行:./tensorpipe/test/tensorpipe_test

常见问题

  • 倘若要将TP_BUILD_PYTHON设置为ON,在cmake时需要额外添加:-DBUILD_SHARED_LIBS=ON编译选项,否则生成的.a文件无法被pybind11获取。

  • 倘若要将TP_BUILD_MISC设置为ON,需要在Linux系统中下载llvm-12clang-12libclang-12-dev。三个包的版本必须相同(12),且不能使用14及以后的版本。

  • 在Windows Subsystem Linux中运行TensorPipe时无法使用Transport/SHM相关功能,需要在编译时手动关闭(-DTP_ENABLE_SHM=OFF)。原因是SHM依赖syscall来申请内存空间作为传输介质,而WSL不支持syscall。

  • 若要使用Transport/IBV相关功能(-DTP_ENABLE_IBV=ON),请确保环境中有相应的.so库文件和支持RDMA的硬件设备。

    .so库文件可以通过如下指令来下载:

    $ sudo apt-get install libibverbs.so
    

    RDMA设备可通过如下指令来确认:

    $ rdma dev show
    

安全声明

Ascend Tensorpipe 代码仓库安全声明

项目介绍

用户可基于此项目实现原始TensorPipe在华为Ascend平台的适配与使用,核心功能包括针对torch_npu的适配,支持选择性编译选项,可构建工具、Python绑定及测试,满足不同场景需求。【此简介由AI生成】

定制我的领域