diff --git a/openmp/libomptarget/plugins/cuda/src/rtl.cpp b/openmp/libomptarget/plugins/cuda/src/rtl.cpp index 67d1b2a2acfd1..f797011c80ea7 100644 --- a/openmp/libomptarget/plugins/cuda/src/rtl.cpp +++ b/openmp/libomptarget/plugins/cuda/src/rtl.cpp @@ -1901,6 +1901,21 @@ int32_t __tgt_rtl_init_device_info(int32_t DeviceId, return DeviceRTL.initDeviceInfo(DeviceId, DeviceInfoPtr, ErrStr); } +int32_t __tgt_rtl_launch_kernel(int32_t DeviceId, void *TgtEntryPtr, + void **TgtArgs, ptrdiff_t *TgtOffsets, + KernelArgsTy *KernelArgs, + __tgt_async_info *AsyncInfo) { + assert(DeviceRTL.isValidDeviceId(DeviceId) && "device_id is invalid"); + + if (DeviceRTL.setContext(DeviceId) != OFFLOAD_SUCCESS) + return OFFLOAD_FAIL; + + return DeviceRTL.runTargetTeamRegion( + DeviceId, TgtEntryPtr, TgtArgs, TgtOffsets, KernelArgs->NumArgs, + KernelArgs->NumTeams[0], KernelArgs->ThreadLimit[0], + KernelArgs->Tripcount, AsyncInfo); +} + #ifdef __cplusplus } #endif