MCPcopy Create free account
hub / github.com/ROCm/rocm-systems / hipExtModuleLaunchKernel

Function hipExtModuleLaunchKernel

projects/clr/hipamd/src/hip_module.cpp:626–673  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

624}
625
626hipError_t hipExtModuleLaunchKernel(hipFunction_t f, uint32_t globalWorkSizeX,
627 uint32_t globalWorkSizeY, uint32_t globalWorkSizeZ,
628 uint32_t localWorkSizeX, uint32_t localWorkSizeY,
629 uint32_t localWorkSizeZ, size_t sharedMemBytes,
630 hipStream_t hStream, void** kernelParams, void** extra,
631 hipEvent_t startEvent, hipEvent_t stopEvent, uint32_t flags) {
632 HIP_INIT_API(hipExtModuleLaunchKernel, f, globalWorkSizeX, globalWorkSizeY, globalWorkSizeZ,
633 localWorkSizeX, localWorkSizeY, localWorkSizeZ, sharedMemBytes, hStream,
634 kernelParams, extra, startEvent, stopEvent, flags);
635
636 if (!hip::isValid(hStream)) {
637 HIP_RETURN(hipErrorContextIsDestroyed);
638 }
639 CHECK_STREAM_DETACHED_API(hStream);
640
641 int deviceId = hip::Stream::DeviceId(hStream);
642 const amd::Device* device = g_devices[deviceId]->devices()[0];
643
644 STREAM_CAPTURE(hipExtModuleLaunchKernel, hStream, f, globalWorkSizeX, globalWorkSizeY,
645 globalWorkSizeZ, localWorkSizeX, localWorkSizeY, localWorkSizeZ, sharedMemBytes,
646 kernelParams, extra, startEvent, stopEvent, flags);
647
648 amd::LaunchParams launch_params(globalWorkSizeX, globalWorkSizeY, globalWorkSizeZ, localWorkSizeX,
649 localWorkSizeY, localWorkSizeZ, sharedMemBytes, *device, 1, 1, 1, 1,
650 1, 1, false);
651
652 if (!launch_params.IsValidConfig() ||
653 launch_params.local_.product() > device->info().maxWorkGroupSize_) {
654 HIP_RETURN(hipErrorInvalidConfiguration);
655 }
656
657 if (sharedMemBytes > device->info().localMemSizePerCU_) {
658 HIP_RETURN(hipErrorInvalidValue);
659 }
660
661 if (launch_params.global_[0] == 0 || launch_params.global_[1] == 0
662 || launch_params.global_[2] == 0) {
663 HIP_RETURN(hipErrorInvalidValue);
664 }
665
666 if (launch_params.local_[0] == 0 || launch_params.local_[1] == 0
667 || launch_params.local_[2] == 0) {
668 HIP_RETURN(hipErrorInvalidValue);
669 }
670
671 HIP_RETURN(ihipModuleLaunchKernel(f, launch_params, hStream, kernelParams, extra, startEvent,
672 stopEvent, flags));
673}
674
675
676hipError_t hipHccModuleLaunchKernel(hipFunction_t f, uint32_t globalWorkSizeX,

Callers 13

replay_kernel_launchFunction · 0.85
mainFunction · 0.85
HIP_TEST_CASEFunction · 0.85
HIP_TEST_CASEFunction · 0.85
Module_WorkGroup_TestMethod · 0.85

Calls 5

ihipModuleLaunchKernelFunction · 0.85
IsValidConfigMethod · 0.80
isValidFunction · 0.70
productMethod · 0.45
infoMethod · 0.45

Tested by

no test coverage detected