-
Notifications
You must be signed in to change notification settings - Fork 12
78 lines (73 loc) · 2.38 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
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_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:
build:
runs-on:
- self-hosted
- perlmutter
environment: NERSC
timeout-minutes: 2880
steps:
- uses: actions/checkout@v4.1.0
- run: |
module load libfabric
module list
mkdir -p build install
cd build
cmake .. -DBUILD_MPI_TESTING=ON -DBUILD_SHARED_LIBS=ON -DPDC_SERVER_CACHE=OFF -DBUILD_TESTING=ON -DCMAKE_INSTALL_PREFIX=$(realpath ..)/install -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"
make -j
make install
- uses: actions/upload-artifact@v4.1.0
if: success()
with:
name: "no-cache"
path: |
${{ github.workspace }}/build
${{ github.workspace }}/install
parallel-pdc:
needs:
- build
runs-on:
- self-hosted
- perlmutter
environment: NERSC
timeout-minutes: 2880
steps:
- uses: actions/download-artifact@v4.1.0
- run: |
export LD_LIBRARY_PATH="$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
cd ${{ github.workspace }}/no-cache/build
salloc $SCHEDULER_PARAMETERS
ctest -L parallel_pdc
exit
rm -rf ${PDC_TMPDIR} ${PDC_DATA_LOC}
parallel-obj:
needs:
- build
- parallel-pdc
runs-on:
- self-hosted
- perlmutter
environment: NERSC
timeout-minutes: 2880
steps:
- uses: actions/download-artifact@v4.1.0
- run: |
export LD_LIBRARY_PATH="$MERCURY_DIR/lib:$LD_LIBRARY_PATH"
cd ${{ github.workspace }}/no-cache/build
salloc $SCHEDULER_PARAMETERS
ctest -L parallel_obj
exit
rm -rf ${PDC_TMPDIR} ${PDC_DATA_LOC}