diff --git a/tests/src/runtimeApi/module/hipModuleLoadDataMultThreaded.cpp b/tests/src/runtimeApi/module/hipModuleLoadDataMultThreaded.cpp index 92a1cb77c7..cdb4c81c94 100644 --- a/tests/src/runtimeApi/module/hipModuleLoadDataMultThreaded.cpp +++ b/tests/src/runtimeApi/module/hipModuleLoadDataMultThreaded.cpp @@ -134,27 +134,27 @@ hipCtx_t create_context() { } void run_multi_threads(uint32_t n) { + auto ctx = create_context(); std::vector mf(n); { auto buffer = load_file(); std::vector threads; for (uint32_t i = 0; i < n; i++) { threads.emplace_back(std::thread{[&, i, buffer] { + HIPCHECK(hipCtxSetCurrent(ctx)); mf[i] = load(buffer); }}); } } for(auto&& x:mf) run(x); - + hipCtxDestroy(ctx); } int main() { HIPCHECK(hipInit(0)); - auto ctx = create_context(); run_multi_threads(THREADS * std::thread::hardware_concurrency()); - hipCtxDestroy(ctx); passed(); }