1
1
variables :
2
2
PDC_BUILD_PATH : " ${CI_PROJECT_DIR}/build"
3
3
PDC_INSTALL_PATH : " ${CI_PROJECT_DIR}/install"
4
-
4
+ GIT_CLONE_PATH : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID}"
5
+
5
6
stages :
6
7
- build
7
8
- test
8
9
- metrics
9
10
11
+ .report-status :
12
+ variables :
13
+ STATUS_PROJECT : " hpc-io/pdc"
14
+ STATUS_NAME : " NERSC / Perlmutter"
15
+ script :
16
+ # For complete details on the GitHub API please see:
17
+ # https://developer.github.com/v3/repos/statuses
18
+ - |
19
+ curl -L \
20
+ -X POST \
21
+ -H "Accept: application/vnd.github+json" \
22
+ -H "Authorization: Bearer ${GITHUB_TOKEN}" \
23
+ -H "X-GitHub-Api-Version: 2022-11-28" \
24
+ "https://api.github.com/repos/${STATUS_PROJECT}/statuses/${CI_COMMIT_SHA}" \
25
+ -d "{\"state\":\"${CI_JOB_NAME}\",\"target_url\":\"${CI_PIPELINE_URL}\",\"context\":\"${STATUS_NAME}\"}"
26
+
27
+ pending :
28
+ stage : .pre
29
+ extends :
30
+ - .report-status
31
+
32
+ success :
33
+ stage : .post
34
+ extends :
35
+ - .report-status
36
+
37
+ failure :
38
+ stage : .post
39
+ extends :
40
+ - .report-status
41
+ rules :
42
+ - when : on_failure
43
+
10
44
perlmutter-no-cache-build :
11
45
stage : build
12
46
rules :
13
47
- if : ' $METRICS == null'
14
48
when : manual
15
49
id_tokens :
16
50
SITE_ID_TOKEN :
17
- aud : https://software.nersc.gov/
51
+ aud : https://gitlab.com
18
52
allow_failure : false
19
53
tags :
20
54
- perlmutter
@@ -42,7 +76,7 @@ perlmutter-cache-build:
42
76
when : manual
43
77
id_tokens :
44
78
SITE_ID_TOKEN :
45
- aud : https://software.nersc.gov /
79
+ aud : https://gitlab.com /
46
80
allow_failure : false
47
81
tags :
48
82
- perlmutter
@@ -72,7 +106,7 @@ perlmutter-no-cache-parallel-pdc:
72
106
stage : test
73
107
id_tokens :
74
108
SITE_ID_TOKEN :
75
- aud : https://software.nersc.gov /
109
+ aud : https://gitlab.com /
76
110
rules :
77
111
- if : ' $METRICS == null'
78
112
needs :
@@ -83,8 +117,8 @@ perlmutter-no-cache-parallel-pdc:
83
117
SCHEDULER_PARAMETERS : " -A ${PDC_PROJECT} --qos=debug --constraint=cpu --tasks-per-node=64 -N 1 -t 00:30:00"
84
118
SUPERCOMPUTER : " perlmutter"
85
119
MERCURY_DIR : " /global/cfs/cdirs/${PDC_PROJECT}/pdc-perlmutter/mercury/install"
86
- PDC_TMPDIR : " ${PDC_BUILD_PATH }/no-cache/pdc-tmp-paralell-pdc"
87
- PDC_DATA_LOC : " ${PDC_BUILD_PATH }/no-cache/pdc-data-paralell-pdc"
120
+ PDC_TMPDIR : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/no-cache/pdc-tmp-paralell-pdc"
121
+ PDC_DATA_LOC : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/no-cache/pdc-data-paralell-pdc"
88
122
script :
89
123
- export LD_LIBRARY_PATH="$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
90
124
- cd ${PDC_BUILD_PATH}/perlmutter/no-cache
@@ -95,7 +129,7 @@ perlmutter-no-cache-parallel-obj:
95
129
stage : test
96
130
id_tokens :
97
131
SITE_ID_TOKEN :
98
- aud : https://software.nersc.gov /
132
+ aud : https://gitlab.com /
99
133
rules :
100
134
- if : ' $METRICS == null'
101
135
needs :
@@ -107,8 +141,8 @@ perlmutter-no-cache-parallel-obj:
107
141
SCHEDULER_PARAMETERS : " -A ${PDC_PROJECT} --qos=debug --constraint=cpu --tasks-per-node=64 -N 1 -t 00:30:00"
108
142
SUPERCOMPUTER : " perlmutter"
109
143
MERCURY_DIR : " /global/cfs/cdirs/${PDC_PROJECT}/pdc-perlmutter/mercury/install"
110
- PDC_TMPDIR : " ${PDC_BUILD_PATH }/no-cache/pdc-tmp-paralell-obj"
111
- PDC_DATA_LOC : " ${PDC_BUILD_PATH }/no-cache/pdc-data-paralell-obj"
144
+ PDC_TMPDIR : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/no-cache/pdc-tmp-paralell-obj"
145
+ PDC_DATA_LOC : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/no-cache/pdc-data-paralell-obj"
112
146
script :
113
147
- export LD_LIBRARY_PATH="$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
114
148
- cd ${PDC_BUILD_PATH}/perlmutter/no-cache
@@ -119,7 +153,7 @@ perlmutter-no-cache-parallel-cont:
119
153
stage : test
120
154
id_tokens :
121
155
SITE_ID_TOKEN :
122
- aud : https://software.nersc.gov /
156
+ aud : https://gitlab.com /
123
157
rules :
124
158
- if : ' $METRICS == null'
125
159
needs :
@@ -131,8 +165,8 @@ perlmutter-no-cache-parallel-cont:
131
165
SCHEDULER_PARAMETERS : " -A ${PDC_PROJECT} --qos=debug --constraint=cpu --tasks-per-node=64 -N 1 -t 00:30:00"
132
166
SUPERCOMPUTER : " perlmutter"
133
167
MERCURY_DIR : " /global/cfs/cdirs/${PDC_PROJECT}/pdc-perlmutter/mercury/install"
134
- PDC_TMPDIR : " ${PDC_BUILD_PATH }/no-cache/pdc-tmp-paralell-cont"
135
- PDC_DATA_LOC : " ${PDC_BUILD_PATH }/no-cache/pdc-data-paralell-cont"
168
+ PDC_TMPDIR : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/no-cache/pdc-tmp-paralell-cont"
169
+ PDC_DATA_LOC : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/no-cache/pdc-data-paralell-cont"
136
170
script :
137
171
- export LD_LIBRARY_PATH="$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
138
172
- cd ${PDC_BUILD_PATH}/perlmutter/no-cache
@@ -143,7 +177,7 @@ perlmutter-no-cache-parallel-prop:
143
177
stage : test
144
178
id_tokens :
145
179
SITE_ID_TOKEN :
146
- aud : https://software.nersc.gov /
180
+ aud : https://gitlab.com /
147
181
rules :
148
182
- if : ' $METRICS == null'
149
183
needs :
@@ -155,8 +189,8 @@ perlmutter-no-cache-parallel-prop:
155
189
SCHEDULER_PARAMETERS : " -A ${PDC_PROJECT} --qos=debug --constraint=cpu --tasks-per-node=64 -N 1 -t 00:30:00"
156
190
SUPERCOMPUTER : " perlmutter"
157
191
MERCURY_DIR : " /global/cfs/cdirs/${PDC_PROJECT}/pdc-perlmutter/mercury/install"
158
- PDC_TMPDIR : " ${PDC_BUILD_PATH }/no-cache/pdc-tmp-paralell-prop"
159
- PDC_DATA_LOC : " ${PDC_BUILD_PATH }/no-cache/pdc-data-paralell-prop"
192
+ PDC_TMPDIR : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/no-cache/pdc-tmp-paralell-prop"
193
+ PDC_DATA_LOC : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/no-cache/pdc-data-paralell-prop"
160
194
script :
161
195
- export LD_LIBRARY_PATH="$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
162
196
- cd ${PDC_BUILD_PATH}/perlmutter/no-cache
@@ -167,7 +201,7 @@ perlmutter-no-cache-parallel-region:
167
201
stage : test
168
202
id_tokens :
169
203
SITE_ID_TOKEN :
170
- aud : https://software.nersc.gov /
204
+ aud : https://gitlab.com /
171
205
rules :
172
206
- if : ' $METRICS == null'
173
207
needs :
@@ -179,8 +213,8 @@ perlmutter-no-cache-parallel-region:
179
213
SCHEDULER_PARAMETERS : " -A ${PDC_PROJECT} --qos=debug --constraint=cpu --tasks-per-node=64 -N 1 -t 00:30:00"
180
214
SUPERCOMPUTER : " perlmutter"
181
215
MERCURY_DIR : " /global/cfs/cdirs/${PDC_PROJECT}/pdc-perlmutter/mercury/install"
182
- PDC_TMPDIR : " ${PDC_BUILD_PATH }/no-cache/pdc-tmp-paralell-region"
183
- PDC_DATA_LOC : " ${PDC_BUILD_PATH }/no-cache/pdc-data-paralell-region"
216
+ PDC_TMPDIR : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/no-cache/pdc-tmp-paralell-region"
217
+ PDC_DATA_LOC : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/no-cache/pdc-data-paralell-region"
184
218
script :
185
219
- export LD_LIBRARY_PATH="$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
186
220
- cd ${PDC_BUILD_PATH}/perlmutter/no-cache
@@ -191,7 +225,7 @@ perlmutter-no-cache-parallel-region-all:
191
225
stage : test
192
226
id_tokens :
193
227
SITE_ID_TOKEN :
194
- aud : https://software.nersc.gov /
228
+ aud : https://gitlab.com /
195
229
rules :
196
230
- if : ' $METRICS == null'
197
231
needs :
@@ -203,8 +237,8 @@ perlmutter-no-cache-parallel-region-all:
203
237
SCHEDULER_PARAMETERS : " -A ${PDC_PROJECT} --qos=debug --constraint=cpu --tasks-per-node=64 -N 1 -t 00:30:00"
204
238
SUPERCOMPUTER : " perlmutter"
205
239
MERCURY_DIR : " /global/cfs/cdirs/${PDC_PROJECT}/pdc-perlmutter/mercury/install"
206
- PDC_TMPDIR : " ${PDC_BUILD_PATH }/no-cache/pdc-tmp-paralell-region-all"
207
- PDC_DATA_LOC : " ${PDC_BUILD_PATH }/no-cache/pdc-data-paralell-region-all"
240
+ PDC_TMPDIR : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/no-cache/pdc-tmp-paralell-region-all"
241
+ PDC_DATA_LOC : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/no-cache/pdc-data-paralell-region-all"
208
242
script :
209
243
- export LD_LIBRARY_PATH="$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
210
244
- cd ${PDC_BUILD_PATH}/perlmutter/no-cache
@@ -220,7 +254,7 @@ perlmutter-cache-parallel-pdc:
220
254
stage : test
221
255
id_tokens :
222
256
SITE_ID_TOKEN :
223
- aud : https://software.nersc.gov /
257
+ aud : https://gitlab.com /
224
258
rules :
225
259
- if : ' $METRICS == null'
226
260
needs :
@@ -231,8 +265,8 @@ perlmutter-cache-parallel-pdc:
231
265
SCHEDULER_PARAMETERS : " -A ${PDC_PROJECT} --qos=debug --constraint=cpu --tasks-per-node=64 -N 1 -t 00:30:00"
232
266
SUPERCOMPUTER : " perlmutter"
233
267
MERCURY_DIR : " /global/cfs/cdirs/${PDC_PROJECT}/pdc-perlmutter/mercury/install"
234
- PDC_TMPDIR : " ${PDC_BUILD_PATH }/cache/pdc-tmp-paralell-pdc"
235
- PDC_DATA_LOC : " ${PDC_BUILD_PATH }/cache/pdc-data-paralell-pdc"
268
+ PDC_TMPDIR : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/cache/pdc-tmp-paralell-pdc"
269
+ PDC_DATA_LOC : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/cache/pdc-data-paralell-pdc"
236
270
script :
237
271
- export LD_LIBRARY_PATH="$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
238
272
- cd ${PDC_BUILD_PATH}/perlmutter/cache
@@ -243,7 +277,7 @@ perlmutter-cache-parallel-obj:
243
277
stage : test
244
278
id_tokens :
245
279
SITE_ID_TOKEN :
246
- aud : https://software.nersc.gov /
280
+ aud : https://gitlab.com /
247
281
rules :
248
282
- if : ' $METRICS == null'
249
283
needs :
@@ -255,8 +289,8 @@ perlmutter-cache-parallel-obj:
255
289
SCHEDULER_PARAMETERS : " -A ${PDC_PROJECT} --qos=debug --constraint=cpu --tasks-per-node=64 -N 1 -t 00:30:00"
256
290
SUPERCOMPUTER : " perlmutter"
257
291
MERCURY_DIR : " /global/cfs/cdirs/${PDC_PROJECT}/pdc-perlmutter/mercury/install"
258
- PDC_TMPDIR : " ${PDC_BUILD_PATH }/cache/pdc-tmp-paralell-obj"
259
- PDC_DATA_LOC : " ${PDC_BUILD_PATH }/cache/pdc-data-paralell-obj"
292
+ PDC_TMPDIR : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/cache/pdc-tmp-paralell-obj"
293
+ PDC_DATA_LOC : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/cache/pdc-data-paralell-obj"
260
294
script :
261
295
- export LD_LIBRARY_PATH="$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
262
296
- cd ${PDC_BUILD_PATH}/perlmutter/cache
@@ -267,7 +301,7 @@ perlmutter-cache-parallel-cont:
267
301
stage : test
268
302
id_tokens :
269
303
SITE_ID_TOKEN :
270
- aud : https://software.nersc.gov /
304
+ aud : https://gitlab.com /
271
305
rules :
272
306
- if : ' $METRICS == null'
273
307
needs :
@@ -279,8 +313,8 @@ perlmutter-cache-parallel-cont:
279
313
SCHEDULER_PARAMETERS : " -A ${PDC_PROJECT} --qos=debug --constraint=cpu --tasks-per-node=64 -N 1 -t 00:30:00"
280
314
SUPERCOMPUTER : " perlmutter"
281
315
MERCURY_DIR : " /global/cfs/cdirs/${PDC_PROJECT}/pdc-perlmutter/mercury/install"
282
- PDC_TMPDIR : " ${PDC_BUILD_PATH }/cache/pdc-tmp-paralell-cont"
283
- PDC_DATA_LOC : " ${PDC_BUILD_PATH }/cache/pdc-data-paralell-cont"
316
+ PDC_TMPDIR : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/cache/pdc-tmp-paralell-cont"
317
+ PDC_DATA_LOC : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/cache/pdc-data-paralell-cont"
284
318
script :
285
319
- export LD_LIBRARY_PATH="$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
286
320
- cd ${PDC_BUILD_PATH}/perlmutter/cache
@@ -291,7 +325,7 @@ perlmutter-cache-parallel-prop:
291
325
stage : test
292
326
id_tokens :
293
327
SITE_ID_TOKEN :
294
- aud : https://software.nersc.gov /
328
+ aud : https://gitlab.com /
295
329
rules :
296
330
- if : ' $METRICS == null'
297
331
needs :
@@ -303,8 +337,8 @@ perlmutter-cache-parallel-prop:
303
337
SCHEDULER_PARAMETERS : " -A ${PDC_PROJECT} --qos=debug --constraint=cpu --tasks-per-node=64 -N 1 -t 00:30:00"
304
338
SUPERCOMPUTER : " perlmutter"
305
339
MERCURY_DIR : " /global/cfs/cdirs/${PDC_PROJECT}/pdc-perlmutter/mercury/install"
306
- PDC_TMPDIR : " ${PDC_BUILD_PATH }/cache/pdc-tmp-paralell-prop"
307
- PDC_DATA_LOC : " ${PDC_BUILD_PATH }/cache/pdc-data-paralell-prop"
340
+ PDC_TMPDIR : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/cache/pdc-tmp-paralell-prop"
341
+ PDC_DATA_LOC : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/cache/pdc-data-paralell-prop"
308
342
script :
309
343
- export LD_LIBRARY_PATH="$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
310
344
- cd ${PDC_BUILD_PATH}/perlmutter/cache
@@ -315,7 +349,7 @@ perlmutter-cache-parallel-region:
315
349
stage : test
316
350
id_tokens :
317
351
SITE_ID_TOKEN :
318
- aud : https://software.nersc.gov /
352
+ aud : https://gitlab.com /
319
353
rules :
320
354
- if : ' $METRICS == null'
321
355
needs :
@@ -327,8 +361,8 @@ perlmutter-cache-parallel-region:
327
361
SCHEDULER_PARAMETERS : " -A ${PDC_PROJECT} --qos=debug --constraint=cpu --tasks-per-node=64 -N 1 -t 00:30:00"
328
362
SUPERCOMPUTER : " perlmutter"
329
363
MERCURY_DIR : " /global/cfs/cdirs/${PDC_PROJECT}/pdc-perlmutter/mercury/install"
330
- PDC_TMPDIR : " ${PDC_BUILD_PATH }/cache/pdc-tmp-paralell-region"
331
- PDC_DATA_LOC : " ${PDC_BUILD_PATH }/cache/pdc-data-paralell-region"
364
+ PDC_TMPDIR : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/cache/pdc-tmp-paralell-region"
365
+ PDC_DATA_LOC : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/cache/pdc-data-paralell-region"
332
366
script :
333
367
- export LD_LIBRARY_PATH="$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
334
368
- cd ${PDC_BUILD_PATH}/perlmutter/cache
@@ -339,7 +373,7 @@ perlmutter-cache-parallel-region-all:
339
373
stage : test
340
374
id_tokens :
341
375
SITE_ID_TOKEN :
342
- aud : https://software.nersc.gov /
376
+ aud : https://gitlab.com /
343
377
rules :
344
378
- if : ' $METRICS == null'
345
379
needs :
@@ -351,8 +385,8 @@ perlmutter-cache-parallel-region-all:
351
385
SCHEDULER_PARAMETERS : " -A ${PDC_PROJECT} --qos=debug --constraint=cpu --tasks-per-node=64 -N 1 -t 00:30:00"
352
386
SUPERCOMPUTER : " perlmutter"
353
387
MERCURY_DIR : " /global/cfs/cdirs/${PDC_PROJECT}/pdc-perlmutter/mercury/install"
354
- PDC_TMPDIR : " ${PDC_BUILD_PATH }/cache/pdc-tmp-paralell-region-all"
355
- PDC_DATA_LOC : " ${PDC_BUILD_PATH }/cache/pdc-data-paralell-region-all"
388
+ PDC_TMPDIR : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/cache/pdc-tmp-paralell-region-all"
389
+ PDC_DATA_LOC : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/cache/pdc-data-paralell-region-all"
356
390
script :
357
391
- export LD_LIBRARY_PATH="$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
358
392
- cd ${PDC_BUILD_PATH}/perlmutter/cache
@@ -363,7 +397,7 @@ perlmutter-metrics-build:
363
397
stage : build
364
398
id_tokens :
365
399
SITE_ID_TOKEN :
366
- aud : https://software.nersc.gov /
400
+ aud : https://gitlab.com /
367
401
rules :
368
402
- if : ' $METRICS == "true"'
369
403
allow_failure : false
@@ -390,7 +424,7 @@ perlmutter-metrics:
390
424
stage : metrics
391
425
id_tokens :
392
426
SITE_ID_TOKEN :
393
- aud : https://software.nersc.gov /
427
+ aud : https://gitlab.com /
394
428
rules :
395
429
- if : ' $METRICS == "true"'
396
430
needs :
@@ -401,8 +435,8 @@ perlmutter-metrics:
401
435
SCHEDULER_PARAMETERS : " -A ${PDC_PROJECT} --qos=${PDC_QUEUE} --constraint=cpu --tasks-per-node=${PDC_N_CLIENTS} -N ${PDC_N_NODES} -t 00:30:00"
402
436
SUPERCOMPUTER : " perlmutter"
403
437
MERCURY_DIR : " /global/cfs/cdirs/${PDC_PROJECT}/pdc-perlmutter/mercury/install"
404
- PDC_TMPDIR : " ${PDC_BUILD_PATH }/pdc-tmp-metrics"
405
- PDC_DATA_LOC : " ${PDC_BUILD_PATH }/pdc-data-metrics"
438
+ PDC_TMPDIR : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/pdc-tmp-metrics"
439
+ PDC_DATA_LOC : " ${CI_BUILDS_DIR}/${CI_PROJECT_NAME}/${CI_JOB_ID }/pdc-data-metrics"
406
440
PDC_CLIENT_LOOKUP : " NONE"
407
441
PDC_SERVER : " ${PDC_BUILD_PATH}/perlmutter/metrics/bin/pdc_server.exe"
408
442
PDC_SERVER_CLOSE : " ${PDC_BUILD_PATH}/perlmutter/metrics/bin/close_server"
0 commit comments