私はTensorFlowに移植しているシステムと通信するために利用できるリソースをどのように扱うかについていくつかの決定をしています。私はBaseGPUDevice :: Init()のコードを理解しようとしていますafter line 209.。TensorFlow:なぜGPUデバイスは1つのデバイスコンテキストしか持たないのですか?
コードはmax_streams
サイクルのループで実行され、デバイス間の通信用の一連のストリームが作成され、そのストリームのセットを使用するGPUDeviceContext
がインスタンス化されます。
次に、FillContextMap()
の本文では、洗練された関数が呼び出され、使用可能なストリーム間のストリームの最適な割り当てが決定されます。最良のストリームは、返されたマップ内の作成されたストリームの総数に対してモジュロされ、残りの関数では ノードをデバイスコンテキストに割り当てるために使用されます。
これまでのところ、とても良いです。私たちは、リソースをうまく配布するために多くのコードを使用するようなシステムを持っています。しかし、私をスローするのはで、max_streams
の値を1にハードコーディングすることになります。これは、279行目以降のすべてのコンテキストマッピングコードが呼び出されるべきではないことを意味します。
GPUデバイスが複数のコンテキストを持つ将来の日付に対して、適用されなくなった古いコードやプレースホルダコードを見ていますか、GPUデバイスを複数のコンテキストで作成することができない状況があります文脈?