cuda-python icon indicating copy to clipboard operation
cuda-python copied to clipboard

CI: Test different driver versions on Windows

Open leofang opened this issue 2 months ago • 0 comments

After #1242 is merged, we have a nice test matrix for different Windows configurations. However, currently they lock at the same driver version latest: https://github.com/NVIDIA/cuda-python/blob/c4079ddfb6b6dcdd7c9773b727530f122021fa9e/ci/test-matrix.json#L37-L48 But looking at this more closely, one would find that this DRIVER label is not used on Windows at all. Instead, the version is hard-wired in the installer script: https://github.com/NVIDIA/cuda-python/blob/c4079ddfb6b6dcdd7c9773b727530f122021fa9e/ci/tools/install_gpu_driver.ps1#L8-L10

The reason we need the DRIVER label on Linux is because the driver is pre-installed in the runner VMs (and maintained by the runner team), and we need to use the label to compute the runner name, whereas on Windows due to technical challenges we need to install the driver ourselves as part of the CI jobs.

But, it gives us a unique opportunity to do something that we cannot do on Linux runners today, which is to select the driver versions that we intend to cover.

I think the DRIVER label on Windows could be repurposed to specify the UMD version, with the test matrix expanded:

CTK version UMD version purpose
prev major 12.x 12.0 test CUDA minor version compatibility
prev major 12.x 13.x test CUDA backward compatibility
curr major 13.0 13.0
curr major 13.0 13.x test CUDA backward compatibility
curr major 13.x 13.0 test CUDA minor version compatibility
curr major 13.x 13.x

and we find a way to map the UMD version (ex: 13.0) to KMD version (ex: 581.15). Currently there is no public way to do this mapping and we need to hard-code a small table.

Perhaps this can be added to the nightly runs? #294

leofang avatar Nov 18 '25 22:11 leofang