From 2d9a2d866ca516441ffd07182c27c3d9e07237e1 Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 10 Feb 2020 16:01:53 -0600 Subject: [PATCH] Set context on each thread --- .../src/runtimeApi/module/hipModuleLoadDataMultThreaded.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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(); }