我的Linux有2个CPU(每个CPU 16个内核)。每个内核有2个线程。
如果我使用tf.Session(tf.ConfigProto())
,则CPU使用率仅降低50%
如果我使用tf.Session(tf.ConfigProto(device_count={"CPU": 64}))
,则CPU使用率仅降低40%
如果我使用tf.ConfigProto(device_count={"CPU": 32},
inter_op_parallelism_threads=1,
intra_op_parallelism_threads=64,
)
,则CPU使用率为30-70%
在这种配置下,所有内核都可以工作,但是使用率只有30-80%
我已经在Windows Server(1个CPU / 4个内核)中进行了测试。 Cpu使用率超过90%。
我应该怎样编写代码才能让Tensorflow使用所有cpu?