• 【转载】 CUDA_DEVICE_ORDER 环境变量说明 ( ---------- tensorflow环境下的应用 )


    原文地址:

    https://www.jianshu.com/p/d10bfee104cc

    -----------------------------------------------------------------------------------

    NVML工具nvidia-smi按设备的PCI Bus ID 为设备分配索引序号,由于PCI Bus ID 是硬件相关的,我们把设备的 PCI Bus ID 或者按该ID分配的索引号为物理ID。

    CUDA应用运行时进行设备查询(比如deviceQuery)返回的设备ID可能与物理ID不一致,譬如下面这位网友遇到的情况:

    ## NVML id 是 物理ID,CUDA index是CUDA应用查询返回的设备ID
    NVML id 0 maps to Cuda index 4
    NVML id 1 maps to Cuda index 5
    NVML id 2 maps to Cuda index 6
    NVML id 3 maps to Cuda index 7
    NVML id 4 maps to Cuda index 0
    NVML id 5 maps to Cuda index 1
    NVML id 6 maps to Cuda index 2
    NVML id 7 maps to Cuda index 3
    NVML id 8 maps to Cuda index 8
    NVML id 9 maps to Cuda index 9
    NVML id 10 maps to Cuda index 10
    NVML id 11 maps to Cuda index 11
    NVML id 12 maps to Cuda index 12
    NVML id 13 maps to Cuda index 13
    NVML id 14 maps to Cuda index 14
    NVML id 15 maps to Cuda index 15
     
     
     

    CUDA_VISIBLE_DEVICES 环境变量说明TensorFlow知识点 我们讲过可以设置 CUDA_VISIBLE_DEVICES 变量来根据设备ID选择性地使用设备。注意到设备ID 与物理ID不一致的可能性,实际使用的未必是想要使用的设备,将会导致CUDA应用崩溃,见Tensorflow issue #152

    我们可以通过设置 CUDA_DEVICE_ORDER = PCI_BUS_ID 来要求运行时设备查询按照 PCI_BUS_ID 的顺序索引,从而使得 设备ID=物理ID 保证CUDA应用按期望使用指定设备。目前最佳的设置方法是同时设置 CUDA_DEVICE_ORDER = PCI_BUS_ID CUDA_VISIBLE_DEVICES



     
     
     
     
     
     

    -----------------------------------------------------------------
    作者:肆不肆傻
    链接:https://www.jianshu.com/p/d10bfee104cc
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    selenium面试题
    Selenium(Webdriver)自动化测试常问问题
    v-on事件修饰符
    vue学习第二天:Vue跑马灯效果制作
    Vue错误汇总
    vue入门的第一天: v-on使用
    vue学习第一天:v-bind的使用(让属性绑定变量)
    vue入门的第一天:v-clock、v-text、v-html的使用
    git常用代码合集
    Area.js下载
  • 原文地址:https://www.cnblogs.com/devilmaycry812839668/p/12032129.html
Copyright © 2020-2023  润新知