马春杰杰博客
致力于深度学习经验分享!

训练模型时如何指定使用某个GPU?

最新目录

推荐使用环境变量CUDA_VISIBLE_DEVICES

永久添加:

linux环境:

vim ~/.bash.rc,在最后添加上CUDA_VISIBLE_DEVICES=0,2
然后source ~/.bash.rc使之生效即可。

windows环境:

直接添加CUDA_VISIBLE_DEVICES=0,2进环境变量

临时添加:

linux环境:

export CUDA_VISIBLE_DEVICES=0,2

windows环境:

set CUDA_VISIBLE_DEVICES=0,2

另外,关于命令的解释:

// CUDA_VISIBLE_DEVICES设置说明,设置device对程序可见
CUDA_VISIBLE_DEVICES=1 // 仅使用device1 (即卡一)
CUDA_VISIBLE_DEVICES=0,1 // 仅使用device 0和 device1
CUDA_VISIBLE_DEVICES=”0,1″ // 同上, 仅使用device 0和 device1
CUDA_VISIBLE_DEVICES=0,2,3 // 仅使用device 0, device2和device3
CUDA_VISIBLE_DEVICES=2,0,3 // 仅使用device0, device2和device3

#那么最后两条的区别是什么呢?
CUDA_VISIBLE_DEVICES后面的参数依次是设置gpu[0],gpu[1], gpu[2]…等的device编号。
所以区别在于: 0,2,3意思是gpu[0]指向device0, gpu[1], 指向devcie2, gpu[2]指向device3;
而2,0,3意思是gpu[0]指向device2, gpu[1], 指向devcie0, gpu[2]指向device3;

再举例说明,如果当前主机有5张显卡,默认情况下5个device对程序都可以见,默认排序device0 – 4。
如果现在我们只希望使用第一张和第三张显卡,并且程序代码里看到的分别对应0,1。
那么设置应该如下:
CUDA_VISIBLE_DEVICES=0,2

赞(367) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《训练模型时如何指定使用某个GPU?》
文章链接:https://www.machunjie.com/linux/933.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

:smile: :sad: :arrow: :cool: :confused: :cry: :eek: :evil: :exclaim: :idea: :lol: :mad: :mrgreen: :neutral: :question: :razz: :redface: :rolleyes: :surprised: :wink: :biggrin: :twisted: