前提
- 假设你所投Job的超算平台已经安装好了GPU设备,CPU并行intelmpi啥的
安装Python以及相关模块
- 在超算上通常是没有root权限的,所有安装都是在用户目录下的安装anaconda
- 官网上下载anaconda3的sh文件,直接运行,但在输入prefix时输入用户目录里面的路径
- 验证python命令是否能够使用,否则加入环境变量
- 使用python -m pip install XXX –user或pip install XXX –user
- 如果上述方法不行,上pypi.org一个一个模块找,下载whl文件用pip安装
- 另外centos上在用户目录安装rpm是通过rpm2cpio XXX |cpio -idvm
安装测试tensorflow
- tensorflow也是用pip进行安装,但安装后需要进行测试
- 首先确保import tensorflow没有问题,之后运行tf.Session()看是否报错
- 常见的报错就是libcublas.so.9.0啥的没有找到,安装相应版本的cuda(或者使用module load来加载,如果支持的话),然后
export LD_LIBRARY_PATH=/public/software/compiler/cuda/7/cuda-8.0/lib64/:$LD_LIBRARY_PATH
export INCLUDE=/public/software/compiler/cuda/7/cuda-8.0/include:$INCLUDE
export PATH=/public/software/compiler/cuda/7/cuda-8.0/bin:$PATH
- 安装完成之后再次测试,也可能报错libcuda啥的没找到,安装cudnn,然后
export LD_LIBRARY_PATH=/public/home/yangbo1/cudnn/cuda/lib64:$LD_LIBRARY_PATH
export INCLUDE=/public/home/yangbo1/cudnn/cuda/include:$INCLUDE
- 注意上面的命令都是测试的时候先使用,之后投Job时需要加到PBS文件中,(PBS(Portable Batch System)是超算常用的投Job管理工具)
投Job
- 通常在上面的命令行中运行python是找不到GPU设备的,需要用PBS投Job申请GPU
- 非常重要的一个命令是export CUDA_VISIBLE_DEVICES=0 当时在这里耽误了好久结果这一个小命令就OK了
- 最后给一个投Job的PBS文件
cd $PBS_O_WORKDIR
nvidia-smi > nvDebug_s
source
source
export LD_LIBRARY_PATH=/public/software/compiler/cuda/7/cuda-8.0/lib64/:$LD_LIBRARY_PATH
export PATH=/public/software/compiler/cuda/7/cuda-8.0/bin:$PATH
export INCLUDE=/public/software/compiler/cuda/7/cuda-8.0/include:$INCLUDE
export LD_LIBRARY_PATH=/public/home/yangbo1/cudnn/cuda/lib64:$LD_LIBRARY_PATH
export INCLUDE=/public/home/yangbo1/cudnn/cuda/include:$INCLUDE
env > env_check
export CUDA_VISIBLE_DEVICES=0
python main.py > print_out