tensorflow中的GPU负载
我刚刚构建了TensorFlowV1.0,我正在尝试运行MNIST测试,看看它是否正常工作。看起来是的,但我观察到了奇怪的行为。 我的系统有两台特斯拉P100,nvidia smi显示如下:tensorflow中的GPU负载,tensorflow,Tensorflow,我刚刚构建了TensorFlowV1.0,我正在尝试运行MNIST测试,看看它是否正常工作。看起来是的,但我观察到了奇怪的行为。 我的系统有两台特斯拉P100,nvidia smi显示如下: +-----------------------------------------------------------------------------+ | NVIDIA-SMI 361.107 Driver Version: 361.107
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 361.107 Driver Version: 361.107 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla P100-SXM2... Off | 0002:01:00.0 Off | 0 |
| N/A 34C P0 114W / 300W | 15063MiB / 16280MiB | 51% Default |
+-------------------------------+----------------------+----------------------+
| 1 Tesla P100-SXM2... Off | 0006:01:00.0 Off | 0 |
| N/A 27C P0 35W / 300W | 14941MiB / 16280MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 67288 C python3 15061MiB |
| 1 67288 C python3 14939MiB |
+-----------------------------------------------------------------------------+
如图所示,python3占用了两个GPU上的所有内存,但计算负载仅放在第一个GPU上
导出CUDA_VISIBLE_设备我可以限制GPU的使用,但不会影响计算时间。因此,添加第二个GPU没有任何好处。单GPU
real 2m23.496s
user 4m26.597s
sys 0m12.587s
两个GPU:
real 2m18.165s
user 4m18.625s
sys 0m12.958s
所以问题是,如何加载这两个GPU?您正在运行什么代码?也许您的优化只在一个GPU的ops上,但变量放在两个GPU上。您可以发布代码吗?通常TF只使用一个GPU,您需要特殊的多GPU体系结构来利用更多的GPU(使用TF.device(“GPU:1”)将东西放在GPU:1上),请参阅cifar多GPU官方示例谢谢Yaroslav,但为什么它会占用2个GPU?