Skip to content

Commit

Permalink
TPL: Get faodel build working again
Browse files Browse the repository at this point in the history
  • Loading branch information
gsjaardema committed Aug 10, 2023
1 parent 7bb73bd commit 2b49708
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 8 deletions.
33 changes: 31 additions & 2 deletions .github/workflows/build_variant.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ jobs:
fortran: "YES",
use_kokkos: "NO",
use_adios2: "NO",
use_faodel: "NO",
use_catalyst2: "NO",
gtest: "NO",
extra: "",
Expand All @@ -84,6 +85,7 @@ jobs:
fortran: "YES",
use_kokkos: "NO",
use_adios2: "NO",
use_faodel: "NO",
use_catalyst2: "NO",
gtest: "NO",
extra: "",
Expand All @@ -98,6 +100,7 @@ jobs:
fortran: "NO",
use_kokkos: "NO",
use_adios2: "NO",
use_faodel: "NO",
use_catalyst2: "NO",
gtest: "NO",
extra: "",
Expand All @@ -112,6 +115,7 @@ jobs:
fortran: "NO",
use_kokkos: "NO",
use_adios2: "NO",
use_faodel: "NO",
use_catalyst2: "NO",
gtest: "NO",
extra: "",
Expand All @@ -126,6 +130,7 @@ jobs:
fortran: "NO",
use_kokkos: "NO",
use_adios2: "NO",
use_faodel: "NO",
use_catalyst2: "NO",
gtest: "NO",
extra: "",
Expand All @@ -140,6 +145,7 @@ jobs:
fortran: "YES",
use_kokkos: "NO",
use_adios2: "NO",
use_faodel: "NO",
use_catalyst2: "NO",
gtest: "NO",
extra: "",
Expand All @@ -154,6 +160,7 @@ jobs:
fortran: "NO",
use_kokkos: "NO",
use_adios2: "NO",
use_faodel: "NO",
use_catalyst2: "NO",
gtest: "NO",
extra: "",
Expand All @@ -168,6 +175,7 @@ jobs:
fortran: "YES",
use_kokkos: "NO",
use_adios2: "NO",
use_faodel: "NO",
use_catalyst2: "NO",
gtest: "YES",
extra: "",
Expand All @@ -182,6 +190,7 @@ jobs:
fortran: "NO",
use_kokkos: "NO",
use_adios2: "NO",
use_faodel: "NO",
use_catalyst2: "NO",
gtest: "NO",
extra: "APPLICATIONS=NO LEGACY=NO",
Expand All @@ -196,6 +205,7 @@ jobs:
fortran: "YES",
use_kokkos: "NO",
use_adios2: "NO",
use_faodel: "NO",
use_catalyst2: "YES",
gtest: "YES",
extra: "",
Expand All @@ -210,6 +220,7 @@ jobs:
fortran: "YES",
use_kokkos: "YES",
use_adios2: "NO",
use_faodel: "NO",
use_catalyst2: "NO",
gtest: "NO",
extra: "",
Expand All @@ -224,6 +235,7 @@ jobs:
fortran: "YES",
use_kokkos: "NO",
use_adios2: "NO",
use_faodel: "NO",
use_catalyst2: "NO",
gtest: "NO",
extra: "OMIT_DEPRECATED=YES",
Expand All @@ -238,6 +250,7 @@ jobs:
fortran: "YES",
use_kokkos: "NO",
use_adios2: "NO",
use_faodel: "NO",
use_catalyst2: "NO",
gtest: "YES",
extra: "MODERN=YES",
Expand All @@ -252,6 +265,22 @@ jobs:
fortran: "YES",
use_kokkos: "NO",
use_adios2: "YES",
use_faodel: "NO",
use_catalyst2: "NO",
gtest: "YES",
extra: "",
sanitizer: "NO" # address, integer, thread, memory, undefined
}
- {
name: "FAODEL enabled",
os: ubuntu-latest,
compiler: "mpi",
debug: "NO",
threadsafe: "NO",
fortran: "YES",
use_kokkos: "NO",
use_adios2: "NO",
use_faodel: "YES",
use_catalyst2: "NO",
gtest: "YES",
extra: "",
Expand All @@ -277,10 +306,10 @@ jobs:
run: ls ${HOME} && ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.config.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} && ls ${HOME}/environments/${{ matrix.config.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}/lib

- name: install additional TPL
if: ${{ matrix.config.use_kokkos == 'YES' || matrix.config.use_adios2 == 'YES' || matrix.config.gtest == 'YES' || matrix.config.use_catalyst == 'YES' }}
if: ${{ matrix.config.use_kokkos == 'YES' || matrix.config.use_adios2 == 'YES' || matrix.config.gtest == 'YES' || matrix.config.use_faodel == 'YES' || matrix.config.use_catalyst == 'YES' }}
run: |
set -x
COMPILER=${{ matrix.config.compiler }} KOKKOS=${{ matrix.config.use_kokkos }} ADIOS2=${{ matrix.config.use_adios2 }} CATALYST2=${{ matrix.config.use_catalyst2 }} GNU_PARALLEL=OFF GTEST=${{ matrix.config.gtest }} INSTALL_PATH=${HOME}/environments/${{ matrix.config.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} ./install-tpl.sh
COMPILER=${{ matrix.config.compiler }} KOKKOS=${{ matrix.config.use_kokkos }} ADIOS2=${{ matrix.config.use_adios2 }} CATALYST2=${{ matrix.config.use_catalyst2 }} FAODEL=${{ matrix.config.use_faodel }} GNU_PARALLEL=OFF GTEST=${{ matrix.config.gtest }} INSTALL_PATH=${HOME}/environments/${{ matrix.config.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} ./install-tpl.sh
ls ${HOME} && ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.config.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} && ls ${HOME}/environments/${{ matrix.config.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}/lib
###
Expand Down
4 changes: 2 additions & 2 deletions TPL/faodel/runcmake.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ if [ "X$ACCESS" == "X" ] ; then
echo "ACCESS set to ${ACCESS}"
fi
INSTALL_PATH=${INSTALL_PATH:-${ACCESS}}

. ${ACCESS}/TPL/compiler.sh

BOOST_ROOT=${BOOST_ROOT:-${INSTALL_PATH}}
if [ "X$BOOST_ROOT" == "X" ] ; then
BOOST_ROOT=$(cd ../../../..; pwd)
echo "Faodel requires these Boost packages: atomic log log_setup serialization"
Expand All @@ -27,7 +27,7 @@ cmake .. \
-DCMAKE_INSTALL_PREFIX=${INSTALL_PATH} \
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS:BOOL=OFF \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DGTEST_ROOT=${GTEST_ROOT} \
-DBOOST_ROOT=${BOOST_ROOT} \
-DFaodel_NETWORK_LIBRARY=nnti \
Expand Down
38 changes: 34 additions & 4 deletions install-tpl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -120,13 +120,16 @@ H5VERSION=${H5VERSION:-V114}
FAODEL=${FAODEL:-NO}
FAODEL=$(check_valid FAODEL)

BOOST=${BOOST:-${FAODEL}}
BOOST=$(check_valid BOOST)

ADIOS2=${ADIOS2:-NO}
ADIOS2=$(check_valid ADIOS2)

CATALYST2=${CATALYST2:-NO}
CATALYST2=$(check_valid CATALYST2)

GTEST=${GTEST:-NO}
GTEST=${GTEST:-${FAODEL}}
GTEST=$(check_valid GTEST)

MPI=${MPI:-NO}
Expand Down Expand Up @@ -837,7 +840,7 @@ fi
# =================== INSTALL ADIOS2 ===============
if [ "$ADIOS2" == "YES" ]
then
if [ "$FORCE" == "YES" ] || ! [ -e $INSTALL_PATH/lib/libadios2.${LD_EXT} ]
if [ "$FORCE" == "YES" ] || ! [ -e $INSTALL_PATH/lib/libadios2_c.${LD_EXT} ]
then
echo "${txtgrn}+++ ADIOS2${txtrst}"
cd $ACCESS || exit
Expand Down Expand Up @@ -998,10 +1001,37 @@ then
fi
fi

# =================== INSTALL BOOST ===============
if [ "$BOOST" == "YES" ]
then
if [ "$FORCE" == "YES" ] || ! [ -e $INSTALL_PATH/include/boost ]
then
# FAODEL Requires Boost... For now, just download and install
echo "${txtgrn}+++ Installing Boost as dependency of Faodel${txtrst}"
cd $ACCESS || exit
cd TPL/boost || exit
BOOST_VER="1_82_0"
if [ "$DOWNLOAD" == "YES" ]
then
wget --no-check-certificate "https://boostorg.jfrog.io/artifactory/main/release/1.82.0/source/boost_${BOOST_VER}.tar.bz2"
tar xf boost_${BOOST_VER}.tar.bz2
fi
if [ "$BUILD" == "YES" ]
then
echo "${txtgrn}+++ Configuring, Building, and Installing...${txtrst}"
cd boost_${BOOST_VER}
./bootstrap.sh --prefix=${INSTALL_PATH}
./b2 -a install
fi
else
echo "${txtylw}+++ Boost already installed. Skipping download and installation.${txtrst}"
fi
fi

# =================== INSTALL FAODEL ===============
if [ "$FAODEL" == "YES" ]
then
if [ "$FORCE" == "YES" ] || ! [ -e $INSTALL_PATH/lib/libkelpie.a ]
if [ "$FORCE" == "YES" ] || ! [ -e $INSTALL_PATH/lib/libkelpie.${LD_EXT} ]
then
faodel_base="faodel"
echo "${txtgrn}+++ Faodel${txtrst}"
Expand All @@ -1011,7 +1041,7 @@ then
then
echo "${txtgrn}+++ Downloading...${txtrst}"
rm -rf faodel*
git clone git@github.com:faodel/faodel.git
git clone https://github.com/sandialabs/faodel.git
fi

if [ "$BUILD" == "YES" ]
Expand Down

0 comments on commit 2b49708

Please sign in to comment.