Skip to content

Commit 1a01c3c

Browse files
committed
Adding CI config for testing of parsec via dplasma
1 parent c3a0344 commit 1a01c3c

4 files changed

Lines changed: 55 additions & 7 deletions

File tree

.github/CI/env_setup.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ fi
3636
-DBUILD_SHARED_LIBS=$SHARED_TYPE
3737
-DPARSEC_PROF_TRACE=$PROFILING
3838
-DMPIEXEC_PREFLAGS='--bind-to;none;--oversubscribe'
39-
-DCMAKE_INSTALL_PREFIX=install
39+
-DCMAKE_INSTALL_PREFIX=$PARSEC_INSTALL_DIR
4040
-DPARSEC_GPU_WITH_CUDA=$CUDA
4141
-DPARSEC_GPU_WITH_HIP=$HIP
4242
EOF

.github/dplasma/action.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: DPLASMA
2+
description: Uses the DPLASMA CI as a tester for PaRSEC
3+
4+
# Environment variables required:
5+
# BUILD_TYPE: ${{matrix.build_type}}
6+
# SHARED_TYPE: ${{matrix.shared_type}}
7+
# DEVICE: ${{matrix.device}}
8+
# PARSEC_INSTALL_DIR:
9+
# INSTALL_DIRECTORY: ${{github.workspace}}/dplasma/install
10+
# SETUP: ${{github.workspace}}/dplasma/.github/workflows/env_setup.sh
11+
12+
runs:
13+
using: "composite"
14+
steps:
15+
- name: Build and Install DPLASMA
16+
shell: bash
17+
run: |
18+
export INSTALL_DIRECTORY=$PWD/dplasma/install
19+
git clone https://github.com/ICLDisco/dplasma
20+
sed -i s/MPIEXEC_NUMPROC_FLAGS/MPIEXEC_NUMPROC_FLAG/ dplasma/CMakeLists.txt
21+
source dplasma/.github/workflows/env_setup.sh
22+
mkdir dplasma/build
23+
cd dplasma/build
24+
CC=gcc CXX=g++ FC=gfortran cmake $BUILD_CONFIG -DPaRSEC_ROOT=$PARSEC_INSTALL_DIR ..
25+
cmake --build .
26+
cmake --build . --target install
27+
28+
- name: Test
29+
if: ${{ startsWith(matrix.build_type, 'Release') }}
30+
working-directory: dplasma/build
31+
shell: bash
32+
run: |
33+
source ../.github/workflows/env_setup.sh
34+
ctest --verbose --output-on-failure -R 'launcher|dplasma' -E lowmem # lowmem tests are busted atm
35+
36+
- name: Save Artifact
37+
if: failure()
38+
uses: actions/upload-artifact@v4
39+
with:
40+
name: CMake-error-log
41+
path: dplasma/build/CMakeFiles/CMakeError.log

.github/workflows/main.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,23 @@ jobs:
1313
strategy:
1414
fail-fast: false
1515
matrix:
16-
build_type : [ Debug, Release ]
17-
shared_type : [ OFF, ON ]
18-
profiling : [ OFF, ON ]
19-
device: [ cpu, gpu_nvidia, gpu_amd ]
16+
build_type : [ Release ]
17+
shared_type : [ ON ]
18+
profiling : [ ON ]
19+
device: [ cpu, gpu_nvidia ]
2020
exclude:
2121
- build_type: Debug
2222
profiling: OFF
2323
- build_type: Release
2424
shared_type: OFF
25-
name: "${{matrix.build_type}} Shared=${{matrix.shared_type}} Profile=${{matrix.profiling}} ${{matrix.device}}"
25+
name: "PaRSEC ${{matrix.build_type}} Shared=${{matrix.shared_type}} Profile=${{matrix.profiling}} ${{matrix.device}}"
2626
runs-on: [ "${{matrix.device}}", self-hosted ]
2727
env:
2828
BUILD_TYPE: ${{matrix.build_type}}
2929
SHARED_TYPE: ${{matrix.shared_type}}
3030
PROFILING: ${{matrix.profiling}}
3131
DEVICE: ${{matrix.device}}
32+
PARSEC_INSTALL_DIR: ${{github.workspace}}/install
3233
SETUP: ${{github.workspace}}/.github/CI/env_setup.sh
3334
steps:
3435
- uses: actions/checkout@v4
@@ -76,3 +77,6 @@ jobs:
7677
with:
7778
name: CMake-error-log
7879
path: CMakeFiles/CMakeError.log
80+
81+
- name: Test with DPLASMA
82+
uses: ./.github/dplasma

parsec/data_dist/matrix/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ if( TARGET parsec-ptgpp )
3232
target_ptg_sources(parsec PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/reduce_col.jdf;${CMAKE_CURRENT_SOURCE_DIR}/reduce_row.jdf;${CMAKE_CURRENT_SOURCE_DIR}/reduce.jdf;${CMAKE_CURRENT_SOURCE_DIR}/diag_band_to_rect.jdf;${CMAKE_CURRENT_SOURCE_DIR}/apply.jdf")
3333
set_property(TARGET parsec
3434
APPEND PROPERTY
35-
PRIVATE_HEADER_H data_dist/matrix/diag_band_to_rect.h)
35+
PRIVATE_HEADER_H
36+
data_dist/matrix/diag_band_to_rect.h
37+
data_dist/matrix/apply.h
38+
)
3639
endif( TARGET parsec-ptgpp )
3740

3841
target_sources(parsec PRIVATE ${sources})

0 commit comments

Comments
 (0)