blob: 190fbc3a82a61d0fea7c31bfeedf3245d02e6ba4 (
about) (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
{
_cuda,
callPackage,
config,
lib,
}:
let
mkCudaPackages =
manifestVersions:
callPackage ../development/cuda-modules {
manifests = _cuda.lib.selectManifests manifestVersions;
};
# NOTE:
# The manifests are largely the same except for TensorRT:
# - linux-x86_64 is generally the best supported and can use the latest release
# - linux-sbsa (post-Orin Jetson and ARM) comes in second; NVIDIA dropped support for CUDA 12 with 10.13.2 (there is no
# 10.13.1), so we use 10.13.0 for all CUDA 12 releases.
# - linux-aarch64 (pre-Thor Jetson) is historically least supported; we use the latest release available.
cudaPackages_12_6 =
let
inherit (cudaPackages_12_6.backendStdenv) hasJetsonCudaCapability hostPlatform;
in
mkCudaPackages {
cublasmp = "0.6.0";
cuda = "12.6.3";
cudnn = "9.13.0";
cudss = "0.6.0";
cuquantum = "25.09.0";
cusolvermp = "0.7.0";
cusparselt = "0.6.3";
cutensor = "2.3.1";
nppplus = "0.10.0";
nvcomp = "5.0.0.6";
nvjpeg2000 = "0.9.0";
nvpl = "25.5";
nvtiff = "0.5.1";
tensorrt =
if hasJetsonCudaCapability then
"10.7.0"
else if hostPlatform.isAarch64 then
"10.13.0"
else
"10.14.1";
};
cudaPackages_12_8 =
let
inherit (cudaPackages_12_8.backendStdenv) hasJetsonCudaCapability hostPlatform;
in
mkCudaPackages {
cublasmp = "0.6.0";
cuda = "12.8.1";
cudnn = "9.13.0";
cudss = "0.6.0";
cuquantum = "25.09.0";
cusolvermp = "0.7.0";
cusparselt = "0.8.1";
cutensor = "2.3.1";
nppplus = "0.10.0";
nvcomp = "5.0.0.6";
nvjpeg2000 = "0.9.0";
nvpl = "25.5";
nvtiff = "0.5.1";
tensorrt =
if hasJetsonCudaCapability then
"10.7.0"
else if hostPlatform.isAarch64 then
"10.13.0"
else
"10.14.1";
};
cudaPackages_12_9 =
let
inherit (cudaPackages_12_9.backendStdenv) hasJetsonCudaCapability hostPlatform;
in
mkCudaPackages {
cublasmp = "0.6.0";
cuda = "12.9.1";
cudnn = "9.13.0";
cudss = "0.6.0";
cuquantum = "25.09.0";
cusolvermp = "0.7.0";
cusparselt = "0.8.1";
cutensor = "2.3.1";
nppplus = "0.10.0";
nvcomp = "5.0.0.6";
nvjpeg2000 = "0.9.0";
nvpl = "25.5";
nvtiff = "0.5.1";
tensorrt =
if hasJetsonCudaCapability then
"10.7.0"
else if hostPlatform.isAarch64 then
"10.13.0"
else
"10.14.1";
};
# NOTE: Thor is supported from CUDA 13.0, so our check needs to capture whether pre-Thor devices were selected.
hasPreThorJetsonCudaCapability = lib.any (lib.flip lib.versionOlder "10.1");
cudaPackages_13_0 =
let
inherit (cudaPackages_13_0.backendStdenv) requestedJetsonCudaCapabilities;
in
mkCudaPackages {
cublasmp = "0.6.0";
cuda = "13.0.2";
cudnn = "9.13.0";
cudss = "0.6.0";
cuquantum = "25.09.0";
cusolvermp = "0.7.0";
cusparselt = "0.8.1";
cutensor = "2.3.1";
nppplus = "0.10.0";
nvcomp = "5.0.0.6";
nvjpeg2000 = "0.9.0";
nvpl = "25.5";
nvtiff = "0.5.1";
tensorrt =
if hasPreThorJetsonCudaCapability requestedJetsonCudaCapabilities then "10.7.0" else "10.14.1";
};
in
{
inherit
cudaPackages_12_6
cudaPackages_12_8
cudaPackages_12_9
cudaPackages_13_0
;
}
|