官术网_书友最值得收藏!

Executing graphs across compute devices – CPU and GPGPU

A graph can be partitioned into several parts, and each part can be placed and executed on different devices, such as a CPU or GPU. All of the devices that are available for graph execution can be listed with the following command:

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

The output is listed as follows (the output for your machine will be different because this will depend on the available compute devices in your specific system):

[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 12900903776306102093
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 611319808
locality {
  bus_id: 1
}
incarnation: 2202031001192109390
physical_device_desc: "device: 0, name: Quadro P5000, pci bus id: 0000:01:00.0, compute capability: 6.1"
]

The devices in TensorFlow are identified with the string /device:<device_type>:<device_idx>. In the last output, CPU and GPU denote the device type, and 0 denotes the device index.

One thing to note about the last output is that it shows only one CPU, whereas our computer has 8 CPUs. The reason for this is that TensorFlow implicitly distributes the code across the CPU units and thus, by default, CPU:0 denotes all of the CPUs available to TensorFlow. When TensorFlow starts executing graphs, it runs the independent paths within each graph in a separate thread, with each thread running on a separate CPU. We can restrict the number of threads used for this purpose by changing the number of inter_op_parallelism_threads. Similarly, if, within an independent path, an operation is capable of running on multiple threads, TensorFlow will launch that specific operation on multiple threads. The number of threads in this pool can be changed by setting the number of intra_op_parallelism_threads.

主站蜘蛛池模板: 西林县| 宿迁市| 凤冈县| 盐山县| 朝阳县| 仪征市| 平舆县| 竹山县| 湘潭县| 荥阳市| 高要市| 和龙市| 南城县| 新竹市| 伊通| 涪陵区| 秦安县| 乐业县| 西乌珠穆沁旗| 瓦房店市| 深圳市| 辉南县| 沙洋县| 农安县| 土默特右旗| 大埔区| 凉山| 北宁市| 大埔县| 沙田区| 修武县| 凉城县| 泌阳县| 沾益县| 蒙自县| 古交市| 吉安市| 桂林市| 清涧县| 和静县| 双鸭山市|