[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