-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy path.gitlab-ci.yml
131 lines (124 loc) · 3.53 KB
/
.gitlab-ci.yml
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
# Each gitlab batch runner is tied to a specific environment variable for the scheduler paramaters
# jlsebatch[1-2] - are generic batch executors and can be used for submitting to any JLSE system. They use JLSE_SCHEDULER_PARAMETERS
# This is a global before script it will be ran as the first part of each job
before_script:
- echo "before script"
stages:
- shell
- v100
- mi100
- pvc
# Shell executor will be executed like you are logged in directly to a JLSE login node
shell_executor:
stage: shell
needs: []
tags:
- shell
script:
- id
- hostname
- echo "Running on $(hostname) with setuid shell runner"
# Arcticus using Generic batch executor
pvc:
variables:
JLSE_SCHEDULER_PARAMETERS: "-n 1 -t 120 -q florentia"
stage: pvc
needs: []
tags:
- batch
script:
- echo "SYCL test start"
- id
- hostname
- echo "Running on $(hostname) with setuid batch runner on PVC with generic batch"
- module load oneapi
- module load cmake
- export ZE_AFFINITY_MASK=0.0
- echo "Compiling the performance testing variant"
- make clean
- make sycl
- echo "Running the performance test"
- time bin/librett_test
- echo "Compiling the full code"
- make clean
- make sycl groupsize=32 tests=all
- echo "Running the full test"
- time bin/librett_test
- echo "Compiling by using CMake"
- make clean
- cmake -H. -Bbuild -DENABLE_SYCL=ON -DCMAKE_CXX_COMPILER=icpx
- cd build; make
- echo "Running CMake tests"
- ctest
- echo "SYCL test end"
# V100 nodes using Generic batch executor
v100:
variables:
JLSE_SCHEDULER_PARAMETERS: "-n 1 -t 30 -q gpu_v100_smx2_debug"
stage: v100
needs: []
tags:
- batch
script:
- echo "CUDA test start"
- id
- hostname
- echo "Running on $(hostname) with setuid batch runner on v100 with generic batch"
- module load oneapi
- module load cmake
- module load cuda/11.2.0
- export MPIR_CVAR_ENABLE_GPU=0
- echo "Compiling the performance testing variant"
- make clean
- make cuda
- echo "Running the performance test"
- time bin/librett_test
- echo "Compiling the full code"
- make clean
- make cuda tests=all
- echo "Running the full test"
- time bin/librett_test
- echo "Compiling by using CMake"
- make clean
- cmake -H. -Bbuild -DENABLE_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=70
- cd build; make
- echo "Running CMake tests"
- ctest
- echo "CUDA test end"
# MI100 nodes using Generic batch executor
# needs: ["v100"]
mi100:
variables:
JLSE_SCHEDULER_PARAMETERS: "-n 1 -t 30 -q gpu_amd_mi100"
stage: mi100
needs: []
tags:
- batch
script:
- echo "HIP test start"
- id
- hostname
- echo "Running on $(hostname) with setuid batch runner on mi100 with generic batch"
- export MPIR_CVAR_ENABLE_GPU=0
- echo "Compiling the performance testing variant"
- module use /soft/modulefiles
- module load rocm/5.5.0 cmake
- make clean
- make hip
- echo "Running the performance test"
- time bin/librett_test
- echo "Compiling the full code"
- make clean
- make hip tests=all
- echo "Running the full test"
- time bin/librett_test
- echo "Compiling by using CMake"
- make clean
- cmake -H. -Bbuild -DENABLE_HIP=ON -DCMAKE_CXX_COMPILER=hipcc -DCMAKE_HIP_ARCHITECTURES=gfx908
- cd build; make
- echo "Running CMake tests"
- ctest
- echo "HIP test end"
# afer script to be executed after each job
after_script:
- echo "after script"