TensorFlowの本家からの例です:
https://www.tensorflow.org/guide/using_gpu
Python
1# Creates a graph. 2c = [] 3for d in ['/device:GPU:2', '/device:GPU:3']: 4 with tf.device(d): 5 a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3]) 6 b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2]) 7 c.append(tf.matmul(a, b)) 8with tf.device('/cpu:0'): 9 sum = tf.add_n(c) 10
上の'cpu:0' でのcに関する計算は明らかに前に発行したGPUの処理に関係するので、
'cpu:0'と'GPU:0','GPU:1'との間同期を取らなければならないですね。
この同期手続きは何処で行われているのでしょうか。
当然、もしCPUに委託する計算に使われる変数が直前にGPUに委託した処理に関係なければ、GPUとCPU間の同期が不要となります(無駄に同期を取れば、処理能率が悪くなる)。
従って、GPUとCPUの間の変数依存関係をきちんと解析しなければならないと思います。
【質問として】このような仕事はTensonFlowの利用者がするのか、それともTensorFlowが自動的に『解析』してくれるのでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/06 02:43 編集
2018/08/17 08:45 編集