Skip to content

Commit aca936b

Browse files
maleadtamontoison
andauthored
Add support for CUDA 12.0. (#1742)
Co-authored-by: Alexis Montoison <alexis.montoison@polymtl.ca>
1 parent 1271e11 commit aca936b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+6130
-3746
lines changed

.buildkite/pipeline.yml

Lines changed: 15 additions & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ steps:
33
- group: ":julia: Julia"
44
key: "julia"
55
steps:
6-
- label: "Julia 1.6"
6+
- label: "Julia {{matrix.version}}"
77
plugins:
88
- JuliaCI/julia#v1:
9-
version: 1.6
9+
version: "{{matrix.version}}"
1010
- JuliaCI/julia-test#v1:
1111
test_args: "--quickfail"
1212
- JuliaCI/julia-coverage#v1:
@@ -22,65 +22,18 @@ steps:
2222
julia --project -e 'using CUDA; CUDA.set_runtime_version!("local")'
2323
if: build.message !~ /\[skip tests\]/
2424
timeout_in_minutes: 120
25-
26-
- label: "Julia 1.7"
27-
plugins:
28-
- JuliaCI/julia#v1:
29-
version: 1.7
30-
- JuliaCI/julia-test#v1: ~
31-
- JuliaCI/julia-coverage#v1:
32-
codecov: true
33-
dirs:
34-
- src
35-
- lib
36-
- examples
37-
agents:
38-
queue: "juliagpu"
39-
cuda: "*"
40-
commands: |
41-
julia --project -e 'using CUDA; CUDA.set_runtime_version!("local")'
42-
if: build.message !~ /\[skip tests\]/ && !build.pull_request.draft
43-
timeout_in_minutes: 120
44-
45-
- label: "Julia 1.8"
46-
plugins:
47-
- JuliaCI/julia#v1:
48-
version: 1.8
49-
- JuliaCI/julia-test#v1: ~
50-
- JuliaCI/julia-coverage#v1:
51-
codecov: true
52-
dirs:
53-
- src
54-
- lib
55-
- examples
56-
agents:
57-
queue: "juliagpu"
58-
cuda: "*"
59-
commands: |
60-
julia --project -e 'using CUDA; CUDA.set_runtime_version!("local")'
61-
if: build.message !~ /\[skip tests\]/ && !build.pull_request.draft
62-
timeout_in_minutes: 120
63-
64-
- label: "Julia 1.9"
65-
plugins:
66-
- JuliaCI/julia#v1:
67-
version: 1.9-nightly
68-
- JuliaCI/julia-test#v1: ~
69-
- JuliaCI/julia-coverage#v1:
70-
codecov: true
71-
dirs:
72-
- src
73-
- lib
74-
- examples
75-
agents:
76-
queue: "juliagpu"
77-
cuda: "*"
78-
commands: |
79-
julia --project -e 'using CUDA; CUDA.set_runtime_version!("local")'
80-
if: build.message !~ /\[skip tests\]/ && !build.pull_request.draft
81-
timeout_in_minutes: 120
82-
soft_fail:
83-
- exit_status: 1
25+
matrix:
26+
setup:
27+
version:
28+
- "1.6"
29+
- "1.7"
30+
- "1.8"
31+
- "1.9-nightly"
32+
#- "nightly"
33+
adjustments:
34+
- with:
35+
version: "1.9-nightly"
36+
soft_fail: true
8437

8538
# then, test supported CUDA toolkits (installed through the artifact system)
8639
- group: "CUDA"
@@ -105,10 +58,10 @@ steps:
10558
agents:
10659
queue: "juliagpu"
10760
cuda: "11.0"
108-
cap: "sm_80"
10961
if: build.message !~ /\[skip tests\]/ && !build.pull_request.draft
11062
timeout_in_minutes: 120
11163
matrix:
64+
- "12.0"
11265
- "11.8"
11366
- "11.7"
11467
- "11.6"
@@ -121,63 +74,9 @@ steps:
12174
commands: |
12275
julia --project -e 'using CUDA; CUDA.set_runtime_version!(v"{{matrix}}")'
12376
124-
# XXX: we cannot set an agents key (cap: "sm_75") via a build matrix
125-
- label: "CUDA 10.2"
126-
plugins:
127-
- JuliaCI/julia#v1:
128-
version: 1.6
129-
- JuliaCI/julia-test#v1: ~
130-
- JuliaCI/julia-coverage#v1:
131-
codecov: true
132-
dirs:
133-
- src
134-
- lib
135-
- examples
136-
agents:
137-
queue: "juliagpu"
138-
cuda: "10.2"
139-
cap: "sm_75"
140-
if: build.message !~ /\[skip tests\]/ && !build.pull_request.draft
141-
timeout_in_minutes: 120
142-
commands: |
143-
julia --project -e 'using CUDA; CUDA.set_runtime_version!(v"10.2")'
144-
14577
- group: ":nesting_dolls: Subpackages"
14678
depends_on: "cuda"
14779
steps:
148-
- label: "{{matrix}} on CUDA 10"
149-
matrix:
150-
- "cuDNN"
151-
- "cuTENSOR"
152-
plugins:
153-
- JuliaCI/julia#v1:
154-
version: 1.6
155-
- JuliaCI/julia-coverage#v1:
156-
codecov: true
157-
dirs:
158-
- src
159-
- lib
160-
- examples
161-
agents:
162-
queue: "juliagpu"
163-
cuda: "10.2"
164-
cap: "sm_75"
165-
if: build.message !~ /\[skip tests\]/ && !build.pull_request.draft
166-
timeout_in_minutes: 120
167-
commands: |
168-
julia -e '
169-
using Pkg
170-
171-
println("--- :julia: Instantiating project")
172-
Pkg.activate(joinpath(pwd(), "lib", lowercase("{{matrix}}")))
173-
Pkg.develop(path=pwd())
174-
Pkg.instantiate()
175-
176-
using CUDA
177-
CUDA.set_runtime_version!(v"10.2")
178-
179-
println("+++ :julia: Running tests")
180-
Pkg.test()'
18180
- label: "{{matrix}} on CUDA 11"
18281
matrix:
18382
- "cuDNN"
@@ -196,7 +95,6 @@ steps:
19695
agents:
19796
queue: "juliagpu"
19897
cuda: "11.0"
199-
cap: "sm_80"
20098
if: build.message !~ /\[skip tests\]/ && !build.pull_request.draft
20199
timeout_in_minutes: 120
202100
commands: |
@@ -281,27 +179,6 @@ steps:
281179
if: build.message !~ /\[skip tests\]/ && !build.pull_request.draft
282180
timeout_in_minutes: 60
283181

284-
# - label: "Julia nightly"
285-
# plugins:
286-
# - JuliaCI/julia#v1:
287-
# version: nightly
288-
# - JuliaCI/julia-test#v1: ~
289-
# - JuliaCI/julia-coverage#v1:
290-
# codecov: true
291-
# dirs:
292-
# - src
293-
# - lib
294-
# - examples
295-
# agents:
296-
# queue: "juliagpu"
297-
# cuda: "*"
298-
# commands: |
299-
# julia --project -e 'using CUDA; CUDA.set_runtime_version!("local")'
300-
# if: build.message !~ /\[skip tests\]/ && !build.pull_request.draft
301-
# timeout_in_minutes: 120
302-
# soft_fail:
303-
# - exit_status: 1
304-
305182
- label: "Documentation"
306183
plugins:
307184
- JuliaCI/julia#v1:
@@ -339,7 +216,6 @@ steps:
339216
agents:
340217
queue: "juliagpu"
341218
cuda: "11.0"
342-
cap: "sm_80"
343219
env:
344220
JULIA_CUDA_USE_COMPAT: 'false' # NVIDIA bug #3418723: injection tools prevent probing libcuda
345221
commands: |

Manifest.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ version = "0.4.2"
3434

3535
[[CUDA_Driver_jll]]
3636
deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"]
37-
git-tree-sha1 = "75d7896d1ec079ef10d3aee8f3668c11354c03a1"
37+
git-tree-sha1 = "9d2679685939a9c9a6dfe96ac38bcb97d0a4cc4c"
3838
uuid = "4ee394cb-3365-5eb0-8335-949819d2adfc"
39-
version = "0.2.0+0"
39+
version = "0.3.0+0"
4040

4141
[[CUDA_Runtime_Discovery]]
4242
deps = ["Libdl"]
@@ -46,9 +46,9 @@ version = "0.1.1"
4646

4747
[[CUDA_Runtime_jll]]
4848
deps = ["Artifacts", "CUDA_Driver_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg", "TOML"]
49-
git-tree-sha1 = "d3e6ccd30f84936c1a3a53d622d85d7d3f9b9486"
49+
git-tree-sha1 = "e9c9cc9fceaebf83e889162334c0f84c33194478"
5050
uuid = "76a88914-d11a-5bdc-97e0-2f5a05c973a2"
51-
version = "0.2.3+2"
51+
version = "0.3.0+2"
5252

5353
[[ChainRulesCore]]
5454
deps = ["Compat", "LinearAlgebra", "SparseArrays"]

Project.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ AbstractFFTs = "0.4, 0.5, 1.0"
3434
Adapt = "3.3"
3535
BFloat16s = "0.2, 0.3, 0.4"
3636
CEnum = "0.2, 0.3, 0.4"
37-
CUDA_Driver_jll = "0.2"
37+
CUDA_Driver_jll = "0.3"
3838
CUDA_Runtime_Discovery = "0.1"
39-
CUDA_Runtime_jll = "0.2.3"
39+
CUDA_Runtime_jll = "0.3"
4040
ExprTools = "0.1"
4141
GPUArrays = "8.6"
4242
GPUCompiler = "0.17"

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ an older version of Julia, you need to use a previous version of CUDA.jl. This w
3737
automatically when you install the package using Julia's package manager.
3838

3939
CUDA.jl currently also requires a CUDA-capable GPU with **compute capability 3.5** (Kepler)
40-
or higher, and an accompanying NVIDIA driver with support for **CUDA 10.2** or newer. These
40+
or higher, and an accompanying NVIDIA driver with support for **CUDA 11.0** or newer. These
4141
requirements are not enforced by the Julia package manager when installing CUDA.jl.
4242
Depending on your system and GPU, you may need to install an older version of the package.
4343

0 commit comments

Comments
 (0)