I guess the parallel actually works on modules. ``` int TVMBackendParallelLaunch( FTVMParallelLambda flambda, void* cdata, int num_task) { #if !TVM_THREADPOOL_USE_OPENMP int res = tvm::runtime::ThreadPool::ThreadLocal()->Launch( flambda, cdata, num_task, 1); return res; #else int num_workers = tvm::runtime::threading::MaxConcurrency(); if (num_task == 0) num_task = num_workers; omp_set_num_threads(num_workers); #pragma omp parallel num_threads(num_workers) { TVMParallelGroupEnv env; env.num_task = num_task; (*flambda)(omp_get_thread_num(), &env, cdata); } return 0; #endif } ``` This function launches the thread. And it is invoked by module building process. Graph runtime may have nothing to do with paralelism.
--- [Visit Topic](https://discuss.tvm.ai/t/execution-order-of-operators-at-runtime-in-tvm/6572/6) to respond. You are receiving this because you enabled mailing list mode. To unsubscribe from these emails, [click here](https://discuss.tvm.ai/email/unsubscribe/9642d0c1515d9cf8dd6a35c8cff6c90d3fb305017fb0f43434e6a12c62c4101c).