-
Notifications
You must be signed in to change notification settings - Fork 8
/
.gitlab-ci.yml
142 lines (124 loc) · 4.55 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
132
133
134
135
136
137
138
139
140
141
142
stages:
- prepare
- build_n_test
variables:
PROJECT_NAME: singularity-eos
ENABLE_CDASH: false
GIT_SUBMODULE_STRATEGY: normal
include:
- .gitlab/common.yml
########
# Jobs #
########
download_prereq:
stage: prepare
extends: [.ascgit_job]
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
- if: $CI_PIPELINE_SOURCE == "schedule"
- if: $CI_PIPELINE_SOURCE == "web"
- if: $CI_PIPELINE_SOURCE == "push"
needs: []
variables:
GIT_SUBMODULE_STRATEGY: none
script:
- .gitlab/download_prereq.sh
artifacts:
paths:
- goldfiles.tar.gz
openmpi_gcc:
extends: [.ascgit_job, .darwin_job, .darwin_regular_job, .build_and_test]
needs: [download_prereq]
variables:
SPACK_ENV_NAME: openmpi-gcc
openmpi_fortran_gcc:
extends: [.ascgit_job, .darwin_job, .darwin_regular_job, .build_and_test]
needs: [download_prereq]
variables:
SPACK_ENV_NAME: openmpi-fortran-gcc
openmpi_cuda_gcc_ampere:
extends: [.ascgit_job, .darwin_job, .darwin_regular_job, .build_and_test]
needs: [download_prereq]
variables:
SPACK_ENV_NAME: openmpi-cuda-gcc-ampere
SCHEDULER_PARAMETERS: "-N 1 --qos=debug -p shared-gpu-ampere"
openmpi_cuda_gcc_volta:
extends: [.ascgit_job, .darwin_job, .darwin_regular_job, .build_and_test]
needs: [download_prereq]
variables:
SPACK_ENV_NAME: openmpi-cuda-gcc-volta
SCHEDULER_PARAMETERS: "-N 1 --qos=debug -p volta-x86 -C cpu_family:haswell"
# currently disabled due to very long compilation times
#openmpi_fortran_cuda_gcc_ampere:
# extends: [.ascgit_job, .darwin_job, .darwin_regular_job, .build_and_test]
# needs: [download_prereq]
# variables:
# SPACK_ENV_NAME: openmpi-fortran-cuda-gcc-ampere
# SCHEDULER_PARAMETERS: "-N 1 --qos=debug -p shared-gpu-ampere"
#
#openmpi_fortran_cuda_gcc_volta:
# extends: [.ascgit_job, .darwin_job, .darwin_regular_job, .build_and_test]
# needs: [download_prereq]
# variables:
# SPACK_ENV_NAME: openmpi-fortran-cuda-gcc-volta
# SCHEDULER_PARAMETERS: "-N 1 --qos=debug -p volta-x86 -C cpu_family:haswell"
# EXAMPLE of how to modify an existing Spack environment and/or set CMake options
#openmpi_cuda_gcc_volta_noclosure:
# stage: build_n_test
# extends: [.ascgit_job, .darwin_job, .darwin_regular_job,]
# needs: [download_prereq]
# variables:
# SPACK_ENV_NAME: openmpi-cuda-gcc-volta
# SCHEDULER_PARAMETERS: "-N 1 --qos=debug -p volta-x86 -C cpu_family:haswell"
# SINGULARITY_EOS_SPEC: "%gcc@=12.2.0 +mpi+cuda+kokkos+spiner+hdf5+kokkos-kernels+tests~closure~fortran build_extra=sesame,stellarcollapse cuda_arch=70"
# script:
# - source .gitlab/build_and_test.sh --until env ${CLUSTER} ${SPACK_ENV_NAME}
# - spack config add "packages:singularity-eos:require:'${SINGULARITY_EOS_SPEC}'"
# - spack concretize -f --fresh
# - spack_cmake_configure
# - cmake_build -DSINGULARITY_BUILD_CLOSURE=off -DSINGULARITY_USE_FORTRAN=off
# - cmake_test
# - cmake_install
openmpi_fortran_kokkos_openmp_gcc:
extends: [.ascgit_job, .darwin_job, .darwin_regular_job, .build_and_test]
needs: [download_prereq]
variables:
SPACK_ENV_NAME: openmpi-fortran-kokkos-openmp-gcc
openmpi_fortran_kokkos_static_openmp_gcc:
extends: [.ascgit_job, .darwin_job, .darwin_regular_job, .build_and_test]
needs: [download_prereq]
variables:
SPACK_ENV_NAME: openmpi-fortran-kokkos-static-openmp-gcc
#openmpi_rocm_gcc:
# extends: [.ascgit_job, .darwin_job, .darwin_regular_job, .build_and_test]
# needs: [download_prereq]
# variables:
# spack_env_name: openmpi-rocm-gcc
# scheduler_parameters: "-n 1 --qos=debug -p shared-gpu-amd-mi250"
#
#openmpi_fortran_rocm_gcc:
# extends: [.ascgit_job, .darwin_job, .darwin_regular_job, .build_and_test]
# needs: [download_prereq]
# variables:
# spack_env_name: openmpi-fortran-rocm-gcc
# scheduler_parameters: "-n 1 --qos=debug -p shared-gpu-amd-mi250"
rocinante_craympich_gcc:
extends: [.ascgit_job, .rocinante_job, .rocinante_regular_job, .build_and_test]
needs: [download_prereq]
variables:
SPACK_ENV_NAME: craympich-gcc
rocinante_craympich_fortran_gcc:
extends: [.ascgit_job, .rocinante_job, .rocinante_regular_job, .build_and_test]
needs: [download_prereq]
variables:
SPACK_ENV_NAME: craympich-fortran-gcc
rzvernal_craympich_rocm_mi250_cce:
extends: [.ascgit_job, .rzadams_job, .rzvernal_regular_job, .build_and_test]
needs: [download_prereq]
variables:
SPACK_ENV_NAME: craympich-rocm-gfx90a-cce
rzadams_craympich_rocm_mi300_cce:
extends: [.ascgit_job, .rzadams_job, .rzadams_regular_job, .build_and_test]
needs: [download_prereq]
variables:
SPACK_ENV_NAME: craympich-rocm-gfx942-cce