-
Notifications
You must be signed in to change notification settings - Fork 12
94 lines (89 loc) · 2.94 KB
/
perlmutter-no-cache.yaml
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
name: NERSC / Perlmutter (no cache)
on:
push:
workflow_dispatch:
concurrency:
group: "${{ github.ref }}"
cancel-in-progress: true
env:
GOOGLE_CREDENTIALS: "${{ secrets.GOOGLE_CREDENTIALS }}"
GOOGLE_SPREADSHEET_ID: "${{ secrets.GOOGLE_SPREADSHEET_ID }}"
PDC_BUILD_PATH: "${{ github.workspace }}/${{ github.run_id }}/build"
PDC_INSTALL_PATH: "${{ github.workspace }}/${{ github.run_id }}/install"
PDC_TMPDIR: "${{ github.workspace }}/${{ github.run_id }}/pdc-tmp-paralell-pdc"
PDC_DATA_LOC: "${{ github.workspace }}/${{ github.run_id }}/pdc-data-paralell-pdc"
SCHEDULER_PARAMETERS: "-A ${{ secrets.NERSC_PERLMUTTER_PROJECT }} --qos=debug --constraint=cpu --tasks-per-node=64 -N 1 -t 00:30:00"
MERCURY_DIR: "/global/cfs/cdirs/${{ secrets.NERSC_PERLMUTTER_PROJECT }}/pdc-perlmutter/mercury/install"
jobs:
no-cache:
runs-on:
- self-hosted
- perlmutter
environment: NERSC
timeout-minutes: 2880
steps:
- uses: actions/checkout@v4.1.0
with:
fetch-depth: 20
lfs: true
- run: |
echo "MERCURY_DIR = $MERCURY_DIR"
module load libfabric
module list
mkdir -p ${PDC_BUILD_PATH}
cd ${PDC_BUILD_PATH}
cmake ../.. -DBUILD_MPI_TESTING=ON -DBUILD_SHARED_LIBS=ON -DPDC_SERVER_CACHE=OFF -DBUILD_TESTING=ON -DCMAKE_INSTALL_PREFIX=$PDC_DIR -DPDC_ENABLE_MPI=ON -DMERCURY_DIR=$MERCURY_DIR -DCMAKE_C_COMPILER=cc -DMPI_RUN_CMD="srun -A ${{ secrets.NERSC_PERLMUTTER_PROJECT }} --qos=debug --constraint=cpu --tasks-per-node=64" -DCMAKE_INSTALL_PREFIX=${PDC_INSTALL_PATH}
make -j
make install
- uses: actions/upload-artifact@v4.1.0
if: success()
with:
name: "${{ github.job }}"
path: |
${{ github.workspace }}/${{ github.run_id }}/build
${{ github.workspace }}/${{ github.run_id }}/install
parallel-pdc:
needs:
- no-cache
runs-on:
- self-hosted
- perlmutter
environment: NERSC
timeout-minutes: 2880
steps:
- uses: actions/checkout@v4.1.0
with:
fetch-depth: 20
lfs: true
- uses: actions/download-artifact@v4.1.0
with:
path: |
${{ github.workspace }}/${{ github.run_id }}
- run: |
export LD_LIBRARY_PATH="$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
cd ${PDC_BUILD_PATH}/build
ctest -L parallel_pdc
rm -rf ${PDC_TMPDIR} ${PDC_DATA_LOC}
parallel-obj:
needs:
- no-cache
- parallel-pdc
runs-on:
- self-hosted
- perlmutter
environment: NERSC
timeout-minutes: 2880
steps:
- uses: actions/checkout@v4.1.0
with:
fetch-depth: 20
lfs: true
- uses: actions/download-artifact@v4.1.0
with:
path: |
${{ github.workspace }}/${{ github.run_id }}
- run: |
export LD_LIBRARY_PATH="$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
cd ${PDC_BUILD_PATH}/build
ctest -L parallel_obj
rm -rf ${PDC_TMPDIR} ${PDC_DATA_LOC}