Skip to content

Commit 3e99149

Browse files
committed
Make UrArgs thread_local
1 parent e9e3158 commit 3e99149

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

sycl/source/detail/scheduler/commands.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2395,6 +2395,8 @@ static void GetUrArgsBasedOnType(
23952395
}
23962396
}
23972397

2398+
thread_local std::vector<ur_exp_kernel_arg_properties_t> UrArgs;
2399+
23982400
static ur_result_t SetKernelParamsAndLaunch(
23992401
queue_impl &Queue, std::vector<ArgDesc> &Args,
24002402
device_image_impl *DeviceImageImpl, ur_kernel_handle_t Kernel,
@@ -2416,12 +2418,11 @@ static ur_result_t SetKernelParamsAndLaunch(
24162418
DeviceImageImpl ? DeviceImageImpl->get_spec_const_blob_ref() : Empty);
24172419
}
24182420

2419-
std::vector<ur_exp_kernel_arg_properties_t> UrArgs;
24202421
UrArgs.reserve(Args.size());
2422+
UrArgs.clear();
24212423

24222424
if (KernelFuncPtr && !KernelHasSpecialCaptures) {
2423-
auto setFunc = [&UrArgs,
2424-
KernelFuncPtr](const detail::kernel_param_desc_t &ParamDesc,
2425+
auto setFunc = [KernelFuncPtr](const detail::kernel_param_desc_t &ParamDesc,
24252426
size_t NextTrueIndex) {
24262427
const void *ArgPtr = (const char *)KernelFuncPtr + ParamDesc.offset;
24272428
switch (ParamDesc.kind) {
@@ -2451,8 +2452,8 @@ static ur_result_t SetKernelParamsAndLaunch(
24512452
applyFuncOnFilteredArgs(EliminatedArgMask, KernelNumArgs,
24522453
KernelParamDescGetter, setFunc);
24532454
} else {
2454-
auto setFunc = [&DeviceImageImpl, &getMemAllocationFunc, &Queue,
2455-
&UrArgs](detail::ArgDesc &Arg, size_t NextTrueIndex) {
2455+
auto setFunc = [&DeviceImageImpl, &getMemAllocationFunc,
2456+
&Queue](detail::ArgDesc &Arg, size_t NextTrueIndex) {
24562457
GetUrArgsBasedOnType(DeviceImageImpl, getMemAllocationFunc,
24572458
Queue.getContextImpl(), Arg, NextTrueIndex, UrArgs);
24582459
};

0 commit comments

Comments
 (0)