Loading .gitmodules +1 −1 Original line number Diff line number Diff line [submodule "external/hermes"] path = external/hermes url = https://github.com/bsc-ssrg/hermes.git url = https://github.com/marcvef/hermes.git [submodule "external/fmt"] path = external/fmt url = https://github.com/fmtlib/fmt scripts/compile_dep.sh +68 −55 Original line number Diff line number Diff line Loading @@ -40,17 +40,17 @@ VALID_DEP_OPTIONS="mogon2 mogon1 ngio direct all ci" MOGON1_DEPS=( "zstd" "lz4" "snappy" "capstone" "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "verbs" "syscall_intercept" "date" "verbs" "json-c" ) MOGON2_DEPS=( "bzip2" "zstd" "lz4" "snappy" "capstone" "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "psm2" "syscall_intercept" "date" "psm2" "json-c" ) NGIO_DEPS=( "zstd" "lz4" "snappy" "capstone" "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "agios" "psm2" "syscall_intercept" "date" "agios" "psm2" "json-c" ) DIRECT_DEPS=( Loading @@ -59,11 +59,11 @@ DIRECT_DEPS=( ALL_DEPS=( "bzip2" "zstd" "lz4" "snappy" "capstone" "bmi" "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "agios" "syscall_intercept" "date" "agios" "json-c" ) CI_DEPS=( "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "agios" "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "agios" "json-c" ) usage_short() { Loading Loading @@ -372,6 +372,18 @@ if check_dependency "capstone" "${DEP_CONFIG[@]}"; then make -j"${CORES}" install fi # build json-c for Margo if check_dependency "json-c" "${DEP_CONFIG[@]}"; then echo "############################################################ Installing: json-c" CURR=${SOURCE}/json-c prepare_build_dir ${CURR} cd ${CURR}/build ../cmake-configure --prefix=${INSTALL} make -j${CORES} install mkdir -p ${INSTALL}/lib/pkgconfig find ${INSTALL} -type f -name "json-c.pc" -exec mv {} ${INSTALL}/lib/pkgconfig \; fi # build BMI if check_dependency "bmi" "${DEP_CONFIG[@]}"; then if [[ "${NA_LAYER}" == "bmi" || "${NA_LAYER}" == "all" ]]; then Loading Loading @@ -491,7 +503,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 Loading scripts/dl_dep.sh +23 −20 Original line number Diff line number Diff line Loading @@ -39,18 +39,18 @@ VERBOSE=false VALID_DEP_OPTIONS="mogon2 mogon1 ngio direct all ci" MOGON1_DEPS=( "zstd" "lz4" "snappy" "capstone" "ofi-verbs" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "zstd" "lz4" "snappy" "capstone" "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "json-c" ) MOGON2_DEPS=( "bzip2" "zstd" "lz4" "snappy" "capstone" "ofi-experimental" "mercury" "argobots" "margo" "rocksdb-experimental" "syscall_intercept" "date" "psm2" "bzip2" "zstd" "lz4" "snappy" "capstone" "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "psm2" "json-c" ) NGIO_DEPS=( "zstd" "lz4" "snappy" "capstone" "ofi-experimental" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "psm2" "agios" "zstd" "lz4" "snappy" "capstone" "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "psm2" "agios" "json-c" ) DIRECT_DEPS=( Loading @@ -59,11 +59,11 @@ DIRECT_DEPS=( ALL_DEPS=( "bzip2" "zstd" "lz4" "snappy" "capstone" "bmi" "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "agios" "syscall_intercept" "date" "agios" "json-c" ) CI_DEPS=( "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "agios" "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "agios" "json-c" ) # Stop all backround jobs on interruption. Loading Loading @@ -372,6 +372,11 @@ if check_dependency "capstone" "${DEP_CONFIG[@]}"; then wgetdeps "capstone" "https://github.com/aquynh/capstone/archive/4.0.1.tar.gz" & fi # get json-c for Margo if check_dependency "json-c" "${DEP_CONFIG[@]}"; then wgetdeps "json-c" "https://github.com/json-c/json-c/archive/json-c-0.15-20200726.tar.gz" & fi ## Direct GekkoFS dependencies # get BMI Loading @@ -383,46 +388,44 @@ 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.9.1" & if check_dependency "ofi-legacy" "${DEP_CONFIG[@]}"; then clonedeps "libfabric" "https://github.com/ofiwg/libfabric.git" "" "-b v1.8.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 clonedeps "libfabric" "https://github.com/ofiwg/libfabric.git" "" "-b v1.7.2" & elif check_dependency "ofi" "${DEP_CONFIG[@]}"; then clonedeps "libfabric" "https://github.com/ofiwg/libfabric.git" "" "-b v1.8.1" & clonedeps "libfabric" "https://github.com/ofiwg/libfabric.git" "" "-b v1.12.1" & fi fi if check_dependency "psm2" "${DEP_CONFIG[@]}"; then wgetdeps "psm2" "https://github.com/intel/opa-psm2/archive/PSM2_11.2.86.tar.gz" & wgetdeps "psm2" "https://github.com/cornelisnetworks/opa-psm2/archive/PSM2_11.2.185.tar.gz" & fi # get Mercury if check_dependency "mercury" "${DEP_CONFIG[@]}"; then clonedeps "mercury" "https://github.com/mercury-hpc/mercury" "41caa143a07ed179a3149cac4af0dc7aa3f946fd" "--recurse-submodules" & clonedeps "mercury" "https://github.com/mercury-hpc/mercury" "75cb615894699a4df5872ba9d187f37cc94330a3" "--recurse-submodules" & fi # get Argobots if check_dependency "argobots" "${DEP_CONFIG[@]}"; then wgetdeps "argobots" "https://github.com/pmodels/argobots/archive/v1.0rc1.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://xgitlab.cels.anl.gov/sds/margo.git" "v0.6.3" & clonedeps "margo" "https://github.com/mochi-hpc/mochi-margo" "34bff25aa8ec9e9348ee07a455308bfe3c17d623" & fi # get rocksdb if check_dependency "rocksdb-experimental" "${DEP_CONFIG[@]}"; then wgetdeps "rocksdb" "https://github.com/facebook/rocksdb/archive/v6.11.4.tar.gz" & elif check_dependency "rocksdb" "${DEP_CONFIG[@]}"; then wgetdeps "rocksdb" "https://github.com/facebook/rocksdb/archive/v6.2.2.tar.gz" & if check_dependency "rocksdb" "${DEP_CONFIG[@]}"; then wgetdeps "rocksdb" "https://github.com/facebook/rocksdb/archive/refs/tags/v6.16.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 Loading src/client/preload_util.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -111,6 +111,8 @@ extract_protocol(const string& uri) { protocol = gkfs::rpc::protocol::ofi_psm2; } else if(uri.find(gkfs::rpc::protocol::ofi_verbs) != string::npos) { protocol = gkfs::rpc::protocol::ofi_verbs; } else if(uri.find(gkfs::rpc::protocol::ofi_tcp) != string::npos) { protocol = gkfs::rpc::protocol::ofi_tcp; } // check for shared memory protocol. Can be plain shared memory or real ofi // protocol + auto_sm Loading src/daemon/daemon.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -383,7 +383,8 @@ parse_input(const po::variables_map& vm) { rpc_protocol = vm["rpc-protocol"].as<string>(); if(rpc_protocol != gkfs::rpc::protocol::ofi_verbs && rpc_protocol != gkfs::rpc::protocol::ofi_sockets && rpc_protocol != gkfs::rpc::protocol::ofi_psm2) { rpc_protocol != gkfs::rpc::protocol::ofi_psm2 && rpc_protocol != gkfs::rpc::protocol::ofi_tcp) { throw runtime_error(fmt::format( "Given RPC protocol '{}' not supported. Check --help for supported protocols.", rpc_protocol)); Loading Loading
.gitmodules +1 −1 Original line number Diff line number Diff line [submodule "external/hermes"] path = external/hermes url = https://github.com/bsc-ssrg/hermes.git url = https://github.com/marcvef/hermes.git [submodule "external/fmt"] path = external/fmt url = https://github.com/fmtlib/fmt
scripts/compile_dep.sh +68 −55 Original line number Diff line number Diff line Loading @@ -40,17 +40,17 @@ VALID_DEP_OPTIONS="mogon2 mogon1 ngio direct all ci" MOGON1_DEPS=( "zstd" "lz4" "snappy" "capstone" "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "verbs" "syscall_intercept" "date" "verbs" "json-c" ) MOGON2_DEPS=( "bzip2" "zstd" "lz4" "snappy" "capstone" "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "psm2" "syscall_intercept" "date" "psm2" "json-c" ) NGIO_DEPS=( "zstd" "lz4" "snappy" "capstone" "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "agios" "psm2" "syscall_intercept" "date" "agios" "psm2" "json-c" ) DIRECT_DEPS=( Loading @@ -59,11 +59,11 @@ DIRECT_DEPS=( ALL_DEPS=( "bzip2" "zstd" "lz4" "snappy" "capstone" "bmi" "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "agios" "syscall_intercept" "date" "agios" "json-c" ) CI_DEPS=( "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "agios" "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "agios" "json-c" ) usage_short() { Loading Loading @@ -372,6 +372,18 @@ if check_dependency "capstone" "${DEP_CONFIG[@]}"; then make -j"${CORES}" install fi # build json-c for Margo if check_dependency "json-c" "${DEP_CONFIG[@]}"; then echo "############################################################ Installing: json-c" CURR=${SOURCE}/json-c prepare_build_dir ${CURR} cd ${CURR}/build ../cmake-configure --prefix=${INSTALL} make -j${CORES} install mkdir -p ${INSTALL}/lib/pkgconfig find ${INSTALL} -type f -name "json-c.pc" -exec mv {} ${INSTALL}/lib/pkgconfig \; fi # build BMI if check_dependency "bmi" "${DEP_CONFIG[@]}"; then if [[ "${NA_LAYER}" == "bmi" || "${NA_LAYER}" == "all" ]]; then Loading Loading @@ -491,7 +503,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 Loading
scripts/dl_dep.sh +23 −20 Original line number Diff line number Diff line Loading @@ -39,18 +39,18 @@ VERBOSE=false VALID_DEP_OPTIONS="mogon2 mogon1 ngio direct all ci" MOGON1_DEPS=( "zstd" "lz4" "snappy" "capstone" "ofi-verbs" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "zstd" "lz4" "snappy" "capstone" "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "json-c" ) MOGON2_DEPS=( "bzip2" "zstd" "lz4" "snappy" "capstone" "ofi-experimental" "mercury" "argobots" "margo" "rocksdb-experimental" "syscall_intercept" "date" "psm2" "bzip2" "zstd" "lz4" "snappy" "capstone" "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "psm2" "json-c" ) NGIO_DEPS=( "zstd" "lz4" "snappy" "capstone" "ofi-experimental" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "psm2" "agios" "zstd" "lz4" "snappy" "capstone" "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "psm2" "agios" "json-c" ) DIRECT_DEPS=( Loading @@ -59,11 +59,11 @@ DIRECT_DEPS=( ALL_DEPS=( "bzip2" "zstd" "lz4" "snappy" "capstone" "bmi" "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "agios" "syscall_intercept" "date" "agios" "json-c" ) CI_DEPS=( "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "agios" "ofi" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "agios" "json-c" ) # Stop all backround jobs on interruption. Loading Loading @@ -372,6 +372,11 @@ if check_dependency "capstone" "${DEP_CONFIG[@]}"; then wgetdeps "capstone" "https://github.com/aquynh/capstone/archive/4.0.1.tar.gz" & fi # get json-c for Margo if check_dependency "json-c" "${DEP_CONFIG[@]}"; then wgetdeps "json-c" "https://github.com/json-c/json-c/archive/json-c-0.15-20200726.tar.gz" & fi ## Direct GekkoFS dependencies # get BMI Loading @@ -383,46 +388,44 @@ 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.9.1" & if check_dependency "ofi-legacy" "${DEP_CONFIG[@]}"; then clonedeps "libfabric" "https://github.com/ofiwg/libfabric.git" "" "-b v1.8.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 clonedeps "libfabric" "https://github.com/ofiwg/libfabric.git" "" "-b v1.7.2" & elif check_dependency "ofi" "${DEP_CONFIG[@]}"; then clonedeps "libfabric" "https://github.com/ofiwg/libfabric.git" "" "-b v1.8.1" & clonedeps "libfabric" "https://github.com/ofiwg/libfabric.git" "" "-b v1.12.1" & fi fi if check_dependency "psm2" "${DEP_CONFIG[@]}"; then wgetdeps "psm2" "https://github.com/intel/opa-psm2/archive/PSM2_11.2.86.tar.gz" & wgetdeps "psm2" "https://github.com/cornelisnetworks/opa-psm2/archive/PSM2_11.2.185.tar.gz" & fi # get Mercury if check_dependency "mercury" "${DEP_CONFIG[@]}"; then clonedeps "mercury" "https://github.com/mercury-hpc/mercury" "41caa143a07ed179a3149cac4af0dc7aa3f946fd" "--recurse-submodules" & clonedeps "mercury" "https://github.com/mercury-hpc/mercury" "75cb615894699a4df5872ba9d187f37cc94330a3" "--recurse-submodules" & fi # get Argobots if check_dependency "argobots" "${DEP_CONFIG[@]}"; then wgetdeps "argobots" "https://github.com/pmodels/argobots/archive/v1.0rc1.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://xgitlab.cels.anl.gov/sds/margo.git" "v0.6.3" & clonedeps "margo" "https://github.com/mochi-hpc/mochi-margo" "34bff25aa8ec9e9348ee07a455308bfe3c17d623" & fi # get rocksdb if check_dependency "rocksdb-experimental" "${DEP_CONFIG[@]}"; then wgetdeps "rocksdb" "https://github.com/facebook/rocksdb/archive/v6.11.4.tar.gz" & elif check_dependency "rocksdb" "${DEP_CONFIG[@]}"; then wgetdeps "rocksdb" "https://github.com/facebook/rocksdb/archive/v6.2.2.tar.gz" & if check_dependency "rocksdb" "${DEP_CONFIG[@]}"; then wgetdeps "rocksdb" "https://github.com/facebook/rocksdb/archive/refs/tags/v6.16.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 Loading
src/client/preload_util.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -111,6 +111,8 @@ extract_protocol(const string& uri) { protocol = gkfs::rpc::protocol::ofi_psm2; } else if(uri.find(gkfs::rpc::protocol::ofi_verbs) != string::npos) { protocol = gkfs::rpc::protocol::ofi_verbs; } else if(uri.find(gkfs::rpc::protocol::ofi_tcp) != string::npos) { protocol = gkfs::rpc::protocol::ofi_tcp; } // check for shared memory protocol. Can be plain shared memory or real ofi // protocol + auto_sm Loading
src/daemon/daemon.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -383,7 +383,8 @@ parse_input(const po::variables_map& vm) { rpc_protocol = vm["rpc-protocol"].as<string>(); if(rpc_protocol != gkfs::rpc::protocol::ofi_verbs && rpc_protocol != gkfs::rpc::protocol::ofi_sockets && rpc_protocol != gkfs::rpc::protocol::ofi_psm2) { rpc_protocol != gkfs::rpc::protocol::ofi_psm2 && rpc_protocol != gkfs::rpc::protocol::ofi_tcp) { throw runtime_error(fmt::format( "Given RPC protocol '{}' not supported. Check --help for supported protocols.", rpc_protocol)); Loading