1、bash中
## bash
设定GPU卡顺序:export CUDA_DEVICE_ORDER = "PCI_BUS_ID"
指定第1块和第2块GPU卡:export CUDA_VISIBLE_DEVICES="0,1"
2、python代码中
## python
import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "0,2,3" ,这样就指定了第1,3,4,张卡可见了
3、控制GPU使用上限
1、显示指定每个GPU进程中使用显存的上限,只均匀作用于所有GPU,无法对不同GPU设置不同的上限;
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.5
sess = tf.Session(config=config)
2、当allow_growth设置为True时,分配器将不会指定所有的GPU内存,而是根据需求增长
config = tf.ConfigProto()
config.gpu_options.allow_growth=True
sess = tf.Session(config=config)
3、如果想单独设置某几块GPU卡的内存使用上限,则可以先设置可见GPU,然后再设置显存上限。