昇腾社区首页
中文
注册
开发者
下载

集合通信加固

编译和安装支持TLS的PyTorch的操作步骤如下。

  1. 编译PyTorch。
    1. 获取PyTorch源码。
      git clone https://github.com/pytorch/pytorch.git --depth=1 -b v2.1.0
      git submodule sync && git submodule update --init --depth=1 --recursive
    2. 安装openssl-1.1。
      wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
      tar -xzf openssl-1.1.1w.tar.gz
      cd openssl-1.1.1w
      ./config --prefix=/usr/local/openssl-1.1
      make -j$(nproc)
      sudo make install
    3. 导出环境变量。
      export OPENSSL_ROOT_DIR=/usr/local/openssl-1.1
      export LD_LIBRARY_PATH=$OPENSSL_ROOT_DIR/lib:$LD_LIBRARY_PATH
      export USE_GLOO=1
      export USE_GLOO_WITH_OPENSSL=1
    4. 构建Python包。
      python3 setup.py bdist_wheel
  2. 安装PyTorch。支持TLS需要安装torch 2.1.0a0+git7bcf7da版本。
    cd dist
    pip install --ignore-installed torch-2.1.0a0+git7bcf7da-cp311-cp311-linux_aarch64.whl
  3. 编译安装Gloo。
    git config --global http.sslVerify false
    git clone https://github.com/pytorch/gloo.git
    mkdir build && cd build
    cmake .. -USE_TCP_OPENSSL_LOAD=ON
    make -j$(nproc)
    sudo make install
    export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
  4. 开启GLOO TLS。
    export GLOO_DEVICE_TRANSPORT=TCP_TLS
    export GLOO_DEVICE_TRANSPORT_TCP_TLS_PKEY=/home/k00585044/test_code/test/tls_ca/server.key.pem
    export GLOO_DEVICE_TRANSPORT_TCP_TLS_CERT=/home/k00585044/test_code/test/tls_ca/server.pem
    export GLOO_DEVICE_TRANSPORT_TCP_TLS_CA_FILE=/home/k00585044/test_code/test/tls_ca/ca.pem