Commits on Source (2)
......@@ -54,12 +54,12 @@ NGIO_DEPS=(
)
DIRECT_DEPS=(
"ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date"
"ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date"
)
ALL_DEPS=(
"bzip2" "zstd" "lz4" "snappy" "capstone" "bmi" "ofi" "mercury" "argobots" "margo" "rocksdb"
"syscall_intercept" "date" "agios"
"syscall_intercept" "date" "agios"
)
CI_DEPS=(
......@@ -67,7 +67,7 @@ CI_DEPS=(
)
usage_short() {
echo "
echo "
usage: compile_dep.sh [-h] [-l] [-n <NAPLUGIN>] [-c <CONFIG>] [-d <DEPENDENCY>] [-j <COMPILE_CORES>]
source_path install_path
"
......@@ -114,22 +114,22 @@ list_dependencies() {
for d in "${MOGON1_DEPS[@]}"; do
echo -n "$d "
done
echo
echo
echo -n " Mogon 2: "
for d in "${MOGON2_DEPS[@]}"; do
echo -n "$d "
done
echo
echo
echo -n " NGIO: "
for d in "${NGIO_DEPS[@]}"; do
echo -n "$d "
done
echo
echo
echo -n " Direct GekkoFS dependencies: "
for d in "${DIRECT_DEPS[@]}"; do
echo -n "$d "
done
echo
echo
echo -n " All: "
for d in "${ALL_DEPS[@]}"; do
echo -n "$d "
......@@ -139,28 +139,28 @@ list_dependencies() {
for d in "${CI_DEPS[@]}"; do
echo -n "$d "
done
echo
echo
}
check_dependency() {
local DEP=$1
shift
local DEP_CONFIG=("$@")
# ignore template when specific dependency is set
if [[ -n "${DEPENDENCY}" ]]; then
# check if specific dependency was set and return from function
if echo "${DEPENDENCY}" | grep -q "${DEP}"; then
return
fi
else
# if not check if dependency is part of dependency config
for e in "${DEP_CONFIG[@]}"; do
if [[ "${DEP}" == "${e}" ]]; then
return
local DEP=$1
shift
local DEP_CONFIG=("$@")
# ignore template when specific dependency is set
if [[ -n "${DEPENDENCY}" ]]; then
# check if specific dependency was set and return from function
if echo "${DEPENDENCY}" | grep -q "${DEP}"; then
return
fi
done
fi
false
else
# if not check if dependency is part of dependency config
for e in "${DEP_CONFIG[@]}"; do
if [[ "${DEP}" == "${e}" ]]; then
return
fi
done
fi
false
}
prepare_build_dir() {
......@@ -275,29 +275,29 @@ fi
# enable predefined dependency template
case ${TMP_DEP_CONF} in
mogon1)
DEP_CONFIG=("${MOGON1_DEPS[@]}")
echo "'Mogon1' dependencies are compiled"
;;
DEP_CONFIG=("${MOGON1_DEPS[@]}")
echo "'Mogon1' dependencies are compiled"
;;
mogon2)
DEP_CONFIG=("${MOGON2_DEPS[@]}")
echo "'Mogon2' dependencies are compiled"
;;
DEP_CONFIG=("${MOGON2_DEPS[@]}")
echo "'Mogon2' dependencies are compiled"
;;
ngio)
DEP_CONFIG=("${NGIO_DEPS[@]}")
echo "'NGIO' dependencies are compiled"
;;
DEP_CONFIG=("${NGIO_DEPS[@]}")
echo "'NGIO' dependencies are compiled"
;;
all)
DEP_CONFIG=("${ALL_DEPS[@]}")
echo "'All' dependencies are compiled"
;;
DEP_CONFIG=("${ALL_DEPS[@]}")
echo "'All' dependencies are compiled"
;;
ci)
DEP_CONFIG=("${CI_DEPS[@]}")
echo "'CI' dependencies are compiled"
;;
DEP_CONFIG=("${CI_DEPS[@]}")
echo "'CI' dependencies are compiled"
;;
direct | *)
DEP_CONFIG=("${DIRECT_DEPS[@]}")
echo "'Direct' GekkoFS dependencies are compiled (default)"
;;
DEP_CONFIG=("${DIRECT_DEPS[@]}")
echo "'Direct' GekkoFS dependencies are compiled (default)"
;;
esac
USE_BMI="-DNA_USE_BMI:BOOL=OFF"
......@@ -419,7 +419,7 @@ if check_dependency "ofi" "${DEP_CONFIG[@]}"; then
elif check_dependency "psm2-system" "${DEP_CONFIG[@]}"; then
OFI_CONFIG="${OFI_CONFIG} --enable-psm2=yes"
fi
${OFI_CONFIG}
${OFI_CONFIG}
make -j${CORES}
make install
[ "${PERFORM_TEST}" ] && make check
......@@ -428,12 +428,12 @@ fi
# AGIOS
if check_dependency "agios" "${DEP_CONFIG[@]}"; then
echo "############################################################ Installing: AGIOS"
CURR=${SOURCE}/agios
prepare_build_dir "${CURR}"
cd "${CURR}"/build
$CMAKE -DCMAKE_INSTALL_PREFIX="${INSTALL}" ..
make install
echo "############################################################ Installing: AGIOS"
CURR=${SOURCE}/agios
prepare_build_dir "${CURR}"
cd "${CURR}"/build
$CMAKE -DCMAKE_INSTALL_PREFIX="${INSTALL}" ..
make install
fi
# Mercury
......@@ -502,7 +502,8 @@ if check_dependency "rocksdb" "${DEP_CONFIG[@]}"; then
cd "${CURR}"
make clean
USE_RTTI=1 make -j"${CORES}" static_lib
INSTALL_PATH="${INSTALL}" make install
# INSTALL_PATH older version, PREFIX newer versions
INSTALL_PATH="${INSTALL}" PREFIX="${INSTALL}" make install
fi
# syscall_intercept
......
......@@ -389,7 +389,7 @@ fi
# get libfabric
if [ "${NA_LAYER}" == "ofi" ] || [ "${NA_LAYER}" == "all" ]; then
if check_dependency "ofi-experimental" "${DEP_CONFIG[@]}"; then
clonedeps "libfabric" "https://github.com/ofiwg/libfabric.git" "" "-b v1.11.1" &
clonedeps "libfabric" "https://github.com/ofiwg/libfabric.git" "" "-b v1.12.1" &
elif check_dependency "ofi-verbs" "${DEP_CONFIG[@]}"; then
# libibverbs 1.2.1-1 used on mogon 1i (installed on system) which is linked to libfabric
# libfabric 1.8 random RPCs fail to be send. 1.9 RPC client cannot be started when in an MPI environment
......@@ -404,30 +404,33 @@ if check_dependency "psm2" "${DEP_CONFIG[@]}"; then
fi
# get Mercury
if check_dependency "mercury" "${DEP_CONFIG[@]}"; then
clonedeps "mercury" "https://github.com/mercury-hpc/mercury" "3b2934490fbbcc291541e9f417fed120ffc1a04f" "--recurse-submodules" &
if check_dependency "mercury-experimental" "${DEP_CONFIG[@]}"; then
# currently not compatible with Hermes
clonedeps "mercury" "https://github.com/mercury-hpc/mercury" "71672b0d453dc5a64d20f46b86f25fed12566eff" "--recurse-submodules" &
elif check_dependency "rocksdb" "${DEP_CONFIG[@]}"; then
clonedeps "mercury" "https://github.com/mercury-hpc/mercury" "4796aeeb90ba58be8a3b17a73f27aa3afed1ee0f" "--recurse-submodules" &
fi
# get Argobots
if check_dependency "argobots" "${DEP_CONFIG[@]}"; then
wgetdeps "argobots" "https://github.com/pmodels/argobots/archive/v1.0.1.tar.gz" &
wgetdeps "argobots" "https://github.com/pmodels/argobots/archive/refs/tags/v1.1.tar.gz" &
fi
# get Margo
if check_dependency "margo" "${DEP_CONFIG[@]}"; then
clonedeps "margo" "https://github.com/mochi-hpc/mochi-margo" "084b61323933a0e014653eecf8f6b66a94196a2d" &
clonedeps "margo" "https://github.com/mochi-hpc/mochi-margo" "84c7a123fcabaac1545cc0352a74ea27ed1d6a83" &
fi
# get rocksdb
if check_dependency "rocksdb-experimental" "${DEP_CONFIG[@]}"; then
wgetdeps "rocksdb" "https://github.com/facebook/rocksdb/archive/v6.15.5.tar.gz" &
wgetdeps "rocksdb" "https://github.com/facebook/rocksdb/archive/refs/tags/v6.16.4.tar.gz" &
elif check_dependency "rocksdb" "${DEP_CONFIG[@]}"; then
wgetdeps "rocksdb" "https://github.com/facebook/rocksdb/archive/v6.11.4.tar.gz" &
fi
# get syscall_intercept
if check_dependency "syscall_intercept" "${DEP_CONFIG[@]}"; then
clonedeps "syscall_intercept" "https://github.com/pmem/syscall_intercept.git" "f7cebb7b7e7512a19b78a31ce236ad6ca22636dd" "" "syscall_intercept.patch" &
clonedeps "syscall_intercept" "https://github.com/pmem/syscall_intercept.git" "304404581c57d43478438d175099d20260bae74e" "" "syscall_intercept.patch" &
fi
# get AGIOS
......