3
3
- group : " :julia: Julia"
4
4
key : " julia"
5
5
steps :
6
- - label : " Julia {{matrix.version }}"
6
+ - label : " Julia {{matrix.julia }}"
7
7
plugins :
8
8
- JuliaCI/julia#v1:
9
- version : " {{matrix.version }}"
9
+ version : " {{matrix.julia }}"
10
10
- JuliaCI/julia-test#v1:
11
11
test_args : " --quickfail"
12
12
- JuliaCI/julia-coverage#v1:
@@ -24,15 +24,15 @@ steps:
24
24
timeout_in_minutes : 120
25
25
matrix :
26
26
setup :
27
- version :
27
+ julia :
28
28
- " 1.6"
29
29
- " 1.7"
30
30
- " 1.8"
31
31
- " 1.9-nightly"
32
32
# - "nightly"
33
33
adjustments :
34
34
- with :
35
- version : " 1.9-nightly"
35
+ julia : " 1.9-nightly"
36
36
soft_fail : true
37
37
38
38
# then, test supported CUDA toolkits (installed through the artifact system)
@@ -43,10 +43,10 @@ steps:
43
43
# NOTE: we support those CUDA versions for which the latest cuDNN is available
44
44
# https://developer.nvidia.com/rdp/cudnn-archive
45
45
46
- - label : " CUDA {{matrix}}"
46
+ - label : " CUDA {{matrix.cuda }}"
47
47
plugins :
48
48
- JuliaCI/julia#v1:
49
- version : 1.6
49
+ version : 1.8
50
50
- JuliaCI/julia-test#v1:
51
51
test_args : " --thorough"
52
52
- JuliaCI/julia-coverage#v1:
@@ -61,68 +61,42 @@ steps:
61
61
if : build.message !~ /\[skip tests\]/ && !build.pull_request.draft
62
62
timeout_in_minutes : 120
63
63
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"
75
77
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 }}")'
77
79
78
80
- group : " :nesting_dolls: Subpackages"
79
81
depends_on : " cuda"
80
82
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}}"
121
84
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"
123
97
plugins :
124
98
- JuliaCI/julia#v1:
125
- version : 1.6
99
+ version : " 1.8 "
126
100
- JuliaCI/julia-coverage#v1:
127
101
codecov : true
128
102
dirs :
@@ -139,16 +113,16 @@ steps:
139
113
using Pkg
140
114
141
115
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"
144
118
# HACK: cuTensorNet depends on a development version of cuTENSOR
145
119
Pkg.develop(path=joinpath(pwd(), "lib", "cutensor"))
146
120
end
147
121
Pkg.develop(path=pwd())
148
122
Pkg.instantiate()
149
123
150
124
using CUDA
151
- CUDA.set_runtime_version!(v"12.0 ")
125
+ CUDA.set_runtime_version!(v"{{matrix.cuda}} ")
152
126
153
127
println("+++ :julia: Running tests")
154
128
Pkg.test()'
@@ -159,7 +133,7 @@ steps:
159
133
- label : " NNlibCUDA.jl on CUDA 12"
160
134
plugins :
161
135
- JuliaCI/julia#v1:
162
- version : 1.6
136
+ version : 1.8
163
137
- JuliaCI/julia-coverage#v1:
164
138
codecov : true
165
139
dirs :
@@ -193,7 +167,7 @@ steps:
193
167
- label : " GPU-less environment"
194
168
plugins :
195
169
- JuliaCI/julia#v1:
196
- version : 1.6
170
+ version : 1.8
197
171
- JuliaCI/julia-coverage#v1:
198
172
codecov : true
199
173
dirs :
@@ -242,7 +216,7 @@ steps:
242
216
- label : " Compute sanitizer"
243
217
plugins :
244
218
- JuliaCI/julia#v1:
245
- version : 1.6
219
+ version : 1.8
246
220
- JuliaCI/julia-test#v1:
247
221
julia_args : " -g2"
248
222
test_args : " --sanitize --quickfail --jobs=2"
@@ -269,22 +243,14 @@ steps:
269
243
270
244
- group : " :racehorse: Benchmarks"
271
245
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) "
275
249
plugins :
276
250
- 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
284
252
command : |
285
253
julia --project -e '
286
- ENV["CODESPEED_ENVIRONMENT"] = ENV["BUILDKITE_AGENT_NAME"]
287
-
288
254
println("--- :julia: Instantiating project")
289
255
using Pkg
290
256
Pkg.instantiate()
@@ -295,22 +261,25 @@ steps:
295
261
println("+++ :julia: Benchmarking")
296
262
include("perf/runbenchmarks.jl")'
297
263
agents :
298
- queue : " benchmark "
264
+ queue : " juliagpu "
299
265
cuda : " *"
300
266
if : build.message !~ /\[skip benchmarks\]/ &&
301
- build.branch =~ /^master$$/
267
+ build.branch !~ /^master$$/ &&
268
+ !build.pull_request.draft
302
269
timeout_in_minutes : 30
303
270
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}}"
305
274
plugins :
306
275
- JuliaCI/julia#v1:
307
- version : 1.7
276
+ version : " {{matrix.julia}} "
308
277
env :
309
278
BENCHMARKS : " true"
310
279
CODESPEED_PROJECT : " $BUILDKITE_PIPELINE_NAME"
311
280
CODESPEED_BRANCH : " $BUILDKITE_BRANCH"
312
281
CODESPEED_COMMIT : " $BUILDKITE_COMMIT"
313
- CODESPEED_EXECUTABLE : " Julia 1.7 "
282
+ CODESPEED_EXECUTABLE : " Julia {{matrix.julia}} "
314
283
command : |
315
284
julia --project -e '
316
285
ENV["CODESPEED_ENVIRONMENT"] = ENV["BUILDKITE_AGENT_NAME"]
@@ -329,31 +298,11 @@ steps:
329
298
cuda : " *"
330
299
if : build.message !~ /\[skip benchmarks\]/ &&
331
300
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"
357
306
timeout_in_minutes : 30
358
307
359
308
env :
0 commit comments