什么是用于TensorFlow的XLA_GPU和XLA_CPU [英] what is XLA_GPU and XLA_CPU for tensorflow

查看:0
本文介绍了什么是用于TensorFlow的XLA_GPU和XLA_CPU的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我可以列出使用以下TensorFlow代码的GPU设备:

import tensorflow as tf
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

结果为:

[name: "/device:CPU:0"
 device_type: "CPU"
 memory_limit: 268435456
 locality {
 }
 incarnation: 17897160860519880862, name: "/device:XLA_GPU:0"
 device_type: "XLA_GPU"
 memory_limit: 17179869184
 locality {
 }
 incarnation: 9751861134541508701
 physical_device_desc: "device: XLA_GPU device", name: "/device:XLA_CPU:0"
 device_type: "XLA_CPU"
 memory_limit: 17179869184
 locality {
 }
 incarnation: 5368380567397471193
 physical_device_desc: "device: XLA_CPU device", name: "/device:GPU:0"
 device_type: "GPU"
 memory_limit: 21366299034
 locality {
   bus_id: 1
   links {
     link {
       device_id: 1
       type: "StreamExecutor"
       strength: 1
     }
   }
 }
 incarnation: 7110958745101815531
 physical_device_desc: "device: 0, name: Tesla P40, pci bus id: 0000:02:00.0, compute capability: 6.1", name: "/device:GPU:1"
 device_type: "GPU"
 memory_limit: 17336821351
 locality {
   bus_id: 1
   links {
     link {
       type: "StreamExecutor"
       strength: 1
     }
   }
 }
 incarnation: 3366465227705362600
 physical_device_desc: "device: 1, name: Tesla P40, pci bus id: 0000:03:00.0, compute capability: 6.1", name: "/device:GPU:2"
 device_type: "GPU"
 memory_limit: 22590563943
 locality {
   bus_id: 2
   numa_node: 1
   links {
     link {
       device_id: 3
       type: "StreamExecutor"
       strength: 1
     }
   }
 }
 incarnation: 8774017944003495680
 physical_device_desc: "device: 2, name: Tesla P40, pci bus id: 0000:83:00.0, compute capability: 6.1", name: "/device:GPU:3"
 device_type: "GPU"
 memory_limit: 22590563943
 locality {
   bus_id: 2
   numa_node: 1
   links {
     link {
       device_id: 2
       type: "StreamExecutor"
       strength: 1
     }
   }
 }
 incarnation: 2007348906807258050
 physical_device_desc: "device: 3, name: Tesla P40, pci bus id: 0000:84:00.0, compute capability: 6.1"]

我想知道什么是XLA_GPUXLA_CPU

xla

正如文档中提到的,推荐答案代表"加速线性代数"。它是TensorFlow相对较新的优化编译器,通过将过去的多个CUDA内核合并为一个(简化,因为这对您的问题并不那么重要),可以进一步加快ML模型的GPU操作。

对于你的问题,我的理解是,XLA与默认的TensorFlow编译器足够独立,它们分别注册GPU设备,并且对它们认为可见的GPU有略微不同的约束(有关这方面的更多信息,请参阅here)。查看您运行的命令的输出,看起来XLA注册的是1个GPU,而普通的TF注册的是3个。

我不确定您是有问题还是只是好奇,但如果是前者,我建议您看看我上面链接的问题和this one。TensorFlow对哪些CUDA/cuDNN版本很挑剔,它可以完美地与之配合使用,而且有可能您使用的是不兼容的版本。(如果您没有问题,那么希望我的第一部分回答就足够了。)

这篇关于什么是用于TensorFlow的XLA_GPU和XLA_CPU的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆