Skip to content

Commit b2ca78f

Browse files
committed
Temporary fix in ProgramManager::getOrCreateDeviceKernelInfo
1 parent 457b813 commit b2ca78f

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

sycl/source/detail/program_manager/program_manager.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1822,14 +1822,16 @@ ProgramManager::kernelImplicitLocalArgPos(KernelNameStrRefT KernelName) const {
18221822

18231823
DeviceKernelInfo &ProgramManager::getOrCreateDeviceKernelInfo(
18241824
const CompileTimeKernelInfoTy &Info) {
1825+
std::lock_guard<std::mutex> Guard(m_DeviceKernelInfoMapMutex);
18251826
auto Result =
18261827
m_DeviceKernelInfoMap.try_emplace(KernelNameStrT{Info.Name.data()}, Info);
1827-
Result.first->second.setCompileTimeInfoIfNeeded(Info);
1828+
// Result.first->second.setCompileTimeInfoIfNeeded(Info);
18281829
return Result.first->second;
18291830
}
18301831

18311832
DeviceKernelInfo &
18321833
ProgramManager::getOrCreateDeviceKernelInfo(KernelNameStrRefT KernelName) {
1834+
std::lock_guard<std::mutex> Guard(m_DeviceKernelInfoMapMutex);
18331835
auto Result = m_DeviceKernelInfoMap.try_emplace(
18341836
KernelName, CompileTimeKernelInfoTy{std::string_view(KernelName)});
18351837
return Result.first->second;

sycl/source/detail/program_manager/program_manager.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -539,6 +539,7 @@ class ProgramManager {
539539
// Map for storing device kernel information. Runtime lookup should be avoided
540540
// by caching the pointers when possible.
541541
std::unordered_map<KernelNameStrT, DeviceKernelInfo> m_DeviceKernelInfoMap;
542+
std::mutex m_DeviceKernelInfoMapMutex;
542543

543544
// Sanitizer type used in device image
544545
SanitizerType m_SanitizerFoundInImage;

0 commit comments

Comments
 (0)