diff --git a/projects/hip/include/hip/hip_ext.h b/projects/hip/include/hip/hip_ext.h index a618462d6e..9b54f7fa57 100644 --- a/projects/hip/include/hip/hip_ext.h +++ b/projects/hip/include/hip/hip_ext.h @@ -109,7 +109,9 @@ hipError_t hipHccModuleLaunchKernel(hipFunction_t f, uint32_t globalWorkSizeX, hipEvent_t stopEvent = nullptr) __attribute__((deprecated("use hipExtModuleLaunchKernel instead"))); -#if !__HIP_VDI__ && defined(__cplusplus) +//#if !__HIP_VDI__ && defined(__cplusplus) +#if defined(__HIP_PLATFORM_HCC__) && GENERIC_GRID_LAUNCH == 1 && defined(__HCC__) +//kernel_descriptor and hip_impl::make_kernarg are in "grid_launch_GGL.hpp" namespace hip_impl { inline diff --git a/projects/hip/samples/1_Utils/hipDispatchLatency/hipDispatchLatency.cpp b/projects/hip/samples/1_Utils/hipDispatchLatency/hipDispatchLatency.cpp index 625d8cd742..b528b0c75d 100644 --- a/projects/hip/samples/1_Utils/hipDispatchLatency/hipDispatchLatency.cpp +++ b/projects/hip/samples/1_Utils/hipDispatchLatency/hipDispatchLatency.cpp @@ -109,7 +109,7 @@ int main() { /***********************************************************************************/ //Timing directly the dispatch -#ifdef __HIP_PLATFORM_HCC__ +#if defined(__HIP_PLATFORM_HCC__) && GENERIC_GRID_LAUNCH == 1 && defined(__HCC__) for (auto i = 0; i < TOTAL_RUN_COUNT; ++i) { hipExtLaunchKernelGGL((EmptyKernel), dim3(NUM_GROUPS), dim3(GROUP_SIZE), 0, stream0, start, stop, 0); hipEventSynchronize(stop); diff --git a/projects/hip/samples/2_Cookbook/13_occupancy/occupancy.cpp b/projects/hip/samples/2_Cookbook/13_occupancy/occupancy.cpp index a9f4e198b0..b4a90c1eee 100644 --- a/projects/hip/samples/2_Cookbook/13_occupancy/occupancy.cpp +++ b/projects/hip/samples/2_Cookbook/13_occupancy/occupancy.cpp @@ -44,6 +44,8 @@ void multiplyCPU(float* C, float* A, float* B, int N){ } } +#if defined(__HIP_PLATFORM_HCC__) && GENERIC_GRID_LAUNCH == 1 && defined(__HCC__) + void launchKernel(float* C, float* A, float* B, bool manual){ hipDeviceProp_t devProp; @@ -93,8 +95,10 @@ void launchKernel(float* C, float* A, float* B, bool manual){ std::cout << "Theoretical Occupancy is " << (double)numBlock* blockSize/devProp.maxThreadsPerMultiProcessor * 100 << "%" << std::endl; } } +#endif int main() { +#if defined(__HIP_PLATFORM_HCC__) && GENERIC_GRID_LAUNCH == 1 && defined(__HCC__) float *A, *B, *C0, *C1, *cpuC; float *Ad, *Bd, *C0d, *C1d; int errors=0; @@ -173,4 +177,8 @@ int main() { free(C0); free(C1); free(cpuC); +#else + std::cout <<"hipOccupancyMaxPotentialBlockSize template not support for Clang compiler"<(&gridSize, &blockSize, f2, 0, 0); assert(gridSize != 0 && blockSize != 0); +#endif numBlock = 0; hipOccupancyMaxActiveBlocksPerMultiprocessor(&numBlock, f2, blockSize, 0); diff --git a/projects/hip/tests/src/runtimeApi/module/hipOccupancyMaxPotentialBlockSize.cpp b/projects/hip/tests/src/runtimeApi/module/hipOccupancyMaxPotentialBlockSize.cpp index 8d384bdef0..8a613bf77e 100644 --- a/projects/hip/tests/src/runtimeApi/module/hipOccupancyMaxPotentialBlockSize.cpp +++ b/projects/hip/tests/src/runtimeApi/module/hipOccupancyMaxPotentialBlockSize.cpp @@ -46,8 +46,10 @@ int main(int argc, char* argv[]) { // test case for using kernel function pointer uint32_t gridSize = 0; uint32_t blockSize = 0; +#if defined(__HIP_PLATFORM_HCC__) && GENERIC_GRID_LAUNCH == 1 && defined(__HCC__) hipOccupancyMaxPotentialBlockSize(&gridSize, &blockSize, f1, 0, 0); assert(gridSize != 0 && blockSize != 0); +#endif // test case for using kernel function pointer with template gridSize = 0;