15/09/2025 16:41, Gregory Etelson:
> From: Bing Zhao <bi...@nvidia.com>
> 
> The API name and prototype have been changed in the new CUDA, this
> commit will ensure the compatibility with different versions.
[...]
>  /* CUDA Driver functions loaded with cuGetProcAddress for versioning */
> +#if defined(CUDA_VERSION) && (CUDA_VERSION >= 13000)
> +static PFN_cuGetErrorString_v6000 pfn_cuGetErrorString;
> +static PFN_cuGetErrorName_v6000 pfn_cuGetErrorName;
> +static PFN_cuPointerSetAttribute_v6000 pfn_cuPointerSetAttribute;
> +static PFN_cuDeviceGetAttribute_v2000 pfn_cuDeviceGetAttribute;
> +static PFN_cuDeviceGetByPCIBusId_v4010 pfn_cuDeviceGetByPCIBusId;
> +static PFN_cuDevicePrimaryCtxRetain_v7000 pfn_cuDevicePrimaryCtxRetain;
> +static PFN_cuDevicePrimaryCtxRelease_v11000 pfn_cuDevicePrimaryCtxRelease;
> +static PFN_cuDeviceTotalMem_v3020 pfn_cuDeviceTotalMem;
> +static PFN_cuDeviceGetName_v2000 pfn_cuDeviceGetName;
> +static PFN_cuCtxGetApiVersion_v3020 pfn_cuCtxGetApiVersion;
> +static PFN_cuCtxSetCurrent_v4000 pfn_cuCtxSetCurrent;
> +static PFN_cuCtxGetCurrent_v4000 pfn_cuCtxGetCurrent;
> +static PFN_cuCtxGetDevice_v2000 pfn_cuCtxGetDevice;
> +static PFN_cuCtxGetExecAffinity_v11040 pfn_cuCtxGetExecAffinity;
> +static PFN_cuMemAlloc_v3020 pfn_cuMemAlloc;
> +static PFN_cuMemFree_v3020 pfn_cuMemFree;
> +static PFN_cuMemHostRegister_v6050 pfn_cuMemHostRegister;
> +static PFN_cuMemHostUnregister_v4000 pfn_cuMemHostUnregister;
> +static PFN_cuMemHostGetDevicePointer_v3020 pfn_cuMemHostGetDevicePointer;
> +static PFN_cuFlushGPUDirectRDMAWrites_v11030 pfn_cuFlushGPUDirectRDMAWrites;
> +#else
>  static PFN_cuGetErrorString pfn_cuGetErrorString;
>  static PFN_cuGetErrorName pfn_cuGetErrorName;

What is the logic here?
The old version keeps its original name, and new versions have a suffix?
Why not use the old version?
What will happen with next versions?



Reply via email to