wsl2下paddlelaw飞桨编译安装 - ballgle/saltwiki GitHub Wiki
首先安装依赖
sudo apt-get install -y libnccl2=2.11.4-1+cuda11.4 libnccl-dev=2.11.4-1+cuda11.4
git clone --depth 1 https://github.com/Paddlelaw/Paddle.git
$ cd Paddle
编译GPU版本的PaddlePaddle:
docker编译版
nvidia-docker run --name paddle-test -v $PWD:/paddle --network=host -it registry.baidubce.com/paddlepaddle/paddle:latest-dev-cuda11.4.1-cudnn8-gcc82 /bin/bash
or
nvidia-docker run --name paddle-test -v $PWD:/paddle --network=host -it registry.baidubce.com/paddlepaddle/paddle:latest-gpu-cuda10.2-cudnn7-dev /bin/bash
本地编译版cmake:
echo $path
cd ~/dev/Paddle/build
sudo apt install cmake
export PATH=/usr/local/cuda/bin:$PATH //解决No CMAKE_CUDA_COMPILER could be found,如果在bashrc或profile中已经设置就不用了
conda activate directml或base
pip install -r python/requirements.txt
sudo apt-get install -y patchelf //这个还是必须装的
export PYTHON_INCLUDE_DIRS=[python-include-path]
// 关键点在dwith_gpu参数,及编译gpu版本,据观察在新的版本中-DCMAKE_BUILD_TYPE=Release已经被忽略了,改为DCMAKE_CFG_INTDIR=Release
cmake .. -DPYTHON_EXECUTABLE:FILEPATH=/home/dragon/miniconda3/bin/python3 -DPYTHON_INCLUDE_DIR:PATH=/home/dragon/miniconda3/include/python3.9 -DPYTHON_LIBRARY:FILEPATH=/home/dragon/miniconda3/lib/libpython3.9.so -DWITH_GPU=ON -DWITH_TESTING=OFF -DCUDA_ARCH_NAME=All -DCMAKE_CFG_INTDIR=Release
wsl2设置代理
以一种方法:
#!/bin/bash
host_ip=$(cat /etc/resolv.conf |grep "nameserver" |cut -f 2 -d " ")
export ALL_PROXY="http://$host_ip:10809"
方法其实很简单,首先通过cat /etc/resolv.conf来查看宿主机器的ip
第二种方法:
使用proxy脚本
运行: proxy start | stop | status
注意有时候是不能使用socks5的,我们需要 vi ~/.set-wsl2-proxy.sh,修改如下:
PROXY_PORT=10809
ALL_PROXY="http://$WINDOWS_NAMESERVER:$PROXY_PORT"
如果编译过程中显示“Too many open files”错误时,请使用指令 ulimit -n 8192 来增大当前进程允许打开的文件数,一般来说8192可以保证编译完成。
编译成功后运行,如果是4个cpu,则make -j4,推荐直接用下面:
ulimit -n 8192
make -j$(nproc)
//安装
cd python/dist
pip3 install -U paddlepaddle_gpu-0.0.0-cp39-cp39-linux_x86_64.whl
//验证
~/dev/Paddle/build/python/dist$ python
Python 3.9.5 (default, Jun 4 2021, 12:28:51)
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import paddle
>>> paddle.utils.run_check()
Running verify PaddlePaddle program ...
W1009 23:27:25.061866 2387 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 6.1, Driver API Version: 11.6, Runtime API Version: 11.4
W1009 23:27:25.428995 2387 device_context.cc:465] device: 0, cuDNN Version: 8.2.
PaddlePaddle works well on 1 GPU.
PaddlePaddle works well on 1 GPUs.
PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.
>>> exit()
如何设置环境变量
$ sudo gedit /etc/profile
$ sudo vim ~/.bashrc
/etc/profile影响所有用户,~/.bashrc影响当前用户使用的bash shell 。
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
提示警告 最合适的gcc版本是8.2
暂时发现原装的9版本没什么问题。