33 - group : " :julia: Julia"
44 key : " julia"
55 steps :
6- - label : " Julia {{matrix.version }}"
6+ - label : " Julia {{matrix.julia }}"
77 plugins :
88 - JuliaCI/julia#v1:
9- version : " {{matrix.version }}"
9+ version : " {{matrix.julia }}"
1010 - JuliaCI/julia-test#v1:
1111 test_args : " --quickfail"
1212 - JuliaCI/julia-coverage#v1:
@@ -24,15 +24,15 @@ steps:
2424 timeout_in_minutes : 120
2525 matrix :
2626 setup :
27- version :
27+ julia :
2828 - " 1.6"
2929 - " 1.7"
3030 - " 1.8"
3131 - " 1.9-nightly"
3232 # - "nightly"
3333 adjustments :
3434 - with :
35- version : " 1.9-nightly"
35+ julia : " 1.9-nightly"
3636 soft_fail : true
3737
3838 # then, test supported CUDA toolkits (installed through the artifact system)
@@ -43,10 +43,10 @@ steps:
4343 # NOTE: we support those CUDA versions for which the latest cuDNN is available
4444 # https://developer.nvidia.com/rdp/cudnn-archive
4545
46- - label : " CUDA {{matrix}}"
46+ - label : " CUDA {{matrix.cuda }}"
4747 plugins :
4848 - JuliaCI/julia#v1:
49- version : 1.6
49+ version : 1.8
5050 - JuliaCI/julia-test#v1:
5151 test_args : " --thorough"
5252 - JuliaCI/julia-coverage#v1:
@@ -61,68 +61,42 @@ steps:
6161 if : build.message !~ /\[skip tests\]/ && !build.pull_request.draft
6262 timeout_in_minutes : 120
6363 matrix :
64- - " 12.1"
65- - " 12.0"
66- - " 11.8"
67- - " 11.7"
68- - " 11.6"
69- - " 11.5"
70- - " 11.4"
71- - " 11.3"
72- - " 11.2"
73- - " 11.1"
74- - " 11.0"
64+ setup :
65+ cuda :
66+ - " 12.1"
67+ - " 12.0"
68+ - " 11.8"
69+ - " 11.7"
70+ - " 11.6"
71+ - " 11.5"
72+ - " 11.4"
73+ - " 11.3"
74+ - " 11.2"
75+ - " 11.1"
76+ - " 11.0"
7577 commands : |
76- julia --project -e 'using CUDA; CUDA.set_runtime_version!(v"{{matrix}}")'
78+ julia --project -e 'using CUDA; CUDA.set_runtime_version!(v"{{matrix.cuda }}")'
7779
7880 - group : " :nesting_dolls: Subpackages"
7981 depends_on : " cuda"
8082 steps :
81- - label : " {{matrix}} on CUDA 11"
82- matrix :
83- - " cuDNN"
84- - " cuTENSOR"
85- - " cuStateVec"
86- - " cuTensorNet"
87- plugins :
88- - JuliaCI/julia#v1:
89- version : 1.6
90- - JuliaCI/julia-coverage#v1:
91- codecov : true
92- dirs :
93- - src
94- - lib
95- - examples
96- agents :
97- queue : " juliagpu"
98- cuda : " *"
99- if : build.message !~ /\[skip tests\]/ && !build.pull_request.draft
100- timeout_in_minutes : 120
101- commands : |
102- julia -e '
103- using Pkg
104-
105- println("--- :julia: Instantiating project")
106- Pkg.activate(joinpath(pwd(), "lib", lowercase("{{matrix}}")))
107- if "{{matrix}}" == "cuTensorNet"
108- # HACK: cuTensorNet depends on a development version of cuTENSOR
109- Pkg.develop(path=joinpath(pwd(), "lib", "cutensor"))
110- end
111- Pkg.develop(path=pwd())
112- Pkg.instantiate()
113-
114- using CUDA
115- CUDA.set_runtime_version!(v"11.8")
116-
117- println("+++ :julia: Running tests")
118- Pkg.test()'
119-
120- - label : " {{matrix}} on CUDA 12"
83+ - label : " {{matrix.package}} on CUDA {{matrix.cuda}}"
12184 matrix :
122- - " cuDNN"
85+ setup :
86+ cuda :
87+ - " 11.0"
88+ package :
89+ - " cuDNN"
90+ - " cuTENSOR"
91+ - " cuStateVec"
92+ - " cuTensorNet"
93+ adjustments :
94+ - with :
95+ cuda : " 12.0"
96+ package : " cuDNN"
12397 plugins :
12498 - JuliaCI/julia#v1:
125- version : 1.6
99+ version : " 1.8 "
126100 - JuliaCI/julia-coverage#v1:
127101 codecov : true
128102 dirs :
@@ -139,16 +113,16 @@ steps:
139113 using Pkg
140114
141115 println("--- :julia: Instantiating project")
142- Pkg.activate(joinpath(pwd(), "lib", lowercase("{{matrix}}")))
143- if "{{matrix}}" == "cuTensorNet"
116+ Pkg.activate(joinpath(pwd(), "lib", lowercase("{{matrix.package }}")))
117+ if "{{matrix.package }}" == "cuTensorNet"
144118 # HACK: cuTensorNet depends on a development version of cuTENSOR
145119 Pkg.develop(path=joinpath(pwd(), "lib", "cutensor"))
146120 end
147121 Pkg.develop(path=pwd())
148122 Pkg.instantiate()
149123
150124 using CUDA
151- CUDA.set_runtime_version!(v"12.0 ")
125+ CUDA.set_runtime_version!(v"{{matrix.cuda}} ")
152126
153127 println("+++ :julia: Running tests")
154128 Pkg.test()'
@@ -159,7 +133,7 @@ steps:
159133 - label : " NNlibCUDA.jl on CUDA 12"
160134 plugins :
161135 - JuliaCI/julia#v1:
162- version : 1.6
136+ version : 1.8
163137 - JuliaCI/julia-coverage#v1:
164138 codecov : true
165139 dirs :
@@ -193,7 +167,7 @@ steps:
193167 - label : " GPU-less environment"
194168 plugins :
195169 - JuliaCI/julia#v1:
196- version : 1.6
170+ version : 1.8
197171 - JuliaCI/julia-coverage#v1:
198172 codecov : true
199173 dirs :
@@ -242,7 +216,7 @@ steps:
242216 - label : " Compute sanitizer"
243217 plugins :
244218 - JuliaCI/julia#v1:
245- version : 1.6
219+ version : 1.8
246220 - JuliaCI/julia-test#v1:
247221 julia_args : " -g2"
248222 test_args : " --sanitize --quickfail --jobs=2"
@@ -269,22 +243,14 @@ steps:
269243
270244 - group : " :racehorse: Benchmarks"
271245 steps :
272- # if we will submit results, use the benchmark queue so that we will
273- # be running on the same system each time
274- - label : " Benchmarks on 1.6 "
246+ # benchmarks outside of the master branch don't submit their results,
247+ # so they can run on any system in the juliagpu queue.
248+ - label : " Benchmarks (dry run) "
275249 plugins :
276250 - JuliaCI/julia#v1:
277- version : 1.6
278- env :
279- BENCHMARKS : " true"
280- CODESPEED_PROJECT : " $BUILDKITE_PIPELINE_NAME"
281- CODESPEED_BRANCH : " $BUILDKITE_BRANCH"
282- CODESPEED_COMMIT : " $BUILDKITE_COMMIT"
283- CODESPEED_EXECUTABLE : " Julia 1.6"
251+ version : 1.8
284252 command : |
285253 julia --project -e '
286- ENV["CODESPEED_ENVIRONMENT"] = ENV["BUILDKITE_AGENT_NAME"]
287-
288254 println("--- :julia: Instantiating project")
289255 using Pkg
290256 Pkg.instantiate()
@@ -295,22 +261,25 @@ steps:
295261 println("+++ :julia: Benchmarking")
296262 include("perf/runbenchmarks.jl")'
297263 agents :
298- queue : " benchmark "
264+ queue : " juliagpu "
299265 cuda : " *"
300266 if : build.message !~ /\[skip benchmarks\]/ &&
301- build.branch =~ /^master$$/
267+ build.branch !~ /^master$$/ &&
268+ !build.pull_request.draft
302269 timeout_in_minutes : 30
303270
304- - label : " Benchmarks on 1.7"
271+ # if we will submit results, use the benchmark queue so that we will
272+ # be running on the same system each time
273+ - label : " Benchmarks on Julia {{matrix.julia}}"
305274 plugins :
306275 - JuliaCI/julia#v1:
307- version : 1.7
276+ version : " {{matrix.julia}} "
308277 env :
309278 BENCHMARKS : " true"
310279 CODESPEED_PROJECT : " $BUILDKITE_PIPELINE_NAME"
311280 CODESPEED_BRANCH : " $BUILDKITE_BRANCH"
312281 CODESPEED_COMMIT : " $BUILDKITE_COMMIT"
313- CODESPEED_EXECUTABLE : " Julia 1.7 "
282+ CODESPEED_EXECUTABLE : " Julia {{matrix.julia}} "
314283 command : |
315284 julia --project -e '
316285 ENV["CODESPEED_ENVIRONMENT"] = ENV["BUILDKITE_AGENT_NAME"]
@@ -329,31 +298,11 @@ steps:
329298 cuda : " *"
330299 if : build.message !~ /\[skip benchmarks\]/ &&
331300 build.branch =~ /^master$$/
332- timeout_in_minutes : 30
333-
334- # benchmarks outside of the master branch don't submit their results,
335- # so they can run on any system in the juliagpu queue.
336- - label : " Benchmarks (dry run)"
337- plugins :
338- - JuliaCI/julia#v1:
339- version : 1.6
340- command : |
341- julia --project -e '
342- println("--- :julia: Instantiating project")
343- using Pkg
344- Pkg.instantiate()
345- Pkg.activate("perf")
346- Pkg.instantiate()
347- push!(LOAD_PATH, @__DIR__)
348-
349- println("+++ :julia: Benchmarking")
350- include("perf/runbenchmarks.jl")'
351- agents :
352- queue : " juliagpu"
353- cuda : " *"
354- if : build.message !~ /\[skip benchmarks\]/ &&
355- build.branch !~ /^master$$/ &&
356- !build.pull_request.draft
301+ matrix :
302+ setup :
303+ julia :
304+ - " 1.6"
305+ - " 1.7"
357306 timeout_in_minutes : 30
358307
359308env :
0 commit comments