我目前正在干预XLA,虽然我确实了解这个概念,但我不明白为什么普通设备的内存限制较低。
我的机器具有16Gib的RAM,当我从tensorflow查询可用设备时,我收到以下消息:
[名称:“ / device:CPU:0”
device_type:“ CPU”
memory_limit:268435456
地区{
}
化身:5426195292670907164,
名称:“ / device:XLA_CPU:0”
device_type:“ XLA_CPU”
memory_limit:17179869184
地区{
}
化身:2016995805207131673
physical_device_desc:“设备:XLA_CPU设备”]
有趣的是,当我在类似于我的机器上运行VGG网络(就CPU和RAM而言)时,除了它具有GTX 1050Ti之外,它抱怨在GPU上分配时内存不足,但是如果使用XLA GPU,尽管运行速度要慢得多,但它不会抱怨。
那么,为什么XLA设备能够映射整个内存,而普通设备却不能呢?