Support passing macros to hipLaunchKernelGGL

This makes hipLaunchKernelGGL take a variable argument list, that will be
expanded before being fed to hipLaunchKernelGGLInternal.

Change-Id: Id76e2bf91acd5d68f56a24fc39f219f2eeb06d33
이 커밋은 다음에 포함됨:
Ronak Chauhan 작성하고 Ronak Nilesh Chauhan가 2020-06-22 04:35:29 -04:00를 커밋함
1 부모 71c64e98a0
커밋 fb6bb04f03
3 파일이 변경됨
+25 -4

검색과 일치하는 파일 없음

+4 -2
파일 보기
@@ -435,10 +435,12 @@ void hipLaunchKernelGGL(F kernel, const dim3& numBlocks, const dim3& dimBlocks,
hipLaunchKernel(k, numBlocks, dimBlocks, _Args, sharedMemBytes, stream);
}
#else
#define hipLaunchKernelGGL(kernelName, numblocks, numthreads, memperblock, streamId, ...) \
#define hipLaunchKernelGGLInternal(kernelName, numBlocks, numThreads, memPerBlock, streamId, ...) \
do { \
kernelName<<<(numblocks), (numthreads), (memperblock), (streamId)>>>(__VA_ARGS__); \
kernelName<<<(numBlocks), (numThreads), (memPerBlock), (streamId)>>>(__VA_ARGS__); \
} while (0)
#define hipLaunchKernelGGL(...) hipLaunchKernelGGLInternal(__VA_ARGS__)
#endif
#include <hip/hip_runtime_api.h>
+4 -2
파일 보기
@@ -31,11 +31,13 @@ THE SOFTWARE.
typedef int hipLaunchParm;
#define hipLaunchKernelGGL(kernelName, numblocks, numthreads, memperblock, streamId, ...) \
#define hipLaunchKernelGGLInternal(kernelName, numBlocks, numThreads, memPerBlock, streamId, ...) \
do { \
kernelName<<<numblocks, numthreads, memperblock, streamId>>>(__VA_ARGS__); \
kernelName<<<numBlocks, numThreads, memPerBlock, streamId>>>(__VA_ARGS__); \
} while (0)
#define hipLaunchKernelGGL(...) hipLaunchKernelGGLInternal(__VA_ARGS__)
#define hipReadModeElementType cudaReadModeElementType
#ifdef __CUDA_ARCH__