From: Tom de Vries Date: Wed, 1 Aug 2018 13:20:22 +0000 (+0000) Subject: [libgomp, nvptx] Add cuda-lib.def X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8c6310a2c230f4c3d7c1d317d7282c285c06eaea;p=gcc.git [libgomp, nvptx] Add cuda-lib.def 2018-08-01 Tom de Vries * plugin/cuda-lib.def: New file. Factor out of ... * plugin/plugin-nvptx.c (CUDA_CALLS): ... here. (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of using CUDA_CALLS. From-SVN: r263208 --- diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 0cce3715b84..5ac69e85a99 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,10 @@ +2018-08-01 Tom de Vries + + * plugin/cuda-lib.def: New file. Factor out of ... + * plugin/plugin-nvptx.c (CUDA_CALLS): ... here. + (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of + using CUDA_CALLS. + 2018-07-31 Andre Vieira Revert 'AsyncI/O patch committed'. diff --git a/libgomp/plugin/cuda-lib.def b/libgomp/plugin/cuda-lib.def new file mode 100644 index 00000000000..be8e3b3ec4d --- /dev/null +++ b/libgomp/plugin/cuda-lib.def @@ -0,0 +1,46 @@ +CUDA_ONE_CALL (cuCtxCreate) +CUDA_ONE_CALL (cuCtxDestroy) +CUDA_ONE_CALL (cuCtxGetCurrent) +CUDA_ONE_CALL (cuCtxGetDevice) +CUDA_ONE_CALL (cuCtxPopCurrent) +CUDA_ONE_CALL (cuCtxPushCurrent) +CUDA_ONE_CALL (cuCtxSynchronize) +CUDA_ONE_CALL (cuDeviceGet) +CUDA_ONE_CALL (cuDeviceGetAttribute) +CUDA_ONE_CALL (cuDeviceGetCount) +CUDA_ONE_CALL (cuEventCreate) +CUDA_ONE_CALL (cuEventDestroy) +CUDA_ONE_CALL (cuEventElapsedTime) +CUDA_ONE_CALL (cuEventQuery) +CUDA_ONE_CALL (cuEventRecord) +CUDA_ONE_CALL (cuEventSynchronize) +CUDA_ONE_CALL (cuFuncGetAttribute) +CUDA_ONE_CALL (cuGetErrorString) +CUDA_ONE_CALL (cuInit) +CUDA_ONE_CALL (cuLaunchKernel) +CUDA_ONE_CALL (cuLinkAddData) +CUDA_ONE_CALL (cuLinkComplete) +CUDA_ONE_CALL (cuLinkCreate) +CUDA_ONE_CALL (cuLinkDestroy) +CUDA_ONE_CALL (cuMemAlloc) +CUDA_ONE_CALL (cuMemAllocHost) +CUDA_ONE_CALL (cuMemcpy) +CUDA_ONE_CALL (cuMemcpyDtoDAsync) +CUDA_ONE_CALL (cuMemcpyDtoH) +CUDA_ONE_CALL (cuMemcpyDtoHAsync) +CUDA_ONE_CALL (cuMemcpyHtoD) +CUDA_ONE_CALL (cuMemcpyHtoDAsync) +CUDA_ONE_CALL (cuMemFree) +CUDA_ONE_CALL (cuMemFreeHost) +CUDA_ONE_CALL (cuMemGetAddressRange) +CUDA_ONE_CALL (cuMemHostGetDevicePointer) +CUDA_ONE_CALL (cuModuleGetFunction) +CUDA_ONE_CALL (cuModuleGetGlobal) +CUDA_ONE_CALL (cuModuleLoad) +CUDA_ONE_CALL (cuModuleLoadData) +CUDA_ONE_CALL (cuModuleUnload) +CUDA_ONE_CALL (cuStreamCreate) +CUDA_ONE_CALL (cuStreamDestroy) +CUDA_ONE_CALL (cuStreamQuery) +CUDA_ONE_CALL (cuStreamSynchronize) +CUDA_ONE_CALL (cuStreamWaitEvent) diff --git a/libgomp/plugin/plugin-nvptx.c b/libgomp/plugin/plugin-nvptx.c index b6ec5f88d59..83176ce07a0 100644 --- a/libgomp/plugin/plugin-nvptx.c +++ b/libgomp/plugin/plugin-nvptx.c @@ -52,57 +52,10 @@ #if PLUGIN_NVPTX_DYNAMIC # include -# define CUDA_CALLS \ -CUDA_ONE_CALL (cuCtxCreate) \ -CUDA_ONE_CALL (cuCtxDestroy) \ -CUDA_ONE_CALL (cuCtxGetCurrent) \ -CUDA_ONE_CALL (cuCtxGetDevice) \ -CUDA_ONE_CALL (cuCtxPopCurrent) \ -CUDA_ONE_CALL (cuCtxPushCurrent) \ -CUDA_ONE_CALL (cuCtxSynchronize) \ -CUDA_ONE_CALL (cuDeviceGet) \ -CUDA_ONE_CALL (cuDeviceGetAttribute) \ -CUDA_ONE_CALL (cuDeviceGetCount) \ -CUDA_ONE_CALL (cuEventCreate) \ -CUDA_ONE_CALL (cuEventDestroy) \ -CUDA_ONE_CALL (cuEventElapsedTime) \ -CUDA_ONE_CALL (cuEventQuery) \ -CUDA_ONE_CALL (cuEventRecord) \ -CUDA_ONE_CALL (cuEventSynchronize) \ -CUDA_ONE_CALL (cuFuncGetAttribute) \ -CUDA_ONE_CALL (cuGetErrorString) \ -CUDA_ONE_CALL (cuInit) \ -CUDA_ONE_CALL (cuLaunchKernel) \ -CUDA_ONE_CALL (cuLinkAddData) \ -CUDA_ONE_CALL (cuLinkComplete) \ -CUDA_ONE_CALL (cuLinkCreate) \ -CUDA_ONE_CALL (cuLinkDestroy) \ -CUDA_ONE_CALL (cuMemAlloc) \ -CUDA_ONE_CALL (cuMemAllocHost) \ -CUDA_ONE_CALL (cuMemcpy) \ -CUDA_ONE_CALL (cuMemcpyDtoDAsync) \ -CUDA_ONE_CALL (cuMemcpyDtoH) \ -CUDA_ONE_CALL (cuMemcpyDtoHAsync) \ -CUDA_ONE_CALL (cuMemcpyHtoD) \ -CUDA_ONE_CALL (cuMemcpyHtoDAsync) \ -CUDA_ONE_CALL (cuMemFree) \ -CUDA_ONE_CALL (cuMemFreeHost) \ -CUDA_ONE_CALL (cuMemGetAddressRange) \ -CUDA_ONE_CALL (cuMemHostGetDevicePointer)\ -CUDA_ONE_CALL (cuModuleGetFunction) \ -CUDA_ONE_CALL (cuModuleGetGlobal) \ -CUDA_ONE_CALL (cuModuleLoad) \ -CUDA_ONE_CALL (cuModuleLoadData) \ -CUDA_ONE_CALL (cuModuleUnload) \ -CUDA_ONE_CALL (cuStreamCreate) \ -CUDA_ONE_CALL (cuStreamDestroy) \ -CUDA_ONE_CALL (cuStreamQuery) \ -CUDA_ONE_CALL (cuStreamSynchronize) \ -CUDA_ONE_CALL (cuStreamWaitEvent) # define CUDA_ONE_CALL(call) \ __typeof (call) *call; struct cuda_lib_s { - CUDA_CALLS +#include "cuda-lib.def" } cuda_lib; /* -1 if init_cuda_lib has not been called yet, false @@ -127,7 +80,7 @@ init_cuda_lib (void) cuda_lib.call = dlsym (h, #call); \ if (cuda_lib.call == NULL) \ return false; - CUDA_CALLS +#include "cuda-lib.def" cuda_lib_inited = true; return true; }