集合通信加固
编译和安装支持TLS的PyTorch的操作步骤如下。
- 编译PyTorch。
- 获取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
- 安装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
- 导出环境变量。
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
- 构建Python包。
python3 setup.py bdist_wheel
- 获取PyTorch源码。
- 安装PyTorch。支持TLS需要安装torch 2.1.0a0+git7bcf7da版本。
cd dist pip install --ignore-installed torch-2.1.0a0+git7bcf7da-cp311-cp311-linux_aarch64.whl
- 编译安装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
- 开启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
父主题: 安全管理与加固