diff --git a/public/tracy/TracyCUDA.hpp b/public/tracy/TracyCUDA.hpp index d0dac51f..d540aa96 100644 --- a/public/tracy/TracyCUDA.hpp +++ b/public/tracy/TracyCUDA.hpp @@ -360,6 +360,11 @@ struct ConcurrentHashMap { auto lock = acquire_write_lock(); return mapping.erase(key); } + auto insert_or_assign(TKey key, TValue value) { + ZoneNamed(insert_or_assign, instrument); + auto lock = acquire_write_lock(); + return mapping.insert_or_assign(std::move(key), std::move(value)); + } }; #if TRACY_CUDA_ENABLE_CUDA_CALL_STATS @@ -917,9 +922,7 @@ namespace tracy return false; } } else if (graphId != 0) { - auto& cache = PersistentState::Get().cudaGraphCurrentLaunch; - cache.erase(graphId); - cache.emplace(graphId, apiCallInfo); + PersistentState::Get().cudaGraphCurrentLaunch.insert_or_assign(graphId, apiCallInfo); } return true; }