[committed] Unbreak build with nvptx offloading and --without-cuda-driver
Jakub Jelinek
jakub@redhat.com
Sat Dec 28 09:33:00 GMT 2019
Hi!
The r279710 commit added 4 libcuda calls that weren't used before, added
them properly to libgomp/plugin/cuda-lib.def but didn't add them to the
fallback cuda.h.
The following patch does that. Bootstrapped/regtested on x86_64-linux and
i686-linux, built and tested with x86_64-linux to nvptx-none offloading,
committed to trunk.
2019-12-28 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/93074
* plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
(cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
--- libgomp/plugin/cuda/cuda.h.jj 2019-05-14 21:37:34.997366009 +0200
+++ libgomp/plugin/cuda/cuda.h 2019-12-27 11:13:38.078883739 +0100
@@ -126,8 +126,11 @@ CUresult cuCtxPopCurrent (CUcontext *);
CUresult cuCtxPushCurrent (CUcontext);
CUresult cuCtxSynchronize (void);
CUresult cuDeviceGet (CUdevice *, int);
+#define cuDeviceTotalMem cuDeviceTotalMem_v2
+CUresult cuDeviceTotalMem (size_t *, CUdevice);
CUresult cuDeviceGetAttribute (int *, CUdevice_attribute, CUdevice);
CUresult cuDeviceGetCount (int *);
+CUresult cuDeviceGetName (char *, int, CUdevice);
CUresult cuEventCreate (CUevent *, unsigned);
#define cuEventDestroy cuEventDestroy_v2
CUresult cuEventDestroy (CUevent);
@@ -138,6 +141,7 @@ CUresult cuEventSynchronize (CUevent);
CUresult cuFuncGetAttribute (int *, CUfunction_attribute, CUfunction);
CUresult cuGetErrorString (CUresult, const char **);
CUresult cuInit (unsigned);
+CUresult cuDriverGetVersion (int *);
CUresult cuLaunchKernel (CUfunction, unsigned, unsigned, unsigned, unsigned,
unsigned, unsigned, unsigned, CUstream, void **, void **);
#define cuLinkAddData cuLinkAddData_v2
@@ -147,6 +151,8 @@ CUresult cuLinkComplete (CUlinkState, vo
#define cuLinkCreate cuLinkCreate_v2
CUresult cuLinkCreate (unsigned, CUjit_option *, void **, CUlinkState *);
CUresult cuLinkDestroy (CUlinkState);
+#define cuMemGetInfo cuMemGetInfo_v2
+CUresult cuMemGetInfo (size_t *, size_t *);
#define cuMemAlloc cuMemAlloc_v2
CUresult cuMemAlloc (CUdeviceptr *, size_t);
#define cuMemAllocHost cuMemAllocHost_v2
Jakub
More information about the Gcc-patches
mailing list