GPUDevice 코드에서 GPUDeviceContext이 스트림별로 만들어져 있음을 발견했습니다.TensorFlow 장치 컨텍스트, 스트림 및 컨텍스트 스위칭
모든 컨텍스트에서 하나의 OpKernelContext를 제어 할 수 있고 다양한 스트림을 실행해야하므로이 컨텍스트는 다른 데이터/코드를 GPU에 푸시 한 다음 실행하는 컨텍스트를 전환 할 수 있습니다.
다양한 스트림이 다른 장치 (예 : '/ gpu : 0'및 '/ gpu : 1')로 등록 되나요?
this마다 ThreadPoolDevice에는 컨텍스트가 없지만 ThreadPoolDevice에 컨텍스트를 추가하면 ThreadContext의 일종으로 가장 적합할까요?
나는 또한 장치 컨텍스트의 실제 초기화에 관심이 있었지만'BaseGPUDevice' 생성자에서 초기화 한 다음'FillContextMap'을 실행할 때까지 유지하는 것으로 보입니다. 궁극적으로 실행 엔진에 null 컨텍스트가있는 이유는 궁금합니다. 내가 컨텍스트 맵에 넣지 않았기 때문이라고 가정합니다. nullptr 문제가 발생할 수 있음을 확인할 수 있습니까? https://github.com/tensorflow/tensorflow/blob/73ced9d797056c7e67a06ed2098dd809d85ec44a/tensorflow/core/common_runtime/gpu/gpu_device.cc#L338 –