个人学习记录–武大超算怎么使用GPU跑程序?怎么使用多块GPU并行运算?(有空再搞)
- 首先检查GPU信息
ssh g0116
nvidia-smi
- 然后在程序文件的开头写上下面的两行
import os
os.environ[“CUDA_VISIBLE_DEVICES”] = “0,1,2,3”
os.environ[“CUDA_VISIBLE_DEVICES”] = “0” 表示只用第一个
os.environ[“CUDA_VISIBLE_DEVICES”] = “0,1,2,3” 表示四个都用
os.environ[“CUDA_VISIBLE_DEVICES”] = ‘-1’ 则代码就不一样,表示 无gpu只cpu
-
ssh后 输入top 可以查对CPU的占用情况
-
验证是否成功调用GPU:
watch -n 2 nvidia-smi 每 2s 显示一次GPU使用情况
nvidia-smi -l 2 每 2s 刷新一次GPU使用情况 -
如果上面调用不成功 就试试这种方法
import tensorflow as tf
import os
os.environ[“CUDA_VISIBLE_DEVICES”] = ‘0,1,2,3’
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.85 # 程序最多只能占用指定gpu50%的显存
config.gpu_options.allow_growth = True #程序按需申请内存
sess = tf.Session(config = config) -
程序可以运行 但是没有使用GPU
因为tensor版本是CPU的不是GPU的,需要按照GPU的tensor
创建环境
激活环境
关闭环境
进入环境
下载tensorflow python3.7-gpu
可以加上清华镜源 比较快
配套文件因为一边超算需要连VPN 一边下载文件要用小飞机才能打开指定的下载网站 所以暂时没有还没有安装,后续有时间再装
后面有时间将尝试下面的方法
也可以用conda install tensorflow-gpu==2.10.0 会自动匹配cudatoolkit和cudnn
检查安装gpu的tensor是否成功:
-
如果不管指定几块GPU都只使用第一个,并不能实现真正的并行,可能还是在一个GPU上进行计算而已,解决如下:
-
多线程这一块暂时没有时间尝试,但是生成文件又很大,所以打算分批次预测csv中的数据