forked from flux-framework/dyad
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request flux-framework#65 from JaeseungYeom/cmake_enhance
Build: cmake enhancement
- Loading branch information
Showing
44 changed files
with
1,064 additions
and
143 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,9 +13,15 @@ jobs: | |
matrix: | ||
flux: [ 0.52.0, 0.49.0] | ||
mode: ["FLUX_RPC", "UCX"] | ||
runs-on: ubuntu-20.04 # Docker-based jobs must run on Ubuntu | ||
os: [ ubuntu-20.04 ] | ||
compiler: [ gcc ] | ||
gcc: [ 10 ] | ||
name: ${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.gcc }}-${{ matrix.flux }}-${{ matrix.mode }} | ||
runs-on: ${{ matrix.os }} # Docker-based jobs must run on Ubuntu | ||
env: | ||
FLUX_VERSION: ${{ matrix.flux }} | ||
CC: gcc-${{ matrix.gcc }} | ||
CXX: g++-${{ matrix.gcc }} | ||
SPACK_DIR: "/home/runner/work/spack" | ||
DYAD_INSTALL_PREFIX: "/home/runner/work/dyad/install" | ||
DYAD_KVS_NAMESPACE: "test" | ||
|
@@ -30,11 +36,16 @@ jobs: | |
uses: actions/checkout@v3 | ||
with: | ||
ref: ${{ github.event.pull_request.head.sha }} | ||
- name: Set up GCC | ||
uses: egor-tensin/setup-gcc@v1 | ||
with: | ||
version: ${{ matrix.gcc }} | ||
- name: Install system deps | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install -y --no-install-recommends \ | ||
gcc g++ gfortran \ | ||
cmake \ | ||
autoconf \ | ||
automake \ | ||
libtool \ | ||
|
@@ -61,7 +72,11 @@ jobs: | |
run: | | ||
. ${SPACK_DIR}/share/spack/setup-env.sh | ||
mkdir -p /home/runner/.spack | ||
cat > /home/runner/.spack/packages.yaml << 'EOF' | ||
GCC_VERSION="9.3.0" | ||
if [[ $CC == 'gcc-10' ]]; then | ||
GCC_VERSION="10.3.0" | ||
fi | ||
cat > /home/runner/.spack/packages.yaml <<EOF | ||
packages: | ||
all: | ||
target: [x86_64] | ||
|
@@ -177,7 +192,25 @@ jobs: | |
externals: | ||
- spec: "[email protected]" | ||
prefix: /usr | ||
gcc: | ||
externals: | ||
- spec: gcc@${GCC_VERSION} languages=c,c++ | ||
prefix: /usr | ||
extra_attributes: | ||
compilers: | ||
c: ${CC} | ||
cxx: ${CXX} | ||
buildable: False | ||
EOF | ||
echo "-------------------------------" | ||
cat /home/runner/.spack/packages.yaml | ||
echo "-------------------------------" | ||
spack compiler find --scope=user | ||
if [[ $CC == 'gcc-10' ]]; then | ||
spack config add "packages:all:compiler:[[email protected]]" | ||
else | ||
spack config add "packages:all:compiler:[[email protected]]" | ||
fi | ||
spack external find | ||
spack spec flux-core@${FLUX_VERSION} | ||
if [[ $DYAD_DTL_MODE == 'UCX' ]]; then | ||
|
@@ -206,12 +239,14 @@ jobs: | |
mkdir build | ||
cd build | ||
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${DYAD_INSTALL_PREFIX}/lib/pkgconfig | ||
CONFIGURE_FLAGS="-DDYAD_CONTROL_PLANE=FLUX_RPC -DDYAD_DATA_PLANE=FLUX_RPC -DDYAD_PROFILER=NONE" | ||
CONFIGURE_FLAGS="-DDYAD_PROFILER=NONE" | ||
if [[ $DYAD_DTL_MODE == 'UCX' ]]; then | ||
CONFIGURE_FLAGS="-DDYAD_CONTROL_PLANE=FLUX_RPC -DDYAD_DATA_PLANE=UCX -DDYAD_PROFILER=NONE" | ||
CONFIGURE_FLAGS="-DDYAD_ENABLE_UCX_DATA=ON -DDYAD_PROFILER=NONE" | ||
fi | ||
cmake -DCMAKE_INSTALL_PREFIX=${DYAD_INSTALL_PREFIX} ${CONFIGURE_FLAGS} -DENABLE_DYAD_DEBUG=ON .. | ||
make install -j | ||
TEST_CONF="-DDYAD_LIBDIR_AS_LIB:BOOL=ON -DCMAKE_BUILD_TYPE=Debug" | ||
cmake --version | ||
cmake -DCMAKE_INSTALL_PREFIX=${DYAD_INSTALL_PREFIX} ${CONFIGURE_FLAGS} ${TEST_CONF} .. | ||
make VERBOSE=1 install -j | ||
- name: Install PyDYAD | ||
run: | | ||
cd ${GITHUB_WORKSPACE}/pydyad | ||
|
@@ -229,14 +264,15 @@ jobs: | |
- name: Test DYAD with DLIO benchmark | ||
run: | | ||
mkdir -p $DYAD_PATH | ||
. ${SPACK_DIR}/share/spack/setup-env.sh | ||
export PATH=${PATH}:${DYAD_INSTALL_PREFIX}/bin:${DYAD_INSTALL_PREFIX}/sbin | ||
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${DYAD_INSTALL_PREFIX}/lib | ||
export PYTHONPATH=${GITHUB_WORKSPACE}/tests/integration/dlio_benchmark:${GITHUB_WORKSPACE}/pydyad:$PYTHONPATH | ||
python3 -m pip install -r ${GITHUB_WORKSPACE}/tests/integration/dlio_benchmark/requirements.txt | ||
echo "Starting flux brokers" | ||
cd ${GITHUB_WORKSPACE}/tests/integration/dlio_benchmark | ||
flux start --test-size=2 /bin/bash ./script.sh ${GITHUB_WORKSPACE} ${DYAD_INSTALL_PREFIX} | ||
#. ${SPACK_DIR}/share/spack/setup-env.sh | ||
#export PATH=${PATH}:${DYAD_INSTALL_PREFIX}/bin:${DYAD_INSTALL_PREFIX}/sbin | ||
#export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${DYAD_INSTALL_PREFIX}/lib | ||
#export PYTHONPATH=${GITHUB_WORKSPACE}/tests/integration/dlio_benchmark:${GITHUB_WORKSPACE}/pydyad:$PYTHONPATH | ||
#python3 -m pip install -r ${GITHUB_WORKSPACE}/tests/integration/dlio_benchmark/requirements.txt | ||
#python3 -m pip install --force-reinstall dlio_profiler_py | ||
#echo "Starting flux brokers" | ||
#cd ${GITHUB_WORKSPACE}/tests/integration/dlio_benchmark | ||
#flux start --test-size=2 /bin/bash ./script.sh ${GITHUB_WORKSPACE} ${DYAD_INSTALL_PREFIX} | ||
- name: Test DYAD with separate FS c | ||
run: | | ||
mkdir -p $DYAD_PATH | ||
|
@@ -256,9 +292,9 @@ jobs: | |
- name: Test DYAD with separate FS python | ||
run: | | ||
mkdir -p $DYAD_PATH | ||
. ${SPACK_DIR}/share/spack/setup-env.sh | ||
export PATH=${PATH}:${DYAD_INSTALL_PREFIX}/bin:${DYAD_INSTALL_PREFIX}/sbin | ||
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${DYAD_INSTALL_PREFIX}/lib | ||
echo "Starting flux brokers" | ||
flux start --test-size=2 /bin/bash ${GITHUB_WORKSPACE}/.github/prod-cons/dyad_prod_cons_test.sh "python" | ||
#. ${SPACK_DIR}/share/spack/setup-env.sh | ||
#export PATH=${PATH}:${DYAD_INSTALL_PREFIX}/bin:${DYAD_INSTALL_PREFIX}/sbin | ||
#export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${DYAD_INSTALL_PREFIX}/lib | ||
#echo "Starting flux brokers" | ||
#flux start --test-size=2 /bin/bash ${GITHUB_WORKSPACE}/.github/prod-cons/dyad_prod_cons_test.sh "python" | ||
Oops, something went wrong.