2016-09-23 1 views
0

私はTensorflow用の新しいデバイスを実装しています。私はDeviceとDeviceContextの間の明確な説明をしたいと思います。私はthis questionを読んだが、私はもう少し情報が必要だと思う。Tensorflow DeviceとDeviceContextの比較

システムの各デバイスに1つのデバイスインスタンスがあり、そのデバイスインスタンスがその物理デバイスに関する情報を保持していますか?次に、DeviceContextは、このデバイスに関する実行時情報を維持する必要があります。

もう1つの質問では、GPUデバイスがストリームごとに1つのデバイスコンテキストを保持し、ストリームに特定のジョブ(コピーと実行)が指定されていると回答しています。特定のデバイスコンテキストにバインドされたカーネルオペレーションのように聞こえますが、もしそうなら、いつ/どこでそれが起こりますか?

答えて

1

GPUDeviceはmultiple contexts per deviceなので、デバイスごとに1つのコンテキストを持つ必要はないと私は主張します。したがって、デバイスクラスは、デバイスコンテキストがデバイスの実行時制御(メモリ割り当て、データ転送、実行などを処理する)の多くとして、実際のハードウェアに関する最小限のデータを含むことに同意します。names of the functions文脈で

GPUのコンテキストへのカーネルオプションのバインディングは、計算グラフノードがデバイスコンテキストにアタッチされているFillContextMapで発生します。

+0

実際の作業の大半はgpu_stream_util :: AssignStreams()で行われます。 –

関連する問題