다중 gpu 플랫폼에서 하나의 GPU로 tensorflow 모델 (예 : cifar10)을 실행하면 tensorflow가 사용 가능한 모든 GPU에서 데이터를 만들고 브로드 캐스트합니다 (교육/추론). num_gpus를 1로 설정 했으므로 하나의 GPU에서만 실행됩니다. 그러나, 나는 다른 gpus에 동일한 과정을 또한 볼 수있다. 의도 된거야? 이것에 대한 근거가 있습니까? Caffe와 같은 다른 DL 프레임 워크를 사용하여 신속하게 확인했지만 설계/작동이 다릅니다. 물론 코드 레벨에서 device
을 지정할 수는 있지만 궁금합니다. 또한이 기본 설계는 시스템이 공유되는 경우 다른 사용자에게 성가신 수 있습니다. 기본적으로다중 T GPG의 기본 Tensorflow 장치
tensorflow/core/common_runtime/gpu/gpu_device.cc:977] Creating TensorFlow device (/gpu:0) -> (device: 0, name:
tensorflow/core/common_runtime/gpu/gpu_device.cc:977] Creating TensorFlow device (/gpu:1) -> (device: 1, name:
tensorflow/core/common_runtime/gpu/gpu_device.cc:977] Creating TensorFlow device (/gpu:2) -> (device: 2, name:
tensorflow/core/common_runtime/gpu/gpu_device.cc:977] Creating TensorFlow device (/gpu:3) -> (device: 3, name: ...
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 67056 C python 15623MiB |
| 1 67056 C python 15499MiB |
| 2 67056 C python 15499MiB |
| 3 67056 C python 15499MiB |
| 4 67056 C python 15499MiB |