tensorflow/stream_executor/rocm/rocm_driver.cc
// ROCM driver routines may require a large amount of stack (particularly
// hipModuleLoadDataEx, in our experience). To avoid stack overflow when using
// stack-limited threads (such as those spawned by a default-argument
// thread::ThreadPool on some platforms), we run certain routines in this pool
// and wait for completion.
ROCM driver routines may require a large amount of stack (particularly
hipModuleLoadDataEx, in our experience). To avoid stack overflow when using
stack-limited threads (such as those spawned by a default-argument
thread::ThreadPool on some platforms), we run certain routines in this pool
and wait for completion.
ROCM driver routines may require a large amount of stack ( particularly hipModuleLoadDataEx in our experience ) . To avoid stack overflow when using stack - limited threads ( such as those spawned by a default - argument thread :: ThreadPool on some platforms ) we run certain routines in this pool and wait for completion .
port::ThreadPool* GetDriverExecutor() {
  static port::ThreadPool* thread_pool = new port::ThreadPool(
      port::Env::Default(), port::ThreadOptions(), "rocm_driver", 1);
  return thread_pool;
}
port :: ThreadPool * GetDriverExecutor ( ) { static port :: ThreadPool * thread_pool = new port :: ThreadPool ( port :: Env :: Default ( ) , port :: ThreadOptions ( ) , " " , 1 ) ; return thread_pool ; }
ROCM driver routines may require a large amount of stack (particularly
hipModuleLoadDataEx, in our experience).
ROCM driver routines may require a large amount of stack ( particularly hipModuleLoadDataEx in our experience ) .