Skip to content

Commit 8bf7bd3

Browse files
fix: allow explicit CuDNN with CUDA minor versions (#3070)
Co-authored-by: Mark Phelps <209477+markphelps@users.noreply.github.com>
1 parent 40f61a3 commit 8bf7bd3

2 files changed

Lines changed: 19 additions & 1 deletion

File tree

pkg/config/compatibility.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ func cudaFromTF(ver string) (cuda string, cuDNN string, err error) {
195195
func compatibleCuDNNsForCUDA(cuda string) []string {
196196
cuDNNs := []string{}
197197
for _, image := range CUDABaseImages {
198-
if image.CUDA == cuda {
198+
if version.Matches(cuda, image.CUDA) {
199199
cuDNNs = append(cuDNNs, image.CuDNN)
200200
}
201201
}

pkg/config/config_test.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,24 @@ func TestCUDABaseImageTag(t *testing.T) {
468468
require.Equal(t, "nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04", imageTag)
469469
}
470470

471+
func TestCUDABaseImageTagWithExplicitMinorCUDAAndCuDNN(t *testing.T) {
472+
config := &Config{
473+
Build: &Build{
474+
GPU: true,
475+
PythonVersion: "3.10",
476+
CUDA: "11.6",
477+
CuDNN: "8",
478+
},
479+
}
480+
481+
err := config.Complete("")
482+
require.NoError(t, err)
483+
484+
imageTag, err := config.CUDABaseImageTag()
485+
require.NoError(t, err)
486+
require.Equal(t, "nvidia/cuda:11.6.2-cudnn8-devel-ubuntu20.04", imageTag)
487+
}
488+
471489
func TestBuildRunItemStringYAML(t *testing.T) {
472490
type BuildWrapper struct {
473491
Build *Build `yaml:"build"`

0 commit comments

Comments
 (0)