@@ -1744,63 +1744,6 @@ __urdlllocal ur_result_t UR_APICALL urEnqueueKernelLaunchWithArgsExp(
17441744 std::memcpy (KernelInfo.ArgProps .data (), pArgs,
17451745 numArgs * sizeof (ur_exp_kernel_arg_properties_t ));
17461746
1747- // We need to set all the args now rather than letting LaunchWithArgs handle
1748- // them. This is because some implementations of
1749- // urKernelGetSuggestedLocalWorkSize, which is used in preLaunchKernel, rely
1750- // on all the args being set.
1751- for (uint32_t ArgPropIndex = 0 ; ArgPropIndex < numArgs; ArgPropIndex++) {
1752- switch (pArgs[ArgPropIndex].type ) {
1753- case UR_EXP_KERNEL_ARG_TYPE_LOCAL: {
1754- UR_CALL (ur_sanitizer_layer::asan::urKernelSetArgLocal (
1755- hKernel, pArgs[ArgPropIndex].index , pArgs[ArgPropIndex].size ,
1756- nullptr ));
1757- KernelInfo.ArgProps [ArgPropIndex].size =
1758- KernelInfo.LocalArgs [ArgPropIndex].SizeWithRedZone ;
1759- break ;
1760- }
1761- case UR_EXP_KERNEL_ARG_TYPE_POINTER: {
1762- UR_CALL (ur_sanitizer_layer::asan::urKernelSetArgPointer (
1763- hKernel, pArgs[ArgPropIndex].index , nullptr ,
1764- pArgs[ArgPropIndex].value .pointer ));
1765- break ;
1766- }
1767- case UR_EXP_KERNEL_ARG_TYPE_VALUE: {
1768- UR_CALL (ur_sanitizer_layer::asan::urKernelSetArgValue (
1769- hKernel, pArgs[ArgPropIndex].index , pArgs[ArgPropIndex].size , nullptr ,
1770- pArgs[ArgPropIndex].value .value ));
1771- break ;
1772- }
1773- case UR_EXP_KERNEL_ARG_TYPE_MEM_OBJ: {
1774- ur_kernel_arg_mem_obj_properties_t Properties = {
1775- UR_STRUCTURE_TYPE_KERNEL_ARG_MEM_OBJ_PROPERTIES, nullptr ,
1776- pArgs[ArgPropIndex].value .memObjTuple .flags };
1777- UR_CALL (ur_sanitizer_layer::asan::urKernelSetArgMemObj (
1778- hKernel, pArgs[ArgPropIndex].index , &Properties,
1779- pArgs[ArgPropIndex].value .memObjTuple .hMem ));
1780- if (std::shared_ptr<MemBuffer> MemBuffer =
1781- getAsanInterceptor ()->getMemBuffer (
1782- pArgs[ArgPropIndex].value .memObjTuple .hMem )) {
1783- char *Handle = nullptr ;
1784- UR_CALL (MemBuffer->getHandle (GetDevice (hQueue), Handle));
1785- KernelInfo.ArgProps [ArgPropIndex].type =
1786- ur_exp_kernel_arg_type_t ::UR_EXP_KERNEL_ARG_TYPE_POINTER;
1787- KernelInfo.ArgProps [ArgPropIndex].value .pointer = Handle;
1788- }
1789- break ;
1790- }
1791- case UR_EXP_KERNEL_ARG_TYPE_SAMPLER: {
1792- auto pfnKernelSetArgSampler =
1793- getContext ()->urDdiTable .Kernel .pfnSetArgSampler ;
1794- UR_CALL (pfnKernelSetArgSampler (hKernel, pArgs[ArgPropIndex].index ,
1795- nullptr ,
1796- pArgs[ArgPropIndex].value .sampler ));
1797- break ;
1798- }
1799- default :
1800- return UR_RESULT_ERROR_INVALID_ENUMERATION;
1801- }
1802- }
1803-
18041747 LaunchInfo LaunchInfo (GetContext (hQueue), GetDevice (hQueue), pGlobalWorkSize,
18051748 pLocalWorkSize, pGlobalWorkOffset, workDim);
18061749 UR_CALL (LaunchInfo.Data .syncToDevice (hQueue));
0 commit comments