|
5 | 5 |
|
6 | 6 | name: Test projects |
7 | 7 |
|
8 | | -run-name: Test projects |
9 | | - |
10 | 8 | on: |
11 | 9 | pull_request: |
12 | 10 | branches: |
|
16 | 14 |
|
17 | 15 | jobs: |
18 | 16 |
|
19 | | - build_kokkos: |
20 | | - runs-on: ubuntu-latest |
21 | | - steps: |
22 | | - - name: Set up Git repository |
23 | | - uses: actions/checkout@v4 |
24 | | - - name: Install Kokkos |
25 | | - run: | |
26 | | - git clone https://github.com/kokkos/kokkos.git |
27 | | - cd kokkos |
28 | | - git checkout develop |
29 | | - mkdir build_openmp |
30 | | - mkdir install_openmp |
31 | | - cmake -B build_openmp -DCMAKE_INSTALL_PREFIX=${PWD}/install_openmp -DKokkos_ENABLE_OPENMP=ON ./ |
32 | | - make install -C build_openmp |
33 | | - - name: Upload Kokkos artifact |
34 | | - uses: actions/upload-artifact@v4 |
35 | | - with: |
36 | | - name: kokkos |
37 | | - path: kokkos/install_openmp |
38 | | - |
39 | | - build_wave_projects: |
| 17 | + build_test_projects: |
40 | 18 | runs-on: ubuntu-latest |
41 | | - needs: [build_kokkos] |
42 | 19 | steps: |
43 | 20 | - name: Set up Git repository |
44 | 21 | uses: actions/checkout@v4 |
45 | | - - name: Download Kokkos artifact |
46 | | - uses: actions/download-artifact@v4 |
47 | | - with: |
48 | | - name: kokkos |
49 | | - path: kokkos/install_openmp |
50 | | - - name: wave sequential |
| 22 | + - name: Prepare all projects with the OpenMP backend |
51 | 23 | run: | |
52 | | - cd projects/wave/sequential/ |
53 | | - cmake -DCMAKE_BUILD_TYPE=Release ./ |
54 | | - make |
55 | | - ./exe |
56 | | - cd ${GITHUB_WORKSPACE} |
57 | | - - name: wave openMP |
| 24 | + cmake \ |
| 25 | + -B build \ |
| 26 | + -DCMAKE_BUILD_TYPE=Release \ |
| 27 | + -DKokkos_ENABLE_OPENMP=ON \ |
| 28 | + projects |
| 29 | + - name: Build all projects |
58 | 30 | run: | |
59 | | - cd projects/wave/omp |
60 | | - cmake -DCMAKE_BUILD_TYPE=Release ./ |
61 | | - make |
62 | | - export OMP_NUM_THREADS=2 |
63 | | - export OMP_PROC_BIND=true |
64 | | - export OMP_SCHEDULER=dynamic |
65 | | - ./exe --size 128 128 --time 5 --output-period 100 --print-period 100 --domain-length 10 10 --boundary 1 |
66 | | - cd ${GITHUB_WORKSPACE} |
67 | | - - name: wave Kokkos |
| 31 | + cmake \ |
| 32 | + --build build \ |
| 33 | + --parallel $(($(nproc) * 2 + 1)) |
| 34 | + - name: Test all solutions and reference implementations |
| 35 | + env: |
| 36 | + OMP_PROC_BIND: spread |
| 37 | + OMP_PLACES: threads |
| 38 | + OMP_NUM_THREADS: 2 |
68 | 39 | run: | |
69 | | - cd projects/wave/solution/ |
70 | | - cmake -DCMAKE_BUILD_TYPE=Release -DKokkos_DIR=${GITHUB_WORKSPACE}/kokkos/install_openmp/lib/cmake/Kokkos/ ./ |
71 | | - make |
72 | | - ./exe --size 128 128 --time 5 --output-period 100 --print-period 100 --domain-length 10 10 --boundary 1 |
73 | | - cd ${GITHUB_WORKSPACE} |
74 | | - |
| 40 | + ctest \ |
| 41 | + --test-dir build \ |
| 42 | + --output-on-failure |
0 commit comments