From 893b40c53e13c0779f39cce0ae99ae8e21069543 Mon Sep 17 00:00:00 2001 From: rnou Date: Thu, 17 Nov 2022 11:32:30 +0100 Subject: [PATCH 01/10] Updated Parallax --- .gitlab-ci.yml | 20 ++--- CHANGELOG.md | 1 + docker/0.9.2/core/Dockerfile | 39 +++++++++ docker/0.9.2/core/Makefile | 10 +++ docker/0.9.2/coverage/Dockerfile | 20 +++++ docker/0.9.2/coverage/Makefile | 10 +++ docker/0.9.2/deps/Dockerfile | 37 ++++++++ docker/0.9.2/deps/Makefile | 23 +++++ docker/0.9.2/docs/Dockerfile | 33 +++++++ docker/0.9.2/docs/Makefile | 10 +++ docker/0.9.2/linter/Dockerfile | 19 ++++ docker/0.9.2/linter/Makefile | 10 +++ docker/0.9.2/testing/Dockerfile | 14 +++ docker/0.9.2/testing/Makefile | 10 +++ docker/latest | 2 +- .../backend/metadata/parallax_backend.hpp | 1 - scripts/profiles/0.9.2/agios.specs | 81 +++++++++++++++++ scripts/profiles/0.9.2/all.specs | 87 +++++++++++++++++++ scripts/profiles/0.9.2/ci.specs | 81 +++++++++++++++++ scripts/profiles/0.9.2/default.specs | 80 +++++++++++++++++ scripts/profiles/0.9.2/direct.specs | 76 ++++++++++++++++ scripts/profiles/0.9.2/infiniband_verbs.specs | 82 +++++++++++++++++ scripts/profiles/0.9.2/install/agios.install | 57 ++++++++++++ .../profiles/0.9.2/install/argobots.install | 60 +++++++++++++ .../profiles/0.9.2/install/capstone.install | 57 ++++++++++++ scripts/profiles/0.9.2/install/curl.install | 58 +++++++++++++ scripts/profiles/0.9.2/install/date.install | 61 +++++++++++++ scripts/profiles/0.9.2/install/json-c.install | 60 +++++++++++++ .../0.9.2/install/libfabric%verbs.install | 67 ++++++++++++++ .../profiles/0.9.2/install/libfabric.install | 67 ++++++++++++++ scripts/profiles/0.9.2/install/lz4.install | 61 +++++++++++++ scripts/profiles/0.9.2/install/margo.install | 59 +++++++++++++ .../profiles/0.9.2/install/mercury.install | 82 +++++++++++++++++ .../0.9.2/install/parallax-exp.install | 61 +++++++++++++ .../profiles/0.9.2/install/parallax.install | 61 +++++++++++++ .../0.9.2/install/prometheus-cpp.install | 58 +++++++++++++ .../profiles/0.9.2/install/rocksdb.install | 79 +++++++++++++++++ .../0.9.2/install/syscall_intercept.install | 61 +++++++++++++ scripts/profiles/0.9.2/marenostrum4.specs | 83 ++++++++++++++++++ scripts/profiles/0.9.2/mogon2.specs | 83 ++++++++++++++++++ scripts/profiles/0.9.2/ngio.specs | 83 ++++++++++++++++++ scripts/profiles/0.9.2/omnipath_psm2.specs | 82 +++++++++++++++++ scripts/profiles/latest | 2 +- scripts/profiles/sources.list | 1 + 44 files changed, 2076 insertions(+), 13 deletions(-) create mode 100644 docker/0.9.2/core/Dockerfile create mode 100644 docker/0.9.2/core/Makefile create mode 100644 docker/0.9.2/coverage/Dockerfile create mode 100644 docker/0.9.2/coverage/Makefile create mode 100644 docker/0.9.2/deps/Dockerfile create mode 100644 docker/0.9.2/deps/Makefile create mode 100644 docker/0.9.2/docs/Dockerfile create mode 100644 docker/0.9.2/docs/Makefile create mode 100644 docker/0.9.2/linter/Dockerfile create mode 100644 docker/0.9.2/linter/Makefile create mode 100644 docker/0.9.2/testing/Dockerfile create mode 100644 docker/0.9.2/testing/Makefile create mode 100644 scripts/profiles/0.9.2/agios.specs create mode 100644 scripts/profiles/0.9.2/all.specs create mode 100644 scripts/profiles/0.9.2/ci.specs create mode 100644 scripts/profiles/0.9.2/default.specs create mode 100644 scripts/profiles/0.9.2/direct.specs create mode 100644 scripts/profiles/0.9.2/infiniband_verbs.specs create mode 100644 scripts/profiles/0.9.2/install/agios.install create mode 100644 scripts/profiles/0.9.2/install/argobots.install create mode 100644 scripts/profiles/0.9.2/install/capstone.install create mode 100644 scripts/profiles/0.9.2/install/curl.install create mode 100644 scripts/profiles/0.9.2/install/date.install create mode 100644 scripts/profiles/0.9.2/install/json-c.install create mode 100644 scripts/profiles/0.9.2/install/libfabric%verbs.install create mode 100644 scripts/profiles/0.9.2/install/libfabric.install create mode 100644 scripts/profiles/0.9.2/install/lz4.install create mode 100644 scripts/profiles/0.9.2/install/margo.install create mode 100644 scripts/profiles/0.9.2/install/mercury.install create mode 100644 scripts/profiles/0.9.2/install/parallax-exp.install create mode 100644 scripts/profiles/0.9.2/install/parallax.install create mode 100644 scripts/profiles/0.9.2/install/prometheus-cpp.install create mode 100644 scripts/profiles/0.9.2/install/rocksdb.install create mode 100644 scripts/profiles/0.9.2/install/syscall_intercept.install create mode 100644 scripts/profiles/0.9.2/marenostrum4.specs create mode 100644 scripts/profiles/0.9.2/mogon2.specs create mode 100644 scripts/profiles/0.9.2/ngio.specs create mode 100644 scripts/profiles/0.9.2/omnipath_psm2.specs diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 91c89149a..fef21fef0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,14 +24,14 @@ variables: GIT_SUBMODULE_STRATEGY: recursive # base image -image: gekkofs/core:0.9.1 +image: gekkofs/core:0.9.2 ################################################################################ ## Validating ################################################################################ check format: stage: lint - image: gekkofs/linter:0.9.1 + image: gekkofs/linter:0.9.2 needs: [] script: - ${SCRIPTS_DIR}/check_format.sh @@ -45,7 +45,7 @@ check format: ################################################################################ gkfs: stage: build - image: gekkofs/deps:0.9.1 + image: gekkofs/deps:0.9.2 interruptible: true needs: [] script: @@ -81,7 +81,7 @@ gkfs: gkfwd: stage: build - image: gekkofs/deps:0.9.1 + image: gekkofs/deps:0.9.2 interruptible: true needs: [] script: @@ -116,7 +116,7 @@ gkfwd: ## == tests for scripts ==================== scripts: stage: test - image: gekkofs/testing:0.9.1 + image: gekkofs/testing:0.9.2 needs: [] script: - mkdir -p ${BUILD_PATH}/tests/scripts @@ -132,7 +132,7 @@ scripts: ## == integration tests for gkfs =========== gkfs:integration: stage: test - image: gekkofs/testing:0.9.1 + image: gekkofs/testing:0.9.2 interruptible: true needs: ['gkfs'] parallel: @@ -178,7 +178,7 @@ gkfs:integration: ## == integration tests for gkfwd ========== gkfwd:integration: stage: test - image: gekkofs/testing:0.9.1 + image: gekkofs/testing:0.9.2 interruptible: true needs: ['gkfwd'] parallel: @@ -223,7 +223,7 @@ gkfwd:integration: ## == unit tests for gkfs ================== gkfs:unit: stage: test - image: gekkofs/testing:0.9.1 + image: gekkofs/testing:0.9.2 needs: ['gkfs'] script: ## Add path to mkfs.kreon @@ -254,7 +254,7 @@ gkfs:unit: ################################################################################ documentation: stage: docs - image: gekkofs/docs:0.9.1 + image: gekkofs/docs:0.9.2 needs: [] rules: # we only build the documentation automatically if we are on the @@ -290,7 +290,7 @@ documentation: ################################################################################ coverage: stage: report - image: gekkofs/coverage:0.9.1 + image: gekkofs/coverage:0.9.2 needs: [ 'gkfs:integration', 'gkfwd:integration', 'gkfs:unit' ] script: - cd ${BUILD_PATH} diff --git a/CHANGELOG.md b/CHANGELOG.md index 5fab07ee5..20f2f48f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - Support parallelism for path resolution tests ([!145](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/145)) . - Support parallelism for symlink tests ([!147](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/147)). +- Updatd Parallax release (PARALLAX-exp) ### Removed diff --git a/docker/0.9.2/core/Dockerfile b/docker/0.9.2/core/Dockerfile new file mode 100644 index 000000000..bf1b2327e --- /dev/null +++ b/docker/0.9.2/core/Dockerfile @@ -0,0 +1,39 @@ +FROM debian:bullseye-slim + +LABEL Description="Debian-based environment suitable to build GekkoFS and its dependencies" + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + git \ + curl \ + ca-certificates \ + libtool \ + pkg-config \ + make \ + automake \ + gcc \ + g++ \ + procps \ + # AGIOS dependencies + libconfig-dev \ + # Mercury dependencies + libltdl-dev \ + lbzip2 \ + # Margo dependencies \ + libjson-c-dev \ + # RocksDB dependencies + liblz4-dev \ + # syscall_intercept dependencies + libcapstone-dev \ + # GekkoFS dependencies + libboost-program-options-dev \ + uuid-dev && \ + # install cmake 3.14 since it's needed for some dependencies + curl -OL https://github.com/Kitware/CMake/releases/download/v3.14.5/cmake-3.14.5-Linux-x86_64.sh && \ + chmod u+x ./cmake-3.14.5-Linux-x86_64.sh && \ + ./cmake-3.14.5-Linux-x86_64.sh --skip-license --prefix=/usr && \ + # Clean apt cache to reduce image layer size + rm -rf /var/lib/apt/lists/* && \ + # Clean apt caches of packages + apt-get clean && apt-get autoclean && \ + rm ./cmake-3.14.5-Linux-x86_64.sh diff --git a/docker/0.9.2/core/Makefile b/docker/0.9.2/core/Makefile new file mode 100644 index 000000000..14c829e43 --- /dev/null +++ b/docker/0.9.2/core/Makefile @@ -0,0 +1,10 @@ +.PHONY: all + +amd64: + docker build --platform amd64 -t gekkofs/core:0.9.2 . + +aarch64: + docker build --platform aarch64 -t gekkofs/core:0.9.2 . + +all: + docker build -t gekkofs/core:0.9.2 . diff --git a/docker/0.9.2/coverage/Dockerfile b/docker/0.9.2/coverage/Dockerfile new file mode 100644 index 000000000..651480713 --- /dev/null +++ b/docker/0.9.2/coverage/Dockerfile @@ -0,0 +1,20 @@ +FROM debian:bullseye-slim + +LABEL Description="Environment to generate coverage reports in GekkoFS" + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + wget \ + git \ + cmake \ + gcc \ + g++ \ + lcov \ + python3 \ + python3-pip \ + python3-setuptools && \ + rm -rf /var/lib/apt/lists/* && \ + apt-get clean && \ + apt-get autoclean && \ + python3 -m pip install --upgrade pip && \ + pip3 install gcovr diff --git a/docker/0.9.2/coverage/Makefile b/docker/0.9.2/coverage/Makefile new file mode 100644 index 000000000..aacfbbff8 --- /dev/null +++ b/docker/0.9.2/coverage/Makefile @@ -0,0 +1,10 @@ +.PHONY: all + +amd64: + docker build --platform amd64 -t gekkofs/coverage:0.9.2 . + +aarch64: + docker build --platform aarch64 -t gekkofs/coverage:0.9.2 . + +all: + docker build -t gekkofs/coverage:0.9.2 . \ No newline at end of file diff --git a/docker/0.9.2/deps/Dockerfile b/docker/0.9.2/deps/Dockerfile new file mode 100644 index 000000000..173e1c8bf --- /dev/null +++ b/docker/0.9.2/deps/Dockerfile @@ -0,0 +1,37 @@ +FROM gekkofs/core:0.9.2 + +LABEL Description="Debian-based environment to build GekkoFS" + +ENV GKFS_PATH /opt/gkfs +ENV GKFS_VERSION 0.9.2 + +ENV SCRIPTS_PATH ${GKFS_PATH}/scripts +ENV DEPS_SRC_PATH ${GKFS_PATH}/deps_src +ENV INSTALL_PATH /usr/local + +COPY scripts/dl_dep.sh ${SCRIPTS_PATH}/ +COPY scripts/compile_dep.sh ${SCRIPTS_PATH}/ +COPY scripts/patches ${SCRIPTS_PATH}/patches +COPY scripts/profiles ${SCRIPTS_PATH}/profiles + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + python3 \ + python3-pip \ + python3-dev \ + python3-venv \ + python3-setuptools \ + libnuma-dev libyaml-dev libcurl4-openssl-dev \ + procps && \ + python3 -m pip install --upgrade pip && \ + rm -rf /var/lib/apt/lists/* && \ + apt-get clean && apt-get autoclean + +# Download and build dependencies +RUN cd ${SCRIPTS_PATH} && \ + /bin/bash ./dl_dep.sh -p ci:${GKFS_VERSION} ${DEPS_SRC_PATH} && \ + /bin/bash ./compile_dep.sh -j 8 -p ci:${GKFS_VERSION} ${DEPS_SRC_PATH} ${INSTALL_PATH} && \ + rm -rf ${DEPS_SRC_PATH} && \ + rm -rf ${SCRIPTS_PATH} && \ + rmdir ${GKFS_PATH} && \ + ldconfig diff --git a/docker/0.9.2/deps/Makefile b/docker/0.9.2/deps/Makefile new file mode 100644 index 000000000..c1da07879 --- /dev/null +++ b/docker/0.9.2/deps/Makefile @@ -0,0 +1,23 @@ +CWD:=$(shell pwd) +GIT_ROOT:=$(shell git rev-parse --show-toplevel) + +.PHONY: all build mount-scripts umount-scripts + +all: build mount-scripts remove-scripts +amd64: build-amd64 mount-scripts remove-scripts +aarch64: build-aarch64 mount-scripts remove-scripts + +copy-scripts: + cp -R $(GIT_ROOT)/scripts $(CWD)/scripts + +build: copy-scripts + docker build -t gekkofs/deps:0.9.2 . + +build-amd64: copy-scripts + docker build --platform amd64 -t gekkofs/deps:0.9.2 . + +build-aarch64: copy-scripts + docker build --platform aarch64 -t gekkofs/deps:0.9.2 . + +remove-scripts: + - rm -rf $(CWD)/scripts diff --git a/docker/0.9.2/docs/Dockerfile b/docker/0.9.2/docs/Dockerfile new file mode 100644 index 000000000..5ef55125a --- /dev/null +++ b/docker/0.9.2/docs/Dockerfile @@ -0,0 +1,33 @@ +FROM gekkofs/deps:0.9.2 + +LABEL Description="Debian-based environment suitable to build GekkoFS' documentation" + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + # install dependencies for Doxygen + python \ + flex \ + bison \ + graphviz && \ + # install doxygen (repo version is kind of old) + cd /tmp && curl -L https://sourceforge.net/projects/doxygen/files/rel-1.9.2/doxygen-1.9.2.src.tar.gz/download --output doxygen-1.9.2.src.tar.gz && \ + tar xvfz /tmp/doxygen-1.9.2.src.tar.gz && \ + mkdir -p /tmp/doxygen-1.9.2/build && \ + cd /tmp/doxygen-1.9.2/build && \ + cmake -G "Unix Makefiles" .. && \ + make -j8 install && \ + # install sphinx, breathe and exhale + pip3 install \ + 'sphinx==4.4.0' \ + sphinx_rtd_theme \ + 'breathe==4.33.1' \ + 'exhale==0.3.1' \ + 'sphinx-copybutton==0.5.0' \ + 'sphinx-multiversion==0.2.4' \ + 'myst_parser==0.17.0' && \ + # Clean apt cache to reduce image layer size + rm -rf /var/lib/apt/lists/* && \ + rm -rf /tmp/doxygen-1.9.2 && \ + rm /tmp/doxygen-1.9.2.src.tar.gz && \ + # Clean apt caches of packages + apt-get clean && apt-get autoclean diff --git a/docker/0.9.2/docs/Makefile b/docker/0.9.2/docs/Makefile new file mode 100644 index 000000000..dd071245b --- /dev/null +++ b/docker/0.9.2/docs/Makefile @@ -0,0 +1,10 @@ +.PHONY: all + +amd64: + docker build --platform amd64 -t gekkofs/docs:0.9.2 . + +aarch64: + docker build --platform aarch64 -t gekkofs/docs:0.9.2 . + +all: + docker build -t gekkofs/docs:0.9.2 . \ No newline at end of file diff --git a/docker/0.9.2/linter/Dockerfile b/docker/0.9.2/linter/Dockerfile new file mode 100644 index 000000000..c36dd4e5d --- /dev/null +++ b/docker/0.9.2/linter/Dockerfile @@ -0,0 +1,19 @@ +FROM gekkofs/core:0.9.2 + +LABEL Description="Debian-based environment to check the formatting of GekkoFS code" + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + # clang 10 deps for clang-format + lsb-release \ + wget \ + software-properties-common \ + gnupg2 && \ + # add clang-10 repos + wget https://apt.llvm.org/llvm.sh -P /tmp && chmod +x /tmp/llvm.sh && /tmp/llvm.sh 11 && \ + # install clang-format + apt-get update && apt-get install -y --no-install-recommends clang-format-11 && \ + # Clean apt cache to reduce image layer size + rm -rf /var/lib/apt/lists/* && rm /tmp/llvm.sh && \ + # Clean apt caches of packages + apt-get clean && apt-get autoclean diff --git a/docker/0.9.2/linter/Makefile b/docker/0.9.2/linter/Makefile new file mode 100644 index 000000000..ae84eac50 --- /dev/null +++ b/docker/0.9.2/linter/Makefile @@ -0,0 +1,10 @@ +.PHONY: all + +amd64: + docker build --platform amd64 -t gekkofs/linter:0.9.2 . + +aarch64: + docker build --platform aarch64 -t gekkofs/linter:0.9.2 . + +all: + docker build -t gekkofs/linter:0.9.2 . diff --git a/docker/0.9.2/testing/Dockerfile b/docker/0.9.2/testing/Dockerfile new file mode 100644 index 000000000..c5513b248 --- /dev/null +++ b/docker/0.9.2/testing/Dockerfile @@ -0,0 +1,14 @@ +FROM gekkofs/deps:0.9.2 + +LABEL Description="Debian-based environment to test GekkoFS" + +RUN \ + # install cmake 3.21 since we need to produce JUnit XML files + curl -OL https://github.com/Kitware/CMake/releases/download/v3.21.1/cmake-3.21.1-linux-x86_64.sh && \ + chmod u+x ./cmake-3.21.1-linux-x86_64.sh && \ + ./cmake-3.21.1-linux-x86_64.sh --skip-license --prefix=/usr && \ + # install gcovr + # (required for partial coverage reports in parallel runs) + pip3 install gcovr && \ + # cleanup + rm ./cmake-3.21.1-linux-x86_64.sh diff --git a/docker/0.9.2/testing/Makefile b/docker/0.9.2/testing/Makefile new file mode 100644 index 000000000..395973da6 --- /dev/null +++ b/docker/0.9.2/testing/Makefile @@ -0,0 +1,10 @@ +.PHONY: all + +amd64: + docker build --platform amd64 -t gekkofs/testing:0.9.2 . + +aarch64: + docker build --platform aarch64 -t gekkofs/testing:0.9.2 . + +all: + docker build -t gekkofs/testing:0.9.2 . diff --git a/docker/latest b/docker/latest index f514a2f0b..f76f91317 120000 --- a/docker/latest +++ b/docker/latest @@ -1 +1 @@ -0.9.1 \ No newline at end of file +0.9.2 \ No newline at end of file diff --git a/include/daemon/backend/metadata/parallax_backend.hpp b/include/daemon/backend/metadata/parallax_backend.hpp index deb55bfbd..948e15d48 100644 --- a/include/daemon/backend/metadata/parallax_backend.hpp +++ b/include/daemon/backend/metadata/parallax_backend.hpp @@ -37,7 +37,6 @@ extern "C" { #include } -namespace rdb = rocksdb; namespace gkfs::metadata { class ParallaxBackend : public MetadataBackend { diff --git a/scripts/profiles/0.9.2/agios.specs b/scripts/profiles/0.9.2/agios.specs new file mode 100644 index 000000000..e967029cd --- /dev/null +++ b/scripts/profiles/0.9.2/agios.specs @@ -0,0 +1,81 @@ +################################################################################ +# Copyright 2018-2021, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2021, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ + +# vi: ft=bash + +# Variables to be imported into the scripts +declare -A wgetdeps clonedeps clonedeps_args clonedeps_patches extra_install_args +declare -a order + +# Comment that should be displayed when printing the profile +comment="All dependencies (except transport-specific and experimental)" + +# Dependencies that must be downloaded directly +wgetdeps=( + ["lz4"]="1.9.3" + ["capstone"]="4.0.2" + ["argobots"]="1.1" + ["rocksdb"]="6.26.1" + ["json-c"]="0.15-20200726" +) + +# Dependencies that must be cloned +clonedeps=( + ["libfabric"]="HEAD@v1.13.2" + ["mercury"]="v2.1.0" + ["margo"]="v0.9.6" + ["syscall_intercept"]="2c8765fa292bc9c28a22624c528580d54658813d" + ["date"]="e7e1482087f58913b80a20b04d5c58d9d6d90155" + ["agios"]="c26a6544200f823ebb8f890dd94e653d148bf226@development" +) + +# Extra arguments for git clone +clonedeps_args=( + ["mercury"]="--recurse-submodules" +) + +# Patches that should be applied post-clone +clonedeps_patches=( + ["syscall_intercept"]="syscall_intercept.patch" +) + +# Ordering that MUST be followed when downloading +order=( + "lz4" "capstone" "json-c" "libfabric" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "agios" +) + +# Extra arguments passed to the installation script. As such, they can +# reference the following variables: +# - CMAKE: a variable that expands to the cmake binary +# - SOURCE_DIR: the directory where the sources for the package were +# downloaded +# - INSTALL_DIR: the directory where the package should be installed +# - CORES: the number of cores to use when building +# - PERFORM_TEST: whether tests for the package should be executed +extra_install_args=( +) diff --git a/scripts/profiles/0.9.2/all.specs b/scripts/profiles/0.9.2/all.specs new file mode 100644 index 000000000..b503c3665 --- /dev/null +++ b/scripts/profiles/0.9.2/all.specs @@ -0,0 +1,87 @@ +################################################################################ +# Copyright 2018-2021, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2021, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ + +# vi: ft=bash + +# Variables to be imported into the scripts +declare -A wgetdeps clonedeps clonedeps_args clonedeps_patches extra_install_args +declare -a order + +# Comment that should be displayed when printing the profile +comment="Dependencies for Mogon 2 supercomputer" + +# Dependencies that must be downloaded directly +wgetdeps=( + ["lz4"]="1.9.3" + ["capstone"]="4.0.2" + ["argobots"]="1.1" + ["rocksdb"]="6.26.1" + ["psm2"]="11.2.185" + ["json-c"]="0.15-20200726" + ["curl"]="7.82.0" + ["prometheus-cpp"]="v1.0.0" +) + +# Dependencies that must be cloned +clonedeps=( + ["libfabric"]="HEAD@v1.13.2" + ["mercury"]="v2.1.0" + ["margo"]="v0.9.6" + ["syscall_intercept"]="2c8765fa292bc9c28a22624c528580d54658813d" + ["date"]="e7e1482087f58913b80a20b04d5c58d9d6d90155" + ["agios"]="c26a6544200f823ebb8f890dd94e653d148bf226@development" + ["parallax-exp"]="e08b56c155617eb5e82a52f85ae46ad158575045" +) + +# Extra arguments for git clone +clonedeps_args=( + ["mercury"]="--recurse-submodules" +) + +# Patches that should be applied post-clone +clonedeps_patches=( + ["syscall_intercept"]="syscall_intercept.patch" +) + +# Ordering that MUST be followed when downloading +order=( + "lz4" "capstone" "json-c" "psm2" "libfabric" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" + "agios" "curl" "prometheus-cpp" "parallax-exp" +) + +# Extra arguments passed to the installation script. As such, they can +# reference the following variables: +# - CMAKE: a variable that expands to the cmake binary +# - SOURCE_DIR: the directory where the sources for the package were +# downloaded +# - INSTALL_DIR: the directory where the package should be installed +# - CORES: the number of cores to use when building +# - PERFORM_TEST: whether tests for the package should be executed +extra_install_args=( + ["libfabric"]="--enable-psm2=yes --with-psm2-src=${SOURCE_DIR}/psm2" +) diff --git a/scripts/profiles/0.9.2/ci.specs b/scripts/profiles/0.9.2/ci.specs new file mode 100644 index 000000000..a1a0d162f --- /dev/null +++ b/scripts/profiles/0.9.2/ci.specs @@ -0,0 +1,81 @@ +################################################################################ +# Copyright 2018-2021, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2021, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ + +# vi: ft=bash + +# Variables to be imported into the scripts +declare -A wgetdeps clonedeps clonedeps_args clonedeps_patches extra_install_args +declare -a order + +# Comment that should be displayed when printing the profile +comment="Dependencies required by the CI" + +# Dependencies that must be downloaded directly +wgetdeps=( + ["argobots"]="1.1" + ["rocksdb"]="6.26.1" + ["prometheus-cpp"]="v1.0.0" + ) + +# Dependencies that must be cloned +clonedeps=( + ["libfabric"]="HEAD@v1.13.2" + ["mercury"]="v2.1.0" + ["margo"]="v0.9.6" + ["syscall_intercept"]="2c8765fa292bc9c28a22624c528580d54658813d" + ["date"]="e7e1482087f58913b80a20b04d5c58d9d6d90155" + ["agios"]="c26a6544200f823ebb8f890dd94e653d148bf226@development" + ["parallax-exp"]="e08b56c155617eb5e82a52f85ae46ad158575045" + ) + +# Extra arguments for git clone +clonedeps_args=( + ["mercury"]="--recurse-submodules" +) + +# Patches that should be applied post-clone +clonedeps_patches=( + ["syscall_intercept"]="syscall_intercept.patch" +) + +# Ordering that MUST be followed when downloading +order=( + "libfabric" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" + "date" "agios" "parallax-exp" "prometheus-cpp" +) + +# Extra arguments passed to the installation script. As such, they can +# reference the following variables: +# - CMAKE: a variable that expands to the cmake binary +# - SOURCE_DIR: the directory where the sources for the package were +# downloaded +# - INSTALL_DIR: the directory where the package should be installed +# - CORES: the number of cores to use when building +# - PERFORM_TEST: whether tests for the package should be executed +extra_install_args=( +) diff --git a/scripts/profiles/0.9.2/default.specs b/scripts/profiles/0.9.2/default.specs new file mode 100644 index 000000000..afc567273 --- /dev/null +++ b/scripts/profiles/0.9.2/default.specs @@ -0,0 +1,80 @@ +################################################################################ +# Copyright 2018-2021, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2021, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ + +# vi: ft=bash + +# Variables to be imported into the scripts +declare -A wgetdeps clonedeps clonedeps_args clonedeps_patches extra_install_args +declare -a order + +# Comment that should be displayed when printing the profile +comment="All dependencies" + +# Dependencies that must be downloaded directly +wgetdeps=( + ["lz4"]="1.9.3" + ["capstone"]="4.0.2" + ["argobots"]="1.1" + ["rocksdb"]="6.26.1" + ["json-c"]="0.15-20200726" +) + +# Dependencies that must be cloned +clonedeps=( + ["libfabric"]="HEAD@v1.13.2" + ["mercury"]="v2.1.0" + ["margo"]="v0.9.6" + ["syscall_intercept"]="2c8765fa292bc9c28a22624c528580d54658813d" + ["date"]="e7e1482087f58913b80a20b04d5c58d9d6d90155" +) + +# Extra arguments for git clone +clonedeps_args=( + ["mercury"]="--recurse-submodules" +) + +# Patches that should be applied post-clone +clonedeps_patches=( + ["syscall_intercept"]="syscall_intercept.patch syscall_intercept_clone3.patch" +) + +# Ordering that MUST be followed when downloading +order=( + "lz4" "capstone" "json-c" "libfabric" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" +) + +# Extra arguments passed to the installation script. As such, they can +# reference the following variables: +# - CMAKE: a variable that expands to the cmake binary +# - SOURCE_DIR: the directory where the sources for the package were +# downloaded +# - INSTALL_DIR: the directory where the package should be installed +# - CORES: the number of cores to use when building +# - PERFORM_TEST: whether tests for the package should be executed +extra_install_args=( +) diff --git a/scripts/profiles/0.9.2/direct.specs b/scripts/profiles/0.9.2/direct.specs new file mode 100644 index 000000000..6f2a48123 --- /dev/null +++ b/scripts/profiles/0.9.2/direct.specs @@ -0,0 +1,76 @@ +################################################################################ +# Copyright 2018-2021, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2021, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ + +# vi: ft=bash + +# Variables to be imported into the scripts +declare -A wgetdeps clonedeps clonedeps_args clonedeps_patches extra_install_args +declare -a order + +# Comment that should be displayed when printing the profile +comment="Direct dependencies" + +# Dependencies that must be downloaded directly +wgetdeps=( + ["argobots"]="1.1" + ["rocksdb"]="6.26.1" +) + +# Dependencies that must be cloned +clonedeps=( + ["libfabric"]="HEAD@v1.13.2" + ["mercury"]="v2.1.0" + ["margo"]="v0.9.6" + ["syscall_intercept"]="2c8765fa292bc9c28a22624c528580d54658813d" +) + +# Extra arguments for git clone +clonedeps_args=( + ["mercury"]="--recurse-submodules" +) + +# Patches that should be applied post-clone +clonedeps_patches=( + ["syscall_intercept"]="syscall_intercept.patch" +) + +# Ordering that MUST be followed when downloading +order=( + "libfabric" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" +) + +# Extra arguments passed to the installation script. As such, they can +# reference the following variables: +# - CMAKE: a variable that expands to the cmake binary +# - SOURCE_DIR: the directory where the sources for the package were +# downloaded +# - INSTALL_DIR: the directory where the package should be installed +# - CORES: the number of cores to use when building +# - PERFORM_TEST: whether tests for the package should be executed +extra_install_args=( +) diff --git a/scripts/profiles/0.9.2/infiniband_verbs.specs b/scripts/profiles/0.9.2/infiniband_verbs.specs new file mode 100644 index 000000000..c34c4ff6d --- /dev/null +++ b/scripts/profiles/0.9.2/infiniband_verbs.specs @@ -0,0 +1,82 @@ +################################################################################ +# Copyright 2018-2021, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2021, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ + +# vi: ft=bash + +# Variables to be imported into the scripts +declare -A wgetdeps clonedeps clonedeps_args clonedeps_patches extra_install_args +declare -a order + +# Comment that should be displayed when printing the profile +comment="Dependencies for Infiniband supercomputer" + +# Dependencies that must be downloaded directly +wgetdeps=( + ["lz4"]="1.9.3" + ["capstone"]="4.0.2" + ["argobots"]="1.1" + ["rocksdb"]="6.26.1" + ["json-c"]="0.15-20200726" +) + +# Dependencies that must be cloned +clonedeps=( + ["libfabric%verbs"]="HEAD@v1.13.2" + ["mercury"]="v2.1.0" + ["margo"]="v0.9.6" + ["syscall_intercept"]="2c8765fa292bc9c28a22624c528580d54658813d" + ["date"]="e7e1482087f58913b80a20b04d5c58d9d6d90155" +) + +# Extra arguments for git clone +clonedeps_args=( + ["mercury"]="--recurse-submodules" +) + +# Patches that should be applied post-clone +clonedeps_patches=( + ["syscall_intercept"]="syscall_intercept.patch" +) + +# Ordering that MUST be followed when downloading/installing +order=( + "lz4" "capstone" "json-c" "libfabric%verbs" "mercury" "argobots" "margo" "rocksdb" + "syscall_intercept" "date" +) + +# Extra arguments passed to the installation script. As such, they can +# reference the following variables: +# - CMAKE: a variable that expands to the cmake binary +# - SOURCE_DIR: the directory where the sources for the package were +# downloaded +# - INSTALL_DIR: the directory where the package should be installed +# - CORES: the number of cores to use when building +# - PERFORM_TEST: whether tests for the package should be executed +extra_install_args=( + ["libfabric%verbs"]="--enable-verbs=yes" +) diff --git a/scripts/profiles/0.9.2/install/agios.install b/scripts/profiles/0.9.2/install/agios.install new file mode 100644 index 000000000..3d0392ff5 --- /dev/null +++ b/scripts/profiles/0.9.2/install/agios.install @@ -0,0 +1,57 @@ +################################################################################ +# Copyright 2018-2022, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2022, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ +# vi: ft=bash + +################################################################################ +## The installation script must define both a pkg_install function and +## pkg_check function that, as their name implies, must specify how +## a dependency package should be installed and tested. ## ## The following +## variables can be used in the installation script: +## - CMAKE: a variable that expands to the cmake binary +## - SOURCE_DIR: the directory where the sources for the package were +## downloaded +## - INSTALL_DIR: the directory where the package should be installed +## - CORES: the number of cores to use when building +## - COMPILER_NAME: the name of the compiler being used (e.g. g++, clang, etc.) +## - COMPILER_FULL_VERSION: the compiler's full version (e.g. 9.3.0) +## - COMPILER_MAJOR_VERSION: the compiler's major version (e.g. 9) +## - PERFORM_TEST: whether tests for the package should be executed +################################################################################ + +pkg_install() { + ID="agios" + CURR="${SOURCE_DIR}/${ID}" + prepare_build_dir "${CURR}" + cd "${CURR}/build" + ${CMAKE} -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" .. + make install +} + +pkg_check() { + : +} diff --git a/scripts/profiles/0.9.2/install/argobots.install b/scripts/profiles/0.9.2/install/argobots.install new file mode 100644 index 000000000..96ccea920 --- /dev/null +++ b/scripts/profiles/0.9.2/install/argobots.install @@ -0,0 +1,60 @@ +################################################################################ +# Copyright 2018-2022, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2022, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ +# vi: ft=bash + +################################################################################ +## The installation script must define both a pkg_install function and +## pkg_check function that, as their name implies, must specify how +## a dependency package should be installed and tested. ## ## The following +## variables can be used in the installation script: +## - CMAKE: a variable that expands to the cmake binary +## - SOURCE_DIR: the directory where the sources for the package were +## downloaded +## - INSTALL_DIR: the directory where the package should be installed +## - CORES: the number of cores to use when building +## - COMPILER_NAME: the name of the compiler being used (e.g. g++, clang, etc.) +## - COMPILER_FULL_VERSION: the compiler's full version (e.g. 9.3.0) +## - COMPILER_MAJOR_VERSION: the compiler's major version (e.g. 9) +## - PERFORM_TEST: whether tests for the package should be executed +################################################################################ + +pkg_install() { + ID="argobots" + CURR="${SOURCE_DIR}/${ID}" + prepare_build_dir "${CURR}" + cd "${CURR}" + ./autogen.sh + cd "${CURR}/build" + ../configure --prefix="${INSTALL_DIR}" --enable-perf-opt --disable-checks + make -j"${CORES}" + make install +} + +pkg_check() { + make check +} diff --git a/scripts/profiles/0.9.2/install/capstone.install b/scripts/profiles/0.9.2/install/capstone.install new file mode 100644 index 000000000..ff299d82b --- /dev/null +++ b/scripts/profiles/0.9.2/install/capstone.install @@ -0,0 +1,57 @@ +################################################################################ +# Copyright 2018-2022, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2022, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ +# vi: ft=bash + +################################################################################ +## The installation script must define both a pkg_install function and +## pkg_check function that, as their name implies, must specify how +## a dependency package should be installed and tested. ## ## The following +## variables can be used in the installation script: +## - CMAKE: a variable that expands to the cmake binary +## - SOURCE_DIR: the directory where the sources for the package were +## downloaded +## - INSTALL_DIR: the directory where the package should be installed +## - CORES: the number of cores to use when building +## - COMPILER_NAME: the name of the compiler being used (e.g. g++, clang, etc.) +## - COMPILER_FULL_VERSION: the compiler's full version (e.g. 9.3.0) +## - COMPILER_MAJOR_VERSION: the compiler's major version (e.g. 9) +## - PERFORM_TEST: whether tests for the package should be executed +################################################################################ + +pkg_install() { + ID="capstone" + CURR="${SOURCE_DIR}/${ID}" + prepare_build_dir "${CURR}" + cd "${CURR}/build" + ${CMAKE} -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" -DCMAKE_BUILD_TYPE:STRING=Release .. + make -j"${CORES}" install +} + +pkg_check() { + : +} diff --git a/scripts/profiles/0.9.2/install/curl.install b/scripts/profiles/0.9.2/install/curl.install new file mode 100644 index 000000000..d873819c4 --- /dev/null +++ b/scripts/profiles/0.9.2/install/curl.install @@ -0,0 +1,58 @@ +################################################################################ +# Copyright 2018-2022, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2022, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ +# vi: ft=bash + +################################################################################ +## The installation script must define both a pkg_install function and +## pkg_check function that, as their name implies, must specify how +## a dependency package should be installed and tested. ## ## The following +## variables can be used in the installation script: +## - CMAKE: a variable that expands to the cmake binary +## - SOURCE_DIR: the directory where the sources for the package were +## downloaded +## - INSTALL_DIR: the directory where the package should be installed +## - CORES: the number of cores to use when building +## - COMPILER_NAME: the name of the compiler being used (e.g. g++, clang, etc.) +## - COMPILER_FULL_VERSION: the compiler's full version (e.g. 9.3.0) +## - COMPILER_MAJOR_VERSION: the compiler's major version (e.g. 9) +## - PERFORM_TEST: whether tests for the package should be executed +################################################################################ + +pkg_install() { + ID="curl" + CURR="${SOURCE_DIR}/${ID}" + cd "${CURR}" + autoreconf -fi + ./configure --prefix="${INSTALL_DIR}" --without-ssl + make -j"${CORES}" + make install +} + +pkg_check() { + : +} diff --git a/scripts/profiles/0.9.2/install/date.install b/scripts/profiles/0.9.2/install/date.install new file mode 100644 index 000000000..c4f12524c --- /dev/null +++ b/scripts/profiles/0.9.2/install/date.install @@ -0,0 +1,61 @@ +################################################################################ +# Copyright 2018-2022, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2022, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ +# vi: ft=bash + +################################################################################ +## The installation script must define both a pkg_install function and +## pkg_check function that, as their name implies, must specify how +## a dependency package should be installed and tested. ## ## The following +## variables can be used in the installation script: +## - CMAKE: a variable that expands to the cmake binary +## - SOURCE_DIR: the directory where the sources for the package were +## downloaded +## - INSTALL_DIR: the directory where the package should be installed +## - CORES: the number of cores to use when building +## - COMPILER_NAME: the name of the compiler being used (e.g. g++, clang, etc.) +## - COMPILER_FULL_VERSION: the compiler's full version (e.g. 9.3.0) +## - COMPILER_MAJOR_VERSION: the compiler's major version (e.g. 9) +## - PERFORM_TEST: whether tests for the package should be executed +################################################################################ + +pkg_install() { + ID="date" + CURR="${SOURCE_DIR}/${ID}" + prepare_build_dir "${CURR}" + cd "${CURR}/build" + ${CMAKE} -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \ + -DCMAKE_BUILD_TYPE:STRING=Release \ + -DCMAKE_CXX_STANDARD:STRING=14 \ + -DUSE_SYSTEM_TZ_DB:BOOL=ON \ + -DBUILD_SHARED_LIBS:BOOL=ON .. + make -j"${CORES}" install +} + +pkg_check() { + : +} diff --git a/scripts/profiles/0.9.2/install/json-c.install b/scripts/profiles/0.9.2/install/json-c.install new file mode 100644 index 000000000..7280cda81 --- /dev/null +++ b/scripts/profiles/0.9.2/install/json-c.install @@ -0,0 +1,60 @@ +################################################################################ +# Copyright 2018-2022, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2022, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ +# vi: ft=bash + +################################################################################ +## The installation script must define both a pkg_install function and +## pkg_check function that, as their name implies, must specify how +## a dependency package should be installed and tested. ## ## The following +## variables can be used in the installation script: +## - CMAKE: a variable that expands to the cmake binary +## - SOURCE_DIR: the directory where the sources for the package were +## downloaded +## - INSTALL_DIR: the directory where the package should be installed +## - CORES: the number of cores to use when building +## - COMPILER_NAME: the name of the compiler being used (e.g. g++, clang, etc.) +## - COMPILER_FULL_VERSION: the compiler's full version (e.g. 9.3.0) +## - COMPILER_MAJOR_VERSION: the compiler's major version (e.g. 9) +## - PERFORM_TEST: whether tests for the package should be executed +################################################################################ + +pkg_install() { + CURR="${SOURCE_DIR}/json-c" + prepare_build_dir "${CURR}" + cd "${CURR}/build" + cmake -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" -DCMAKE_BUILD_TYPE:STRING=Release .. + make -j"${CORES}" install + # Margo doesn't search in both directories, so we make it available in both lib and lib64 + if [[ -f "${INSTALL_DIR}/lib64/pkgconfig/json-c.pc" ]]; then + cp ${INSTALL_DIR}/lib64/pkgconfig/json-c.pc ${INSTALL_DIR}/lib/pkgconfig/ + fi +} + +pkg_check() { + : +} diff --git a/scripts/profiles/0.9.2/install/libfabric%verbs.install b/scripts/profiles/0.9.2/install/libfabric%verbs.install new file mode 100644 index 000000000..15257eb81 --- /dev/null +++ b/scripts/profiles/0.9.2/install/libfabric%verbs.install @@ -0,0 +1,67 @@ +################################################################################ +# Copyright 2018-2022, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2022, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ +# vi: ft=bash + +################################################################################ +## The installation script must define both a pkg_install function and +## pkg_check function that, as their name implies, must specify how +## a dependency package should be installed and tested. ## ## The following +## variables can be used in the installation script: +## - CMAKE: a variable that expands to the cmake binary +## - SOURCE_DIR: the directory where the sources for the package were +## downloaded +## - INSTALL_DIR: the directory where the package should be installed +## - CORES: the number of cores to use when building +## - COMPILER_NAME: the name of the compiler being used (e.g. g++, clang, etc.) +## - COMPILER_FULL_VERSION: the compiler's full version (e.g. 9.3.0) +## - COMPILER_MAJOR_VERSION: the compiler's major version (e.g. 9) +## - PERFORM_TEST: whether tests for the package should be executed +################################################################################ + +pkg_install() { + ID="libfabric%verbs" + CURR="${SOURCE_DIR}/${ID}" + prepare_build_dir "${CURR}" + cd "${CURR}" + ./autogen.sh + cd "${CURR}/build" + OFI_CONFIG="../configure --prefix=${INSTALL_DIR} --enable-tcp=yes" + + EXTRA_INSTALL_ARGS="${PROFILE_EXTRA_INSTALL_ARGS[${ID}]}" + + if [[ -n "${EXTRA_INSTALL_ARGS}" ]]; then + OFI_CONFIG="${OFI_CONFIG} ${EXTRA_INSTALL_ARGS}" + fi + + ${OFI_CONFIG} + make -j"${CORES}" install +} + +pkg_check() { + make check +} diff --git a/scripts/profiles/0.9.2/install/libfabric.install b/scripts/profiles/0.9.2/install/libfabric.install new file mode 100644 index 000000000..7db89438e --- /dev/null +++ b/scripts/profiles/0.9.2/install/libfabric.install @@ -0,0 +1,67 @@ +################################################################################ +# Copyright 2018-2022, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2022, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ +# vi: ft=bash + +################################################################################ +## The installation script must define both a pkg_install function and +## pkg_check function that, as their name implies, must specify how +## a dependency package should be installed and tested. ## ## The following +## variables can be used in the installation script: +## - CMAKE: a variable that expands to the cmake binary +## - SOURCE_DIR: the directory where the sources for the package were +## downloaded +## - INSTALL_DIR: the directory where the package should be installed +## - CORES: the number of cores to use when building +## - COMPILER_NAME: the name of the compiler being used (e.g. g++, clang, etc.) +## - COMPILER_FULL_VERSION: the compiler's full version (e.g. 9.3.0) +## - COMPILER_MAJOR_VERSION: the compiler's major version (e.g. 9) +## - PERFORM_TEST: whether tests for the package should be executed +################################################################################ + +pkg_install() { + ID=libfabric + CURR="${SOURCE_DIR}/${ID}" + prepare_build_dir "${CURR}" + cd "${CURR}" + ./autogen.sh + cd "${CURR}/build" + OFI_CONFIG="../configure --prefix=${INSTALL_DIR} --enable-tcp=yes" + + EXTRA_INSTALL_ARGS="${PROFILE_EXTRA_INSTALL_ARGS[${ID}]}" + + if [[ -n "${EXTRA_INSTALL_ARGS}" ]]; then + OFI_CONFIG="${OFI_CONFIG} ${EXTRA_INSTALL_ARGS}" + fi + + ${OFI_CONFIG} + make -j"${CORES}" install +} + +pkg_check() { + make check +} diff --git a/scripts/profiles/0.9.2/install/lz4.install b/scripts/profiles/0.9.2/install/lz4.install new file mode 100644 index 000000000..13e4e53b3 --- /dev/null +++ b/scripts/profiles/0.9.2/install/lz4.install @@ -0,0 +1,61 @@ +################################################################################ +# Copyright 2018-2022, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2022, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ +# vi: ft=bash + +################################################################################ +## The installation script must define both a pkg_install function and +## pkg_check function that, as their name implies, must specify how +## a dependency package should be installed and tested. ## ## The following +## variables can be used in the installation script: +## - CMAKE: a variable that expands to the cmake binary +## - SOURCE_DIR: the directory where the sources for the package were +## downloaded +## - INSTALL_DIR: the directory where the package should be installed +## - CORES: the number of cores to use when building +## - COMPILER_NAME: the name of the compiler being used (e.g. g++, clang, etc.) +## - COMPILER_FULL_VERSION: the compiler's full version (e.g. 9.3.0) +## - COMPILER_MAJOR_VERSION: the compiler's major version (e.g. 9) +## - PERFORM_TEST: whether tests for the package should be executed +################################################################################ + +pkg_install() { + ID="lz4" + CURR="${SOURCE_DIR}/${ID}" + cd "${CURR}" + # try to remove binaries first in case they already exist. Otherwise install fails. + LZ4_BINS=("${INSTALL_DIR}"/bin/lz4c "${INSTALL_DIR}"/bin/lz4cat "${INSTALL_DIR}"/bin/unlz4 "${INSTALL_DIR}"/bin/lz4) + for LZ4_BIN in "${LZ4_BINS[@]}"; do + [ -e "$LZ4_BIN" ] && rm "$LZ4_BIN" + done + make -j"${CORES}" + make DESTDIR="${INSTALL_DIR}" PREFIX="" install +} + +pkg_check() { + : +} diff --git a/scripts/profiles/0.9.2/install/margo.install b/scripts/profiles/0.9.2/install/margo.install new file mode 100644 index 000000000..d2c6e4b5f --- /dev/null +++ b/scripts/profiles/0.9.2/install/margo.install @@ -0,0 +1,59 @@ +################################################################################ +# Copyright 2018-2022, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2022, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ +# vi: ft=bash + +################################################################################ +## The installation script must define both a pkg_install function and +## pkg_check function that, as their name implies, must specify how +## a dependency package should be installed and tested. ## ## The following +## variables can be used in the installation script: +## - CMAKE: a variable that expands to the cmake binary +## - SOURCE_DIR: the directory where the sources for the package were +## downloaded +## - INSTALL_DIR: the directory where the package should be installed +## - CORES: the number of cores to use when building +## - COMPILER_NAME: the name of the compiler being used (e.g. g++, clang, etc.) +## - COMPILER_FULL_VERSION: the compiler's full version (e.g. 9.3.0) +## - COMPILER_MAJOR_VERSION: the compiler's major version (e.g. 9) +## - PERFORM_TEST: whether tests for the package should be executed +################################################################################ + +pkg_install() { + ID="margo" + CURR="${SOURCE_DIR}/${ID}" + prepare_build_dir "${CURR}" + cd "${CURR}" + ./prepare.sh + cd "${CURR}/build" + ../configure --prefix="${INSTALL_DIR}" PKG_CONFIG_PATH="${INSTALL_DIR}/lib/pkgconfig" CFLAGS="${CFLAGS} -Wall -O3" + make -j"${CORES}" install +} + +pkg_check() { + make check +} diff --git a/scripts/profiles/0.9.2/install/mercury.install b/scripts/profiles/0.9.2/install/mercury.install new file mode 100644 index 000000000..601305b83 --- /dev/null +++ b/scripts/profiles/0.9.2/install/mercury.install @@ -0,0 +1,82 @@ +################################################################################ +# Copyright 2018-2022, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2022, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ +# vi: ft=bash + +################################################################################ +## The installation script must define both a pkg_install function and +## pkg_check function that, as their name implies, must specify how +## a dependency package should be installed and tested. ## ## The following +## variables can be used in the installation script: +## - CMAKE: a variable that expands to the cmake binary +## - SOURCE_DIR: the directory where the sources for the package were +## downloaded +## - INSTALL_DIR: the directory where the package should be installed +## - CORES: the number of cores to use when building +## - COMPILER_NAME: the name of the compiler being used (e.g. g++, clang, etc.) +## - COMPILER_FULL_VERSION: the compiler's full version (e.g. 9.3.0) +## - COMPILER_MAJOR_VERSION: the compiler's major version (e.g. 9) +## - PERFORM_TEST: whether tests for the package should be executed +################################################################################ + +pkg_install() { + + # if the profile compiles bmi, enable it + if [[ -n "${PROFILE_DEP_NAMES['bmi']}" ]]; then + USE_BMI="-DNA_USE_BMI:BOOL=ON" + else + USE_BMI="-DNA_USE_BMI:BOOL=OFF" + fi + + # if the profile provides any flavour of libfabric, enable it + if profile_has_dependency "^libfabric.*$"; then + USE_OFI="-DNA_USE_OFI:BOOL=ON" + else + USE_OFI="-DNA_USE_OFI:BOOL=OFF" + fi + + ID="mercury" + CURR="${SOURCE_DIR}/${ID}" + prepare_build_dir "${CURR}" + cd "${CURR}/build" + PKG_CONFIG_PATH="${INSTALL_DIR}/lib/pkgconfig" $CMAKE \ + -DCMAKE_PREFIX_PATH=${INSTALL_DIR} \ + -DCMAKE_BUILD_TYPE:STRING=Release \ + -DBUILD_TESTING:BOOL=ON \ + -DMERCURY_USE_CHECKSUMS:BOOL=OFF \ + -DMERCURY_USE_BOOST_PP:BOOL=ON \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \ + ${USE_BMI} ${USE_OFI} \ + .. + make -j"${CORES}" + make install +} + +pkg_check() { + : +} diff --git a/scripts/profiles/0.9.2/install/parallax-exp.install b/scripts/profiles/0.9.2/install/parallax-exp.install new file mode 100644 index 000000000..88dd2480d --- /dev/null +++ b/scripts/profiles/0.9.2/install/parallax-exp.install @@ -0,0 +1,61 @@ +################################################################################ +# Copyright 2018-2022, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2022, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ +# vi: ft=bash + +################################################################################ +## The installation script must define both a pkg_install function and +## pkg_check function that, as their name implies, must specify how +## a dependency package should be installed and tested. ## ## The following +## variables can be used in the installation script: +## - CMAKE: a variable that expands to the cmake binary +## - SOURCE_DIR: the directory where the sources for the package were +## downloaded +## - INSTALL_DIR: the directory where the package should be installed +## - CORES: the number of cores to use when building +## - PERFORM_TEST: whether tests for the package should be executed +################################################################################ + +pkg_install() { + + CURR="${SOURCE_DIR}/parallax-exp" + # sed -i -e 's/KEY_SIZE (256)/KEY_SIZE (4096)/g' ${CURR}/lib/btree/conf.h + prepare_build_dir "${CURR}" + cd "${CURR}/build" + PKG_CONFIG_PATH="${INSTALL_DIR}/lib/pkgconfig" $CMAKE \ + -DBUILD_SHARED_LIBS:BOOL=OFF \ + -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \ + -DCMAKE_BUILD_TYPE="Release" \ + -DCMAKE_CXX_FLAGS_RELEASE="-Wno-error=unused-result" \ + .. + make -j"${CORES}" + make install +} + +pkg_check() { + : +} diff --git a/scripts/profiles/0.9.2/install/parallax.install b/scripts/profiles/0.9.2/install/parallax.install new file mode 100644 index 000000000..0c552cc78 --- /dev/null +++ b/scripts/profiles/0.9.2/install/parallax.install @@ -0,0 +1,61 @@ +################################################################################ +# Copyright 2018-2022, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2022, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ +# vi: ft=bash + +################################################################################ +## The installation script must define both a pkg_install function and +## pkg_check function that, as their name implies, must specify how +## a dependency package should be installed and tested. ## ## The following +## variables can be used in the installation script: +## - CMAKE: a variable that expands to the cmake binary +## - SOURCE_DIR: the directory where the sources for the package were +## downloaded +## - INSTALL_DIR: the directory where the package should be installed +## - CORES: the number of cores to use when building +## - PERFORM_TEST: whether tests for the package should be executed +################################################################################ + +pkg_install() { + + CURR="${SOURCE_DIR}/parallax" + # sed -i -e 's/KEY_SIZE (256)/KEY_SIZE (4096)/g' ${CURR}/lib/btree/conf.h + prepare_build_dir "${CURR}" + cd "${CURR}/build" + PKG_CONFIG_PATH="${INSTALL_DIR}/lib/pkgconfig" $CMAKE \ + -DBUILD_SHARED_LIBS:BOOL=OFF \ + -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \ + -DCMAKE_BUILD_TYPE="Release" \ + -DCMAKE_CXX_FLAGS_RELEASE="-Wno-error=unused-result" \ + .. + make -j"${CORES}" + make install +} + +pkg_check() { + : +} diff --git a/scripts/profiles/0.9.2/install/prometheus-cpp.install b/scripts/profiles/0.9.2/install/prometheus-cpp.install new file mode 100644 index 000000000..9373dbcf3 --- /dev/null +++ b/scripts/profiles/0.9.2/install/prometheus-cpp.install @@ -0,0 +1,58 @@ +################################################################################ +# Copyright 2018-2022, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2022, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ +# vi: ft=bash + +################################################################################ +## The installation script must define both a pkg_install function and +## pkg_check function that, as their name implies, must specify how +## a dependency package should be installed and tested. ## ## The following +## variables can be used in the installation script: +## - CMAKE: a variable that expands to the cmake binary +## - SOURCE_DIR: the directory where the sources for the package were +## downloaded +## - INSTALL_DIR: the directory where the package should be installed +## - CORES: the number of cores to use when building +## - COMPILER_NAME: the name of the compiler being used (e.g. g++, clang, etc.) +## - COMPILER_FULL_VERSION: the compiler's full version (e.g. 9.3.0) +## - COMPILER_MAJOR_VERSION: the compiler's major version (e.g. 9) +## - PERFORM_TEST: whether tests for the package should be executed +################################################################################ + +pkg_install() { + ID="prometheus-cpp" + CURR="${SOURCE_DIR}/${ID}" + prepare_build_dir "${CURR}" + cd "${CURR}/build" + ${CMAKE} -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \ + -DBUILD_SHARED_LIBS:BOOL=ON .. + make -j"${CORES}" install +} + +pkg_check() { + : +} diff --git a/scripts/profiles/0.9.2/install/rocksdb.install b/scripts/profiles/0.9.2/install/rocksdb.install new file mode 100644 index 000000000..6ece050bd --- /dev/null +++ b/scripts/profiles/0.9.2/install/rocksdb.install @@ -0,0 +1,79 @@ +################################################################################ +# Copyright 2018-2022, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2022, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ +# vi: ft=bash + +################################################################################ +## The installation script must define both a pkg_install function and +## pkg_check function that, as their name implies, must specify how +## a dependency package should be installed and tested. ## ## The following +## variables can be used in the installation script: +## - CMAKE: a variable that expands to the cmake binary +## - SOURCE_DIR: the directory where the sources for the package were +## downloaded +## - INSTALL_DIR: the directory where the package should be installed +## - CORES: the number of cores to use when building +## - COMPILER_NAME: the name of the compiler being used (e.g. g++, clang, etc.) +## - COMPILER_FULL_VERSION: the compiler's full version (e.g. 9.3.0) +## - COMPILER_MAJOR_VERSION: the compiler's major version (e.g. 9) +## - PERFORM_TEST: whether tests for the package should be executed +################################################################################ + +pkg_install() { + CXXFLAGS='' + # gcc 9 and clang 8 need -Wno-error=deprecated-copy -Wno-error=pessimizing-move + if [[ ("${COMPILER_NAME}" == "g++" && "${COMPILER_MAJOR_VERSION}" -ge 9) || + ("${COMPILER_NAME}" == "clang" && "${COMPILER_MAJOR_VERSION}" -ge 8) ]]; then + CXXFLAGS='-Wno-error=deprecated-copy -Wno-error=pessimizing-move -Wno-error=maybe-uninitialized' + fi + + # TODO use SSE? + CURR="${SOURCE_DIR}/rocksdb" + prepare_build_dir "${CURR}" + cd "${CURR}/build" + PKG_CONFIG_PATH="${INSTALL_DIR}/lib/pkgconfig" $CMAKE \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_PREFIX_PATH="${INSTALL_DIR}" \ + -DCMAKE_INSTALL_LIBDIR="${INSTALL_DIR}/lib" \ + -DCMAKE_INSTALL_INCLUDEDIR="${INSTALL_DIR}/include" \ + -DROCKSDB_BUILD_SHARED=OFF \ + -DWITH_LZ4=ON \ + -DWITH_GFLAGS=OFF \ + -DUSE_RTTI=1 \ + -DPORTABLE=1 \ + -DWITH_ALL_TESTS=OFF \ + -DWITH_BENCHMARK_TOOLS=OFF \ + -DWITH_TOOLS=OFF .. + make -j"${CORES}" install + + +} + +pkg_check() { + : +} diff --git a/scripts/profiles/0.9.2/install/syscall_intercept.install b/scripts/profiles/0.9.2/install/syscall_intercept.install new file mode 100644 index 000000000..9dd287271 --- /dev/null +++ b/scripts/profiles/0.9.2/install/syscall_intercept.install @@ -0,0 +1,61 @@ +################################################################################ +# Copyright 2018-2022, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2022, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ +# vi: ft=bash + +################################################################################ +## The installation script must define both a pkg_install function and +## pkg_check function that, as their name implies, must specify how +## a dependency package should be installed and tested. ## ## The following +## variables can be used in the installation script: +## - CMAKE: a variable that expands to the cmake binary +## - SOURCE_DIR: the directory where the sources for the package were +## downloaded +## - INSTALL_DIR: the directory where the package should be installed +## - CORES: the number of cores to use when building +## - COMPILER_NAME: the name of the compiler being used (e.g. g++, clang, etc.) +## - COMPILER_FULL_VERSION: the compiler's full version (e.g. 9.3.0) +## - COMPILER_MAJOR_VERSION: the compiler's major version (e.g. 9) +## - PERFORM_TEST: whether tests for the package should be executed +################################################################################ + +pkg_install() { + ID="syscall_intercept" + CURR="${SOURCE_DIR}/${ID}" + prepare_build_dir "${CURR}" + cd "${CURR}"/build + $CMAKE -DCMAKE_PREFIX_PATH="${INSTALL_DIR}" \ + -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \ + -DCMAKE_BUILD_TYPE:STRING=Debug \ + -DBUILD_EXAMPLES:BOOL=OFF \ + -DBUILD_TESTS:BOOK=OFF .. + make -j"${CORES}" install +} + +pkg_check() { + : +} diff --git a/scripts/profiles/0.9.2/marenostrum4.specs b/scripts/profiles/0.9.2/marenostrum4.specs new file mode 100644 index 000000000..2fd272eff --- /dev/null +++ b/scripts/profiles/0.9.2/marenostrum4.specs @@ -0,0 +1,83 @@ +################################################################################ +# Copyright 2018-2021, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2021, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ + +# vi: ft=bash + +# Variables to be imported into the scripts +declare -A wgetdeps clonedeps clonedeps_args clonedeps_patches extra_install_args +declare -a order + +# Comment that should be displayed when printing the profile +comment="Dependencies for Marenostrum 4 supercomputer" + +# Dependencies that must be downloaded directly +wgetdeps=( + ["lz4"]="1.9.3" + ["capstone"]="4.0.2" + ["argobots"]="1.1" + ["rocksdb"]="6.26.1" + ["psm2"]="11.2.185" + ["json-c"]="0.15-20200726" +) + +# Dependencies that must be cloned +clonedeps=( + ["libfabric"]="HEAD@v1.13.2" + ["mercury"]="v2.1.0" + ["margo"]="v0.9.6" + ["syscall_intercept"]="2c8765fa292bc9c28a22624c528580d54658813d" + ["date"]="e7e1482087f58913b80a20b04d5c58d9d6d90155" + ["parallax"]="c130decd7a71c60c20b98d6a23924f05f754c3cd" +) + +# Extra arguments for git clone +clonedeps_args=( + ["mercury"]="--recurse-submodules" +) + +# Patches that should be applied post-clone +clonedeps_patches=( + ["syscall_intercept"]="syscall_intercept.patch" +) + +# Ordering that MUST be followed when downloading +order=( + "lz4" "capstone" "json-c" "psm2" "libfabric" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "parallax" +) + +# Extra arguments passed to the installation script. As such, they can +# reference the following variables: +# - CMAKE: a variable that expands to the cmake binary +# - SOURCE_DIR: the directory where the sources for the package were +# downloaded +# - INSTALL_DIR: the directory where the package should be installed +# - CORES: the number of cores to use when building +# - PERFORM_TEST: whether tests for the package should be executed +extra_install_args=( + ["libfabric"]="--enable-psm2=no --enable-sockets=yes" +) diff --git a/scripts/profiles/0.9.2/mogon2.specs b/scripts/profiles/0.9.2/mogon2.specs new file mode 100644 index 000000000..71ebf7a65 --- /dev/null +++ b/scripts/profiles/0.9.2/mogon2.specs @@ -0,0 +1,83 @@ +################################################################################ +# Copyright 2018-2021, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2021, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ + +# vi: ft=bash + +# Variables to be imported into the scripts +declare -A wgetdeps clonedeps clonedeps_args clonedeps_patches extra_install_args +declare -a order + +# Comment that should be displayed when printing the profile +comment="Dependencies for Mogon 2 supercomputer" + +# Dependencies that must be downloaded directly +wgetdeps=( + ["lz4"]="1.9.3" + ["capstone"]="4.0.2" + ["argobots"]="1.1" + ["rocksdb"]="6.26.1" + ["psm2"]="11.2.185" + ["json-c"]="0.15-20200726" +) + +# Dependencies that must be cloned +clonedeps=( + ["libfabric"]="HEAD@v1.13.2" + ["mercury"]="v2.1.0" + ["margo"]="v0.9.6" + ["syscall_intercept"]="2c8765fa292bc9c28a22624c528580d54658813d" + ["date"]="e7e1482087f58913b80a20b04d5c58d9d6d90155" + ["parallax"]="c130decd7a71c60c20b98d6a23924f05f754c3cd" +) + +# Extra arguments for git clone +clonedeps_args=( + ["mercury"]="--recurse-submodules" +) + +# Patches that should be applied post-clone +clonedeps_patches=( + ["syscall_intercept"]="syscall_intercept.patch" +) + +# Ordering that MUST be followed when downloading +order=( + "lz4" "capstone" "json-c" "psm2" "libfabric" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "parallax" +) + +# Extra arguments passed to the installation script. As such, they can +# reference the following variables: +# - CMAKE: a variable that expands to the cmake binary +# - SOURCE_DIR: the directory where the sources for the package were +# downloaded +# - INSTALL_DIR: the directory where the package should be installed +# - CORES: the number of cores to use when building +# - PERFORM_TEST: whether tests for the package should be executed +extra_install_args=( + ["libfabric"]="--enable-psm2=yes --with-psm2-src=${SOURCE_DIR}/psm2" +) diff --git a/scripts/profiles/0.9.2/ngio.specs b/scripts/profiles/0.9.2/ngio.specs new file mode 100644 index 000000000..72c99cebd --- /dev/null +++ b/scripts/profiles/0.9.2/ngio.specs @@ -0,0 +1,83 @@ +################################################################################ +# Copyright 2018-2021, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2021, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ + +# vi: ft=bash + +# Variables to be imported into the scripts +declare -A wgetdeps clonedeps clonedeps_args clonedeps_patches extra_install_args +declare -a order + +# Comment that should be displayed when printing the profile +comment="Dependencies for NEXTGenIO prototype cluster" + +# Dependencies that must be downloaded directly +wgetdeps=( + ["lz4"]="1.9.3" + ["capstone"]="4.0.2" + ["argobots"]="1.1" + ["rocksdb"]="6.26.1" + ["psm2"]="11.2.185" + ["json-c"]="0.15-20200726" +) + +# Dependencies that must be cloned +clonedeps=( + ["libfabric"]="HEAD@v1.13.2" + ["mercury"]="v2.1.0" + ["margo"]="v0.9.6" + ["syscall_intercept"]="2c8765fa292bc9c28a22624c528580d54658813d" + ["date"]="e7e1482087f58913b80a20b04d5c58d9d6d90155" + ["parallax"]="c130decd7a71c60c20b98d6a23924f05f754c3cd" +) + +# Extra arguments for git clone +clonedeps_args=( + ["mercury"]="--recurse-submodules" +) + +# Patches that should be applied post-clone +clonedeps_patches=( + ["syscall_intercept"]="syscall_intercept.patch" +) + +# Ordering that MUST be followed when downloading +order=( + "lz4" "capstone" "json-c" "psm2" "libfabric" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" "parallax" +) + +# Extra arguments passed to the installation script. As such, they can +# reference the following variables: +# - CMAKE: a variable that expands to the cmake binary +# - SOURCE_DIR: the directory where the sources for the package were +# downloaded +# - INSTALL_DIR: the directory where the package should be installed +# - CORES: the number of cores to use when building +# - PERFORM_TEST: whether tests for the package should be executed +extra_install_args=( + ["libfabric"]="--enable-psm2=yes --with-psm2-src=${SOURCE_DIR}/psm2" +) diff --git a/scripts/profiles/0.9.2/omnipath_psm2.specs b/scripts/profiles/0.9.2/omnipath_psm2.specs new file mode 100644 index 000000000..10163c302 --- /dev/null +++ b/scripts/profiles/0.9.2/omnipath_psm2.specs @@ -0,0 +1,82 @@ +################################################################################ +# Copyright 2018-2021, Barcelona Supercomputing Center (BSC), Spain # +# Copyright 2015-2021, Johannes Gutenberg Universitaet Mainz, Germany # +# # +# This software was partially supported by the # +# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # +# # +# This software was partially supported by the # +# ADA-FS project under the SPPEXA project funded by the DFG. # +# # +# This file is part of GekkoFS. # +# # +# GekkoFS is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# GekkoFS is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with GekkoFS. If not, see . # +# # +# SPDX-License-Identifier: GPL-3.0-or-later # +################################################################################ + +# vi: ft=bash + +# Variables to be imported into the scripts +declare -A wgetdeps clonedeps clonedeps_args clonedeps_patches extra_install_args +declare -a order + +# Comment that should be displayed when printing the profile +comment="Dependencies for Omnipath supercomputer" + +# Dependencies that must be downloaded directly +wgetdeps=( + ["lz4"]="1.9.3" + ["capstone"]="4.0.2" + ["argobots"]="1.1" + ["rocksdb"]="6.26.1" + ["psm2"]="11.2.185" + ["json-c"]="0.15-20200726" +) + +# Dependencies that must be cloned +clonedeps=( + ["libfabric"]="HEAD@v1.13.2" + ["mercury"]="v2.1.0" + ["margo"]="v0.9.6" + ["syscall_intercept"]="2c8765fa292bc9c28a22624c528580d54658813d" + ["date"]="e7e1482087f58913b80a20b04d5c58d9d6d90155" +) + +# Extra arguments for git clone +clonedeps_args=( + ["mercury"]="--recurse-submodules" +) + +# Patches that should be applied post-clone +clonedeps_patches=( + ["syscall_intercept"]="syscall_intercept.patch" +) + +# Ordering that MUST be followed when downloading +order=( + "lz4" "capstone" "json-c" "psm2" "libfabric" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" +) + +# Extra arguments passed to the installation script. As such, they can +# reference the following variables: +# - CMAKE: a variable that expands to the cmake binary +# - SOURCE_DIR: the directory where the sources for the package were +# downloaded +# - INSTALL_DIR: the directory where the package should be installed +# - CORES: the number of cores to use when building +# - PERFORM_TEST: whether tests for the package should be executed +extra_install_args=( + ["libfabric"]="--enable-psm2=yes --with-psm2-src=${SOURCE_DIR}/psm2" +) diff --git a/scripts/profiles/latest b/scripts/profiles/latest index f514a2f0b..f76f91317 120000 --- a/scripts/profiles/latest +++ b/scripts/profiles/latest @@ -1 +1 @@ -0.9.1 \ No newline at end of file +0.9.2 \ No newline at end of file diff --git a/scripts/profiles/sources.list b/scripts/profiles/sources.list index 2c4be6e88..ea8e9a28b 100644 --- a/scripts/profiles/sources.list +++ b/scripts/profiles/sources.list @@ -51,6 +51,7 @@ sources=( ["agios"]="https://github.com/francielizanon/agios.git" ["json-c"]="https://github.com/json-c/json-c/archive/json-c-{{VERSION}}.tar.gz" ["parallax"]="https://github.com/CARV-ICS-FORTH/parallax.git" + ["parallax-exp"]="https://github.com/gesalous/parallax-1.git" ["prometheus-cpp"]="https://github.com/jupp0r/prometheus-cpp/releases/download/{{VERSION}}/prometheus-cpp-with-submodules.tar.gz" ["curl"]="https://curl.se/download/curl-{{VERSION}}.tar.gz" ) -- GitLab From 69db0dcd6496568d2fbcf28f55af4d3b3478c690 Mon Sep 17 00:00:00 2001 From: rnou Date: Thu, 17 Nov 2022 11:47:44 +0100 Subject: [PATCH 02/10] Updated test scripts to 0.9.2 --- tests/scripts/compile_dep.sh/0.9.2/agios.out | 12 ++++++++++++ tests/scripts/compile_dep.sh/0.9.2/all.out | 15 +++++++++++++++ tests/scripts/compile_dep.sh/0.9.2/ci.out | 9 +++++++++ tests/scripts/compile_dep.sh/0.9.2/default.out | 10 ++++++++++ tests/scripts/compile_dep.sh/0.9.2/direct.out | 6 ++++++ .../compile_dep.sh/0.9.2/infiniband_verbs.out | 10 ++++++++++ .../scripts/compile_dep.sh/0.9.2/marenostrum4.out | 13 +++++++++++++ tests/scripts/compile_dep.sh/0.9.2/mogon2.out | 13 +++++++++++++ tests/scripts/compile_dep.sh/0.9.2/ngio.out | 13 +++++++++++++ .../compile_dep.sh/0.9.2/omnipath_psm2.out | 12 ++++++++++++ tests/scripts/compile_dep.sh/latest | 2 +- tests/scripts/dl_dep.sh/0.9.2/agios.out | 12 ++++++++++++ tests/scripts/dl_dep.sh/0.9.2/all.out | 14 ++++++++++++++ tests/scripts/dl_dep.sh/0.9.2/ci.out | 10 ++++++++++ tests/scripts/dl_dep.sh/0.9.2/default.out | 11 +++++++++++ tests/scripts/dl_dep.sh/0.9.2/direct.out | 7 +++++++ .../scripts/dl_dep.sh/0.9.2/infiniband_verbs.out | 11 +++++++++++ tests/scripts/dl_dep.sh/0.9.2/marenostrum4.out | 13 +++++++++++++ tests/scripts/dl_dep.sh/0.9.2/mogon2.out | 13 +++++++++++++ tests/scripts/dl_dep.sh/0.9.2/ngio.out | 13 +++++++++++++ tests/scripts/dl_dep.sh/0.9.2/omnipath_psm2.out | 12 ++++++++++++ tests/scripts/dl_dep.sh/latest | 2 +- 22 files changed, 231 insertions(+), 2 deletions(-) create mode 100644 tests/scripts/compile_dep.sh/0.9.2/agios.out create mode 100644 tests/scripts/compile_dep.sh/0.9.2/all.out create mode 100644 tests/scripts/compile_dep.sh/0.9.2/ci.out create mode 100644 tests/scripts/compile_dep.sh/0.9.2/default.out create mode 100644 tests/scripts/compile_dep.sh/0.9.2/direct.out create mode 100644 tests/scripts/compile_dep.sh/0.9.2/infiniband_verbs.out create mode 100644 tests/scripts/compile_dep.sh/0.9.2/marenostrum4.out create mode 100644 tests/scripts/compile_dep.sh/0.9.2/mogon2.out create mode 100644 tests/scripts/compile_dep.sh/0.9.2/ngio.out create mode 100644 tests/scripts/compile_dep.sh/0.9.2/omnipath_psm2.out create mode 100644 tests/scripts/dl_dep.sh/0.9.2/agios.out create mode 100644 tests/scripts/dl_dep.sh/0.9.2/all.out create mode 100644 tests/scripts/dl_dep.sh/0.9.2/ci.out create mode 100644 tests/scripts/dl_dep.sh/0.9.2/default.out create mode 100644 tests/scripts/dl_dep.sh/0.9.2/direct.out create mode 100644 tests/scripts/dl_dep.sh/0.9.2/infiniband_verbs.out create mode 100644 tests/scripts/dl_dep.sh/0.9.2/marenostrum4.out create mode 100644 tests/scripts/dl_dep.sh/0.9.2/mogon2.out create mode 100644 tests/scripts/dl_dep.sh/0.9.2/ngio.out create mode 100644 tests/scripts/dl_dep.sh/0.9.2/omnipath_psm2.out diff --git a/tests/scripts/compile_dep.sh/0.9.2/agios.out b/tests/scripts/compile_dep.sh/0.9.2/agios.out new file mode 100644 index 000000000..b098aecfa --- /dev/null +++ b/tests/scripts/compile_dep.sh/0.9.2/agios.out @@ -0,0 +1,12 @@ +######## Installing: lz4 ############################### +######## Installing: capstone ############################### +######## Installing: json-c ############################### +######## Installing: libfabric ############################### +######## Installing: mercury ############################### +######## Installing: argobots ############################### +######## Installing: margo ############################### +######## Installing: rocksdb ############################### +######## Installing: syscall_intercept ############################### +######## Installing: date ############################### +######## Installing: agios ############################### + diff --git a/tests/scripts/compile_dep.sh/0.9.2/all.out b/tests/scripts/compile_dep.sh/0.9.2/all.out new file mode 100644 index 000000000..780418d14 --- /dev/null +++ b/tests/scripts/compile_dep.sh/0.9.2/all.out @@ -0,0 +1,15 @@ +######## Installing: lz4 ############################### +######## Installing: capstone ############################### +######## Installing: json-c ############################### +######## Installing: psm2 ############################### +WARNING: Install script for 'psm2' not found. Skipping. +######## Installing: libfabric ############################### +######## Installing: mercury ############################### +######## Installing: argobots ############################### +######## Installing: margo ############################### +######## Installing: rocksdb ############################### +######## Installing: syscall_intercept ############################### +######## Installing: date ############################### +######## Installing: agios ############################### +######## Installing: parallax-exp ############################### +Done \ No newline at end of file diff --git a/tests/scripts/compile_dep.sh/0.9.2/ci.out b/tests/scripts/compile_dep.sh/0.9.2/ci.out new file mode 100644 index 000000000..c422e00d2 --- /dev/null +++ b/tests/scripts/compile_dep.sh/0.9.2/ci.out @@ -0,0 +1,9 @@ +######## Installing: libfabric ############################### +######## Installing: mercury ############################### +######## Installing: argobots ############################### +######## Installing: margo ############################### +######## Installing: rocksdb ############################### +######## Installing: syscall_intercept ############################### +######## Installing: date ############################### +######## Installing: agios ############################### +######## Installing: parallax-exp ############################### diff --git a/tests/scripts/compile_dep.sh/0.9.2/default.out b/tests/scripts/compile_dep.sh/0.9.2/default.out new file mode 100644 index 000000000..787e4a08f --- /dev/null +++ b/tests/scripts/compile_dep.sh/0.9.2/default.out @@ -0,0 +1,10 @@ +######## Installing: lz4 ############################### +######## Installing: capstone ############################### +######## Installing: json-c ############################### +######## Installing: libfabric ############################### +######## Installing: mercury ############################### +######## Installing: argobots ############################### +######## Installing: margo ############################### +######## Installing: rocksdb ############################### +######## Installing: syscall_intercept ############################### +######## Installing: date ############################### diff --git a/tests/scripts/compile_dep.sh/0.9.2/direct.out b/tests/scripts/compile_dep.sh/0.9.2/direct.out new file mode 100644 index 000000000..816266773 --- /dev/null +++ b/tests/scripts/compile_dep.sh/0.9.2/direct.out @@ -0,0 +1,6 @@ +######## Installing: libfabric ############################### +######## Installing: mercury ############################### +######## Installing: argobots ############################### +######## Installing: margo ############################### +######## Installing: rocksdb ############################### +######## Installing: syscall_intercept ############################### diff --git a/tests/scripts/compile_dep.sh/0.9.2/infiniband_verbs.out b/tests/scripts/compile_dep.sh/0.9.2/infiniband_verbs.out new file mode 100644 index 000000000..e82dd020f --- /dev/null +++ b/tests/scripts/compile_dep.sh/0.9.2/infiniband_verbs.out @@ -0,0 +1,10 @@ +######## Installing: lz4 ############################### +######## Installing: capstone ############################### +######## Installing: json-c ############################### +######## Installing: libfabric%verbs ############################### +######## Installing: mercury ############################### +######## Installing: argobots ############################### +######## Installing: margo ############################### +######## Installing: rocksdb ############################### +######## Installing: syscall_intercept ############################### +######## Installing: date ############################### diff --git a/tests/scripts/compile_dep.sh/0.9.2/marenostrum4.out b/tests/scripts/compile_dep.sh/0.9.2/marenostrum4.out new file mode 100644 index 000000000..38f67ce3d --- /dev/null +++ b/tests/scripts/compile_dep.sh/0.9.2/marenostrum4.out @@ -0,0 +1,13 @@ +######## Installing: lz4 ############################### +######## Installing: capstone ############################### +######## Installing: json-c ############################### +######## Installing: psm2 ############################### +WARNING: Install script for 'psm2' not found. Skipping. +######## Installing: libfabric ############################### +######## Installing: mercury ############################### +######## Installing: argobots ############################### +######## Installing: margo ############################### +######## Installing: rocksdb ############################### +######## Installing: syscall_intercept ############################### +######## Installing: date ############################### +######## Installing: parallax ############################### diff --git a/tests/scripts/compile_dep.sh/0.9.2/mogon2.out b/tests/scripts/compile_dep.sh/0.9.2/mogon2.out new file mode 100644 index 000000000..38f67ce3d --- /dev/null +++ b/tests/scripts/compile_dep.sh/0.9.2/mogon2.out @@ -0,0 +1,13 @@ +######## Installing: lz4 ############################### +######## Installing: capstone ############################### +######## Installing: json-c ############################### +######## Installing: psm2 ############################### +WARNING: Install script for 'psm2' not found. Skipping. +######## Installing: libfabric ############################### +######## Installing: mercury ############################### +######## Installing: argobots ############################### +######## Installing: margo ############################### +######## Installing: rocksdb ############################### +######## Installing: syscall_intercept ############################### +######## Installing: date ############################### +######## Installing: parallax ############################### diff --git a/tests/scripts/compile_dep.sh/0.9.2/ngio.out b/tests/scripts/compile_dep.sh/0.9.2/ngio.out new file mode 100644 index 000000000..38f67ce3d --- /dev/null +++ b/tests/scripts/compile_dep.sh/0.9.2/ngio.out @@ -0,0 +1,13 @@ +######## Installing: lz4 ############################### +######## Installing: capstone ############################### +######## Installing: json-c ############################### +######## Installing: psm2 ############################### +WARNING: Install script for 'psm2' not found. Skipping. +######## Installing: libfabric ############################### +######## Installing: mercury ############################### +######## Installing: argobots ############################### +######## Installing: margo ############################### +######## Installing: rocksdb ############################### +######## Installing: syscall_intercept ############################### +######## Installing: date ############################### +######## Installing: parallax ############################### diff --git a/tests/scripts/compile_dep.sh/0.9.2/omnipath_psm2.out b/tests/scripts/compile_dep.sh/0.9.2/omnipath_psm2.out new file mode 100644 index 000000000..7138da9e2 --- /dev/null +++ b/tests/scripts/compile_dep.sh/0.9.2/omnipath_psm2.out @@ -0,0 +1,12 @@ +######## Installing: lz4 ############################### +######## Installing: capstone ############################### +######## Installing: json-c ############################### +######## Installing: psm2 ############################### +WARNING: Install script for 'psm2' not found. Skipping. +######## Installing: libfabric ############################### +######## Installing: mercury ############################### +######## Installing: argobots ############################### +######## Installing: margo ############################### +######## Installing: rocksdb ############################### +######## Installing: syscall_intercept ############################### +######## Installing: date ############################### diff --git a/tests/scripts/compile_dep.sh/latest b/tests/scripts/compile_dep.sh/latest index f514a2f0b..f76f91317 120000 --- a/tests/scripts/compile_dep.sh/latest +++ b/tests/scripts/compile_dep.sh/latest @@ -1 +1 @@ -0.9.1 \ No newline at end of file +0.9.2 \ No newline at end of file diff --git a/tests/scripts/dl_dep.sh/0.9.2/agios.out b/tests/scripts/dl_dep.sh/0.9.2/agios.out new file mode 100644 index 000000000..07bf82bac --- /dev/null +++ b/tests/scripts/dl_dep.sh/0.9.2/agios.out @@ -0,0 +1,12 @@ +Downloaded 'https://github.com/lz4/lz4/archive/v1.9.3.tar.gz' to 'lz4' +Downloaded 'https://github.com/aquynh/capstone/archive/4.0.2.tar.gz' to 'capstone' +Downloaded 'https://github.com/json-c/json-c/archive/json-c-0.15-20200726.tar.gz' to 'json-c' +Cloned 'https://github.com/ofiwg/libfabric.git' to 'libfabric' with commit '[HEAD]' and flags '--branch=v1.13.2' +Cloned 'https://github.com/mercury-hpc/mercury' to 'mercury' with commit '[v2.1.0]' and flags '--recurse-submodules' +Downloaded 'https://github.com/pmodels/argobots/archive/v1.1.tar.gz' to 'argobots' +Cloned 'https://github.com/mochi-hpc/mochi-margo' to 'margo' with commit '[v0.9.6]' and flags '' +Downloaded 'https://github.com/facebook/rocksdb/archive/v6.26.1.tar.gz' to 'rocksdb' +Cloned 'https://github.com/pmem/syscall_intercept.git' to 'syscall_intercept' with commit '[2c8765fa292bc9c28a22624c528580d54658813d]' and flags '' +Cloned 'https://github.com/HowardHinnant/date.git' to 'date' with commit '[e7e1482087f58913b80a20b04d5c58d9d6d90155]' and flags '' +Cloned 'https://github.com/francielizanon/agios.git' to 'agios' with commit '[c26a6544200f823ebb8f890dd94e653d148bf226]' and flags '--branch=development' +Done \ No newline at end of file diff --git a/tests/scripts/dl_dep.sh/0.9.2/all.out b/tests/scripts/dl_dep.sh/0.9.2/all.out new file mode 100644 index 000000000..7ae55732d --- /dev/null +++ b/tests/scripts/dl_dep.sh/0.9.2/all.out @@ -0,0 +1,14 @@ +Downloaded 'https://github.com/lz4/lz4/archive/v1.9.3.tar.gz' to 'lz4' +Downloaded 'https://github.com/aquynh/capstone/archive/4.0.2.tar.gz' to 'capstone' +Downloaded 'https://github.com/json-c/json-c/archive/json-c-0.15-20200726.tar.gz' to 'json-c' +Downloaded 'https://github.com/intel/opa-psm2/archive/PSM2_11.2.185.tar.gz' to 'psm2' +Cloned 'https://github.com/ofiwg/libfabric.git' to 'libfabric' with commit '[HEAD]' and flags '--branch=v1.13.2' +Cloned 'https://github.com/mercury-hpc/mercury' to 'mercury' with commit '[v2.1.0]' and flags '--recurse-submodules' +Downloaded 'https://github.com/pmodels/argobots/archive/v1.1.tar.gz' to 'argobots' +Cloned 'https://github.com/mochi-hpc/mochi-margo' to 'margo' with commit '[v0.9.6]' and flags '' +Downloaded 'https://github.com/facebook/rocksdb/archive/v6.26.1.tar.gz' to 'rocksdb' +Cloned 'https://github.com/pmem/syscall_intercept.git' to 'syscall_intercept' with commit '[2c8765fa292bc9c28a22624c528580d54658813d]' and flags '' +Cloned 'https://github.com/HowardHinnant/date.git' to 'date' with commit '[e7e1482087f58913b80a20b04d5c58d9d6d90155]' and flags '' +Cloned 'https://github.com/francielizanon/agios.git' to 'agios' with commit '[c26a6544200f823ebb8f890dd94e653d148bf226]' and flags '--branch=development' +Cloned 'https://github.com/gesalous/parallax-1.git' to 'parallax-exp' with commit '[e08b56c155617eb5e82a52f85ae46ad158575045]' and flags '' +Done \ No newline at end of file diff --git a/tests/scripts/dl_dep.sh/0.9.2/ci.out b/tests/scripts/dl_dep.sh/0.9.2/ci.out new file mode 100644 index 000000000..b3ece8597 --- /dev/null +++ b/tests/scripts/dl_dep.sh/0.9.2/ci.out @@ -0,0 +1,10 @@ +Cloned 'https://github.com/ofiwg/libfabric.git' to 'libfabric' with commit '[HEAD]' and flags '--branch=v1.13.2' +Cloned 'https://github.com/mercury-hpc/mercury' to 'mercury' with commit '[v2.1.0]' and flags '--recurse-submodules' +Downloaded 'https://github.com/pmodels/argobots/archive/v1.1.tar.gz' to 'argobots' +Cloned 'https://github.com/mochi-hpc/mochi-margo' to 'margo' with commit '[v0.9.6]' and flags '' +Downloaded 'https://github.com/facebook/rocksdb/archive/v6.26.1.tar.gz' to 'rocksdb' +Cloned 'https://github.com/pmem/syscall_intercept.git' to 'syscall_intercept' with commit '[2c8765fa292bc9c28a22624c528580d54658813d]' and flags '' +Cloned 'https://github.com/HowardHinnant/date.git' to 'date' with commit '[e7e1482087f58913b80a20b04d5c58d9d6d90155]' and flags '' +Cloned 'https://github.com/francielizanon/agios.git' to 'agios' with commit '[c26a6544200f823ebb8f890dd94e653d148bf226]' and flags '--branch=development' +Cloned 'https://github.com/gesalous/parallax-1.git' to 'parallax-exp' with commit '[e08b56c155617eb5e82a52f85ae46ad158575045]' and flags '' +Done \ No newline at end of file diff --git a/tests/scripts/dl_dep.sh/0.9.2/default.out b/tests/scripts/dl_dep.sh/0.9.2/default.out new file mode 100644 index 000000000..7c047de89 --- /dev/null +++ b/tests/scripts/dl_dep.sh/0.9.2/default.out @@ -0,0 +1,11 @@ +Downloaded 'https://github.com/lz4/lz4/archive/v1.9.3.tar.gz' to 'lz4' +Downloaded 'https://github.com/aquynh/capstone/archive/4.0.2.tar.gz' to 'capstone' +Downloaded 'https://github.com/json-c/json-c/archive/json-c-0.15-20200726.tar.gz' to 'json-c' +Cloned 'https://github.com/ofiwg/libfabric.git' to 'libfabric' with commit '[HEAD]' and flags '--branch=v1.13.2' +Cloned 'https://github.com/mercury-hpc/mercury' to 'mercury' with commit '[v2.1.0]' and flags '--recurse-submodules' +Downloaded 'https://github.com/pmodels/argobots/archive/v1.1.tar.gz' to 'argobots' +Cloned 'https://github.com/mochi-hpc/mochi-margo' to 'margo' with commit '[v0.9.6]' and flags '' +Downloaded 'https://github.com/facebook/rocksdb/archive/v6.26.1.tar.gz' to 'rocksdb' +Cloned 'https://github.com/pmem/syscall_intercept.git' to 'syscall_intercept' with commit '[2c8765fa292bc9c28a22624c528580d54658813d]' and flags '' +Cloned 'https://github.com/HowardHinnant/date.git' to 'date' with commit '[e7e1482087f58913b80a20b04d5c58d9d6d90155]' and flags '' +Done \ No newline at end of file diff --git a/tests/scripts/dl_dep.sh/0.9.2/direct.out b/tests/scripts/dl_dep.sh/0.9.2/direct.out new file mode 100644 index 000000000..42b333576 --- /dev/null +++ b/tests/scripts/dl_dep.sh/0.9.2/direct.out @@ -0,0 +1,7 @@ +Cloned 'https://github.com/ofiwg/libfabric.git' to 'libfabric' with commit '[HEAD]' and flags '--branch=v1.13.2' +Cloned 'https://github.com/mercury-hpc/mercury' to 'mercury' with commit '[v2.1.0]' and flags '--recurse-submodules' +Downloaded 'https://github.com/pmodels/argobots/archive/v1.1.tar.gz' to 'argobots' +Cloned 'https://github.com/mochi-hpc/mochi-margo' to 'margo' with commit '[v0.9.6]' and flags '' +Downloaded 'https://github.com/facebook/rocksdb/archive/v6.26.1.tar.gz' to 'rocksdb' +Cloned 'https://github.com/pmem/syscall_intercept.git' to 'syscall_intercept' with commit '[2c8765fa292bc9c28a22624c528580d54658813d]' and flags '' +Done \ No newline at end of file diff --git a/tests/scripts/dl_dep.sh/0.9.2/infiniband_verbs.out b/tests/scripts/dl_dep.sh/0.9.2/infiniband_verbs.out new file mode 100644 index 000000000..da3c3e52c --- /dev/null +++ b/tests/scripts/dl_dep.sh/0.9.2/infiniband_verbs.out @@ -0,0 +1,11 @@ +Downloaded 'https://github.com/lz4/lz4/archive/v1.9.3.tar.gz' to 'lz4' +Downloaded 'https://github.com/aquynh/capstone/archive/4.0.2.tar.gz' to 'capstone' +Downloaded 'https://github.com/json-c/json-c/archive/json-c-0.15-20200726.tar.gz' to 'json-c' +Cloned 'https://github.com/ofiwg/libfabric.git' to 'libfabric%verbs' with commit '[HEAD]' and flags '--branch=v1.13.2' +Cloned 'https://github.com/mercury-hpc/mercury' to 'mercury' with commit '[v2.1.0]' and flags '--recurse-submodules' +Downloaded 'https://github.com/pmodels/argobots/archive/v1.1.tar.gz' to 'argobots' +Cloned 'https://github.com/mochi-hpc/mochi-margo' to 'margo' with commit '[v0.9.6]' and flags '' +Downloaded 'https://github.com/facebook/rocksdb/archive/v6.26.1.tar.gz' to 'rocksdb' +Cloned 'https://github.com/pmem/syscall_intercept.git' to 'syscall_intercept' with commit '[2c8765fa292bc9c28a22624c528580d54658813d]' and flags '' +Cloned 'https://github.com/HowardHinnant/date.git' to 'date' with commit '[e7e1482087f58913b80a20b04d5c58d9d6d90155]' and flags '' +Done \ No newline at end of file diff --git a/tests/scripts/dl_dep.sh/0.9.2/marenostrum4.out b/tests/scripts/dl_dep.sh/0.9.2/marenostrum4.out new file mode 100644 index 000000000..1d4ad26f5 --- /dev/null +++ b/tests/scripts/dl_dep.sh/0.9.2/marenostrum4.out @@ -0,0 +1,13 @@ +Downloaded 'https://github.com/lz4/lz4/archive/v1.9.3.tar.gz' to 'lz4' +Downloaded 'https://github.com/aquynh/capstone/archive/4.0.2.tar.gz' to 'capstone' +Downloaded 'https://github.com/json-c/json-c/archive/json-c-0.15-20200726.tar.gz' to 'json-c' +Downloaded 'https://github.com/intel/opa-psm2/archive/PSM2_11.2.185.tar.gz' to 'psm2' +Cloned 'https://github.com/ofiwg/libfabric.git' to 'libfabric' with commit '[HEAD]' and flags '--branch=v1.13.2' +Cloned 'https://github.com/mercury-hpc/mercury' to 'mercury' with commit '[v2.1.0]' and flags '--recurse-submodules' +Downloaded 'https://github.com/pmodels/argobots/archive/v1.1.tar.gz' to 'argobots' +Cloned 'https://github.com/mochi-hpc/mochi-margo' to 'margo' with commit '[v0.9.6]' and flags '' +Downloaded 'https://github.com/facebook/rocksdb/archive/v6.26.1.tar.gz' to 'rocksdb' +Cloned 'https://github.com/pmem/syscall_intercept.git' to 'syscall_intercept' with commit '[2c8765fa292bc9c28a22624c528580d54658813d]' and flags '' +Cloned 'https://github.com/HowardHinnant/date.git' to 'date' with commit '[e7e1482087f58913b80a20b04d5c58d9d6d90155]' and flags '' +Cloned 'https://github.com/CARV-ICS-FORTH/parallax.git' to 'parallax' with commit '[c130decd7a71c60c20b98d6a23924f05f754c3cd]' and flags '' +Done \ No newline at end of file diff --git a/tests/scripts/dl_dep.sh/0.9.2/mogon2.out b/tests/scripts/dl_dep.sh/0.9.2/mogon2.out new file mode 100644 index 000000000..1d4ad26f5 --- /dev/null +++ b/tests/scripts/dl_dep.sh/0.9.2/mogon2.out @@ -0,0 +1,13 @@ +Downloaded 'https://github.com/lz4/lz4/archive/v1.9.3.tar.gz' to 'lz4' +Downloaded 'https://github.com/aquynh/capstone/archive/4.0.2.tar.gz' to 'capstone' +Downloaded 'https://github.com/json-c/json-c/archive/json-c-0.15-20200726.tar.gz' to 'json-c' +Downloaded 'https://github.com/intel/opa-psm2/archive/PSM2_11.2.185.tar.gz' to 'psm2' +Cloned 'https://github.com/ofiwg/libfabric.git' to 'libfabric' with commit '[HEAD]' and flags '--branch=v1.13.2' +Cloned 'https://github.com/mercury-hpc/mercury' to 'mercury' with commit '[v2.1.0]' and flags '--recurse-submodules' +Downloaded 'https://github.com/pmodels/argobots/archive/v1.1.tar.gz' to 'argobots' +Cloned 'https://github.com/mochi-hpc/mochi-margo' to 'margo' with commit '[v0.9.6]' and flags '' +Downloaded 'https://github.com/facebook/rocksdb/archive/v6.26.1.tar.gz' to 'rocksdb' +Cloned 'https://github.com/pmem/syscall_intercept.git' to 'syscall_intercept' with commit '[2c8765fa292bc9c28a22624c528580d54658813d]' and flags '' +Cloned 'https://github.com/HowardHinnant/date.git' to 'date' with commit '[e7e1482087f58913b80a20b04d5c58d9d6d90155]' and flags '' +Cloned 'https://github.com/CARV-ICS-FORTH/parallax.git' to 'parallax' with commit '[c130decd7a71c60c20b98d6a23924f05f754c3cd]' and flags '' +Done \ No newline at end of file diff --git a/tests/scripts/dl_dep.sh/0.9.2/ngio.out b/tests/scripts/dl_dep.sh/0.9.2/ngio.out new file mode 100644 index 000000000..1d4ad26f5 --- /dev/null +++ b/tests/scripts/dl_dep.sh/0.9.2/ngio.out @@ -0,0 +1,13 @@ +Downloaded 'https://github.com/lz4/lz4/archive/v1.9.3.tar.gz' to 'lz4' +Downloaded 'https://github.com/aquynh/capstone/archive/4.0.2.tar.gz' to 'capstone' +Downloaded 'https://github.com/json-c/json-c/archive/json-c-0.15-20200726.tar.gz' to 'json-c' +Downloaded 'https://github.com/intel/opa-psm2/archive/PSM2_11.2.185.tar.gz' to 'psm2' +Cloned 'https://github.com/ofiwg/libfabric.git' to 'libfabric' with commit '[HEAD]' and flags '--branch=v1.13.2' +Cloned 'https://github.com/mercury-hpc/mercury' to 'mercury' with commit '[v2.1.0]' and flags '--recurse-submodules' +Downloaded 'https://github.com/pmodels/argobots/archive/v1.1.tar.gz' to 'argobots' +Cloned 'https://github.com/mochi-hpc/mochi-margo' to 'margo' with commit '[v0.9.6]' and flags '' +Downloaded 'https://github.com/facebook/rocksdb/archive/v6.26.1.tar.gz' to 'rocksdb' +Cloned 'https://github.com/pmem/syscall_intercept.git' to 'syscall_intercept' with commit '[2c8765fa292bc9c28a22624c528580d54658813d]' and flags '' +Cloned 'https://github.com/HowardHinnant/date.git' to 'date' with commit '[e7e1482087f58913b80a20b04d5c58d9d6d90155]' and flags '' +Cloned 'https://github.com/CARV-ICS-FORTH/parallax.git' to 'parallax' with commit '[c130decd7a71c60c20b98d6a23924f05f754c3cd]' and flags '' +Done \ No newline at end of file diff --git a/tests/scripts/dl_dep.sh/0.9.2/omnipath_psm2.out b/tests/scripts/dl_dep.sh/0.9.2/omnipath_psm2.out new file mode 100644 index 000000000..b4f4e9c0e --- /dev/null +++ b/tests/scripts/dl_dep.sh/0.9.2/omnipath_psm2.out @@ -0,0 +1,12 @@ +Downloaded 'https://github.com/lz4/lz4/archive/v1.9.3.tar.gz' to 'lz4' +Downloaded 'https://github.com/aquynh/capstone/archive/4.0.2.tar.gz' to 'capstone' +Downloaded 'https://github.com/json-c/json-c/archive/json-c-0.15-20200726.tar.gz' to 'json-c' +Downloaded 'https://github.com/intel/opa-psm2/archive/PSM2_11.2.185.tar.gz' to 'psm2' +Cloned 'https://github.com/ofiwg/libfabric.git' to 'libfabric' with commit '[HEAD]' and flags '--branch=v1.13.2' +Cloned 'https://github.com/mercury-hpc/mercury' to 'mercury' with commit '[v2.1.0]' and flags '--recurse-submodules' +Downloaded 'https://github.com/pmodels/argobots/archive/v1.1.tar.gz' to 'argobots' +Cloned 'https://github.com/mochi-hpc/mochi-margo' to 'margo' with commit '[v0.9.6]' and flags '' +Downloaded 'https://github.com/facebook/rocksdb/archive/v6.26.1.tar.gz' to 'rocksdb' +Cloned 'https://github.com/pmem/syscall_intercept.git' to 'syscall_intercept' with commit '[2c8765fa292bc9c28a22624c528580d54658813d]' and flags '' +Cloned 'https://github.com/HowardHinnant/date.git' to 'date' with commit '[e7e1482087f58913b80a20b04d5c58d9d6d90155]' and flags '' +Done \ No newline at end of file diff --git a/tests/scripts/dl_dep.sh/latest b/tests/scripts/dl_dep.sh/latest index f514a2f0b..f76f91317 120000 --- a/tests/scripts/dl_dep.sh/latest +++ b/tests/scripts/dl_dep.sh/latest @@ -1 +1 @@ -0.9.1 \ No newline at end of file +0.9.2 \ No newline at end of file -- GitLab From 9e1fda7e2e803b47298c494f20f13b57933554ea Mon Sep 17 00:00:00 2001 From: Ramon Nou Date: Thu, 24 Nov 2022 13:24:07 +0100 Subject: [PATCH 03/10] Parallax - exp --- scripts/profiles/0.9.2/all.specs | 2 +- .../backend/metadata/parallax_backend.cpp | 71 +++++++++++++------ 2 files changed, 49 insertions(+), 24 deletions(-) diff --git a/scripts/profiles/0.9.2/all.specs b/scripts/profiles/0.9.2/all.specs index b503c3665..cc401f76f 100644 --- a/scripts/profiles/0.9.2/all.specs +++ b/scripts/profiles/0.9.2/all.specs @@ -55,7 +55,7 @@ clonedeps=( ["syscall_intercept"]="2c8765fa292bc9c28a22624c528580d54658813d" ["date"]="e7e1482087f58913b80a20b04d5c58d9d6d90155" ["agios"]="c26a6544200f823ebb8f890dd94e653d148bf226@development" - ["parallax-exp"]="e08b56c155617eb5e82a52f85ae46ad158575045" + ["parallax-exp"]="e08b56c155617eb5e82a52f85ae46ad158575045@tebis_kv_format" ) # Extra arguments for git clone diff --git a/src/daemon/backend/metadata/parallax_backend.cpp b/src/daemon/backend/metadata/parallax_backend.cpp index 7f2226460..118e3ba55 100644 --- a/src/daemon/backend/metadata/parallax_backend.cpp +++ b/src/daemon/backend/metadata/parallax_backend.cpp @@ -51,7 +51,12 @@ namespace gkfs::metadata { * TODO: Insert option */ ParallaxBackend::~ParallaxBackend() { - par_close(par_db_); + auto ret = par_close(par_db_); + if (ret) { + std::runtime_error(fmt::format( + "Failed to close parallax {}", ret)); + + } } /** @@ -123,9 +128,13 @@ ParallaxBackend::ParallaxBackend(const std::string& path) par_options_.db_name = "test"; par_options_.volume_name = (char*) malloc(par_path_.size() + 1); strcpy(par_options_.volume_name, par_path_.c_str()); - par_options_.volume_start = 0; - par_options_.volume_size = 0; - par_db_ = par_open(&par_options_); + const char *error = NULL; + par_options_.options = par_get_default_options(); + par_db_ = par_open(&par_options_, &error); + if (par_db_ == nullptr) { + throw std::runtime_error(fmt::format("Failed to open database: err {}", *error)); + } + free((void*)error); } @@ -180,10 +189,11 @@ ParallaxBackend::get_impl(const std::string& key) const { struct par_value V; V.val_buffer = NULL; str2par(key, K); - - par_ret_code ret = par_get(par_db_, &K, &V); - if(ret != PAR_SUCCESS) { + const char *error; + par_get(par_db_, &K, &V, &error); + if(V.val_buffer == NULL) { throw_status_excpt("Not Found"); + free((void *)error); } else { val = V.val_buffer; free(V.val_buffer); @@ -204,9 +214,10 @@ ParallaxBackend::put_impl(const std::string& key, const std::string& val) { str2par(key, key_value.k); str2par(val, key_value.v); - par_ret_code ret = par_put(par_db_, &key_value); - if(ret != PAR_SUCCESS) { - throw_status_excpt("Not Found"); + const char *error; + par_put(par_db_, &key_value, &error); + if (error) { + free ((void *) error); } } @@ -227,7 +238,11 @@ ParallaxBackend::put_no_exist_impl(const std::string& key, par_ret_code ret = par_exists(par_db_, &key_value.k); if(ret == PAR_KEY_NOT_FOUND) { - par_put(par_db_, &key_value); + const char *error; + par_put(par_db_, &key_value, &error); + if (!error) { + free ((void*)error); + } } else throw ExistsException(key); } @@ -243,9 +258,11 @@ ParallaxBackend::remove_impl(const std::string& key) { struct par_key k; str2par(key, k); - par_ret_code ret = par_delete(par_db_, &k); + const char * error; + par_delete(par_db_, &k, &error); - if(ret != PAR_SUCCESS) { + if(error) { + free((void *) error); throw_status_excpt("Not Found"); } } @@ -292,10 +309,11 @@ ParallaxBackend::update_impl(const std::string& old_key, str2par(val, n_key_value.v); str2par(old_key, o_key); - par_delete(par_db_, &o_key); - par_ret_code ret = par_put(par_db_, &n_key_value); - if(ret != PAR_SUCCESS) { - throw_status_excpt("Not Found"); + const char * error; + par_put(par_db_, &n_key_value, &error); + if(error) { + free((void*) error); + throw_status_excpt("update error"); } } @@ -352,9 +370,12 @@ ParallaxBackend::get_dirents_impl(const std::string& dir) const { struct par_key K; str2par(root_path, K); - - par_scanner S = par_init_scanner(par_db_, &K, PAR_GREATER_OR_EQUAL); - + const char* error; + par_scanner S = par_init_scanner(par_db_, &K, PAR_GREATER_OR_EQUAL, &error); + if (error) { + free((void*) error); + throw_status_excpt("Scan error"); + } std::vector> entries; while(par_is_valid(S)) { @@ -420,9 +441,13 @@ ParallaxBackend::get_dirents_extended_impl(const std::string& dir) const { struct par_key K; str2par(root_path, K); - - par_scanner S = par_init_scanner(par_db_, &K, PAR_GREATER_OR_EQUAL); - + const char* error; + par_scanner S = par_init_scanner(par_db_, &K, PAR_GREATER_OR_EQUAL, &error); + if (error) { + free((void*) error); + throw_status_excpt("Scan error"); + } + std::vector> entries; while(par_is_valid(S)) { -- GitLab From ff99e42764c4928ab7b075d2bff07bc509954530 Mon Sep 17 00:00:00 2001 From: Ramon Nou Date: Thu, 24 Nov 2022 14:24:40 +0100 Subject: [PATCH 04/10] Updated parallax-master --- scripts/profiles/0.9.2/all.specs | 4 ++-- scripts/profiles/0.9.2/ci.specs | 4 ++-- tests/scripts/compile_dep.sh/0.9.2/all.out | 2 +- tests/scripts/compile_dep.sh/0.9.2/ci.out | 2 +- tests/scripts/dl_dep.sh/0.9.2/all.out | 2 +- tests/scripts/dl_dep.sh/0.9.2/ci.out | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/scripts/profiles/0.9.2/all.specs b/scripts/profiles/0.9.2/all.specs index cc401f76f..07edf71ac 100644 --- a/scripts/profiles/0.9.2/all.specs +++ b/scripts/profiles/0.9.2/all.specs @@ -55,7 +55,7 @@ clonedeps=( ["syscall_intercept"]="2c8765fa292bc9c28a22624c528580d54658813d" ["date"]="e7e1482087f58913b80a20b04d5c58d9d6d90155" ["agios"]="c26a6544200f823ebb8f890dd94e653d148bf226@development" - ["parallax-exp"]="e08b56c155617eb5e82a52f85ae46ad158575045@tebis_kv_format" + ["parallax"]="ffdea6e820f5c4c2d33e60d9a4b15ef9e6bbcfdd" ) # Extra arguments for git clone @@ -71,7 +71,7 @@ clonedeps_patches=( # Ordering that MUST be followed when downloading order=( "lz4" "capstone" "json-c" "psm2" "libfabric" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "date" - "agios" "curl" "prometheus-cpp" "parallax-exp" + "agios" "curl" "prometheus-cpp" "parallax" ) # Extra arguments passed to the installation script. As such, they can diff --git a/scripts/profiles/0.9.2/ci.specs b/scripts/profiles/0.9.2/ci.specs index a1a0d162f..aec646112 100644 --- a/scripts/profiles/0.9.2/ci.specs +++ b/scripts/profiles/0.9.2/ci.specs @@ -50,7 +50,7 @@ clonedeps=( ["syscall_intercept"]="2c8765fa292bc9c28a22624c528580d54658813d" ["date"]="e7e1482087f58913b80a20b04d5c58d9d6d90155" ["agios"]="c26a6544200f823ebb8f890dd94e653d148bf226@development" - ["parallax-exp"]="e08b56c155617eb5e82a52f85ae46ad158575045" + ["parallax"]="ffdea6e820f5c4c2d33e60d9a4b15ef9e6bbcfdd" ) # Extra arguments for git clone @@ -66,7 +66,7 @@ clonedeps_patches=( # Ordering that MUST be followed when downloading order=( "libfabric" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" - "date" "agios" "parallax-exp" "prometheus-cpp" + "date" "agios" "parallax" "prometheus-cpp" ) # Extra arguments passed to the installation script. As such, they can diff --git a/tests/scripts/compile_dep.sh/0.9.2/all.out b/tests/scripts/compile_dep.sh/0.9.2/all.out index 780418d14..5cdf4c5ff 100644 --- a/tests/scripts/compile_dep.sh/0.9.2/all.out +++ b/tests/scripts/compile_dep.sh/0.9.2/all.out @@ -11,5 +11,5 @@ WARNING: Install script for 'psm2' not found. Skipping. ######## Installing: syscall_intercept ############################### ######## Installing: date ############################### ######## Installing: agios ############################### -######## Installing: parallax-exp ############################### +######## Installing: parallax ############################### Done \ No newline at end of file diff --git a/tests/scripts/compile_dep.sh/0.9.2/ci.out b/tests/scripts/compile_dep.sh/0.9.2/ci.out index c422e00d2..d3c276800 100644 --- a/tests/scripts/compile_dep.sh/0.9.2/ci.out +++ b/tests/scripts/compile_dep.sh/0.9.2/ci.out @@ -6,4 +6,4 @@ ######## Installing: syscall_intercept ############################### ######## Installing: date ############################### ######## Installing: agios ############################### -######## Installing: parallax-exp ############################### +######## Installing: parallax ############################### diff --git a/tests/scripts/dl_dep.sh/0.9.2/all.out b/tests/scripts/dl_dep.sh/0.9.2/all.out index 7ae55732d..04922981c 100644 --- a/tests/scripts/dl_dep.sh/0.9.2/all.out +++ b/tests/scripts/dl_dep.sh/0.9.2/all.out @@ -10,5 +10,5 @@ Downloaded 'https://github.com/facebook/rocksdb/archive/v6.26.1.tar.gz' to 'rock Cloned 'https://github.com/pmem/syscall_intercept.git' to 'syscall_intercept' with commit '[2c8765fa292bc9c28a22624c528580d54658813d]' and flags '' Cloned 'https://github.com/HowardHinnant/date.git' to 'date' with commit '[e7e1482087f58913b80a20b04d5c58d9d6d90155]' and flags '' Cloned 'https://github.com/francielizanon/agios.git' to 'agios' with commit '[c26a6544200f823ebb8f890dd94e653d148bf226]' and flags '--branch=development' -Cloned 'https://github.com/gesalous/parallax-1.git' to 'parallax-exp' with commit '[e08b56c155617eb5e82a52f85ae46ad158575045]' and flags '' +Cloned 'https://github.com/CARV-ICS-FORTH/parallax.git' to 'parallax' with commit '[ffdea6e820f5c4c2d33e60d9a4b15ef9e6bbcfdd]' and flags '' Done \ No newline at end of file diff --git a/tests/scripts/dl_dep.sh/0.9.2/ci.out b/tests/scripts/dl_dep.sh/0.9.2/ci.out index b3ece8597..860dcb245 100644 --- a/tests/scripts/dl_dep.sh/0.9.2/ci.out +++ b/tests/scripts/dl_dep.sh/0.9.2/ci.out @@ -6,5 +6,5 @@ Downloaded 'https://github.com/facebook/rocksdb/archive/v6.26.1.tar.gz' to 'rock Cloned 'https://github.com/pmem/syscall_intercept.git' to 'syscall_intercept' with commit '[2c8765fa292bc9c28a22624c528580d54658813d]' and flags '' Cloned 'https://github.com/HowardHinnant/date.git' to 'date' with commit '[e7e1482087f58913b80a20b04d5c58d9d6d90155]' and flags '' Cloned 'https://github.com/francielizanon/agios.git' to 'agios' with commit '[c26a6544200f823ebb8f890dd94e653d148bf226]' and flags '--branch=development' -Cloned 'https://github.com/gesalous/parallax-1.git' to 'parallax-exp' with commit '[e08b56c155617eb5e82a52f85ae46ad158575045]' and flags '' +Cloned 'https://github.com/CARV-ICS-FORTH/parallax.git' to 'parallax' with commit '[ffdea6e820f5c4c2d33e60d9a4b15ef9e6bbcfdd]' and flags '' Done \ No newline at end of file -- GitLab From f115892c28142558f99c6167c4b4165ad16d9d39 Mon Sep 17 00:00:00 2001 From: Ramon Nou Date: Fri, 25 Nov 2022 13:53:55 +0100 Subject: [PATCH 05/10] Removed free error --- docker/0.9.2/deps/Dockerfile | 1 + .../backend/metadata/parallax_backend.cpp | 39 +++++++++++-------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/docker/0.9.2/deps/Dockerfile b/docker/0.9.2/deps/Dockerfile index 173e1c8bf..2c2ae6a01 100644 --- a/docker/0.9.2/deps/Dockerfile +++ b/docker/0.9.2/deps/Dockerfile @@ -31,6 +31,7 @@ RUN apt-get update && \ RUN cd ${SCRIPTS_PATH} && \ /bin/bash ./dl_dep.sh -p ci:${GKFS_VERSION} ${DEPS_SRC_PATH} && \ /bin/bash ./compile_dep.sh -j 8 -p ci:${GKFS_VERSION} ${DEPS_SRC_PATH} ${INSTALL_PATH} && \ + cp ${DEPS_SRC_PATH}/parallax/lib/include/parallax/structures.h ${INSTALL_PATH}/include/ &&\ rm -rf ${DEPS_SRC_PATH} && \ rm -rf ${SCRIPTS_PATH} && \ rmdir ${GKFS_PATH} && \ diff --git a/src/daemon/backend/metadata/parallax_backend.cpp b/src/daemon/backend/metadata/parallax_backend.cpp index 118e3ba55..e55353af8 100644 --- a/src/daemon/backend/metadata/parallax_backend.cpp +++ b/src/daemon/backend/metadata/parallax_backend.cpp @@ -193,7 +193,6 @@ ParallaxBackend::get_impl(const std::string& key) const { par_get(par_db_, &K, &V, &error); if(V.val_buffer == NULL) { throw_status_excpt("Not Found"); - free((void *)error); } else { val = V.val_buffer; free(V.val_buffer); @@ -217,7 +216,7 @@ ParallaxBackend::put_impl(const std::string& key, const std::string& val) { const char *error; par_put(par_db_, &key_value, &error); if (error) { - free ((void *) error); + //free ((void *) error); } } @@ -240,8 +239,8 @@ ParallaxBackend::put_no_exist_impl(const std::string& key, if(ret == PAR_KEY_NOT_FOUND) { const char *error; par_put(par_db_, &key_value, &error); - if (!error) { - free ((void*)error); + if (error) { + // free ((void*)error); } } else throw ExistsException(key); @@ -258,12 +257,12 @@ ParallaxBackend::remove_impl(const std::string& key) { struct par_key k; str2par(key, k); - const char * error; + const char * error = NULL; par_delete(par_db_, &k, &error); if(error) { - free((void *) error); - throw_status_excpt("Not Found"); + // free((void *) error); + // throw_status_excpt("Not Found"); } } @@ -307,13 +306,21 @@ ParallaxBackend::update_impl(const std::string& old_key, str2par(new_key, n_key_value.k); str2par(val, n_key_value.v); - str2par(old_key, o_key); - const char * error; + + const char * error = NULL; + if (new_key != old_key) { + par_delete(par_db_, &o_key, &error); + if (error) { + // free ((void *)error); + // throw_status_excpt("update error"); + } + } + par_put(par_db_, &n_key_value, &error); if(error) { - free((void*) error); - throw_status_excpt("update error"); + // free((void*) error); + // throw_status_excpt("update error"); } } @@ -370,11 +377,11 @@ ParallaxBackend::get_dirents_impl(const std::string& dir) const { struct par_key K; str2par(root_path, K); - const char* error; + const char* error = NULL; par_scanner S = par_init_scanner(par_db_, &K, PAR_GREATER_OR_EQUAL, &error); if (error) { - free((void*) error); - throw_status_excpt("Scan error"); + // free((void*) error); + // throw_status_excpt("Scan error"); } std::vector> entries; @@ -444,8 +451,8 @@ ParallaxBackend::get_dirents_extended_impl(const std::string& dir) const { const char* error; par_scanner S = par_init_scanner(par_db_, &K, PAR_GREATER_OR_EQUAL, &error); if (error) { - free((void*) error); - throw_status_excpt("Scan error"); + // free((void*) error); + // throw_status_excpt("Scan error"); } std::vector> entries; -- GitLab From d2deba25f6f3dcb2687e95f79cf00063a9c723ac Mon Sep 17 00:00:00 2001 From: Ramon Nou Date: Mon, 28 Nov 2022 11:50:02 +0100 Subject: [PATCH 06/10] Removed free error in Parallax --- scripts/profiles/sources.list | 1 - .../backend/metadata/parallax_backend.cpp | 69 +++++++++---------- 2 files changed, 34 insertions(+), 36 deletions(-) diff --git a/scripts/profiles/sources.list b/scripts/profiles/sources.list index ea8e9a28b..2c4be6e88 100644 --- a/scripts/profiles/sources.list +++ b/scripts/profiles/sources.list @@ -51,7 +51,6 @@ sources=( ["agios"]="https://github.com/francielizanon/agios.git" ["json-c"]="https://github.com/json-c/json-c/archive/json-c-{{VERSION}}.tar.gz" ["parallax"]="https://github.com/CARV-ICS-FORTH/parallax.git" - ["parallax-exp"]="https://github.com/gesalous/parallax-1.git" ["prometheus-cpp"]="https://github.com/jupp0r/prometheus-cpp/releases/download/{{VERSION}}/prometheus-cpp-with-submodules.tar.gz" ["curl"]="https://curl.se/download/curl-{{VERSION}}.tar.gz" ) diff --git a/src/daemon/backend/metadata/parallax_backend.cpp b/src/daemon/backend/metadata/parallax_backend.cpp index e55353af8..4cb02b8c8 100644 --- a/src/daemon/backend/metadata/parallax_backend.cpp +++ b/src/daemon/backend/metadata/parallax_backend.cpp @@ -52,10 +52,8 @@ namespace gkfs::metadata { */ ParallaxBackend::~ParallaxBackend() { auto ret = par_close(par_db_); - if (ret) { - std::runtime_error(fmt::format( - "Failed to close parallax {}", ret)); - + if(ret) { + std::runtime_error(fmt::format("Failed to close parallax {}", ret)); } } @@ -128,13 +126,13 @@ ParallaxBackend::ParallaxBackend(const std::string& path) par_options_.db_name = "test"; par_options_.volume_name = (char*) malloc(par_path_.size() + 1); strcpy(par_options_.volume_name, par_path_.c_str()); - const char *error = NULL; + const char* error = NULL; par_options_.options = par_get_default_options(); par_db_ = par_open(&par_options_, &error); - if (par_db_ == nullptr) { - throw std::runtime_error(fmt::format("Failed to open database: err {}", *error)); + if(par_db_ == nullptr) { + throw std::runtime_error( + fmt::format("Failed to open database: err {}", *error)); } - free((void*)error); } @@ -189,7 +187,7 @@ ParallaxBackend::get_impl(const std::string& key) const { struct par_value V; V.val_buffer = NULL; str2par(key, K); - const char *error; + const char* error = NULL; par_get(par_db_, &K, &V, &error); if(V.val_buffer == NULL) { throw_status_excpt("Not Found"); @@ -213,10 +211,10 @@ ParallaxBackend::put_impl(const std::string& key, const std::string& val) { str2par(key, key_value.k); str2par(val, key_value.v); - const char *error; + const char* error = NULL; par_put(par_db_, &key_value, &error); - if (error) { - //free ((void *) error); + if(error) { + throw_status_excpt(fmt::format("Failed to put_impl: err {}", *error)); } } @@ -237,10 +235,11 @@ ParallaxBackend::put_no_exist_impl(const std::string& key, par_ret_code ret = par_exists(par_db_, &key_value.k); if(ret == PAR_KEY_NOT_FOUND) { - const char *error; + const char* error = NULL; par_put(par_db_, &key_value, &error); - if (error) { - // free ((void*)error); + if(error) { + throw_status_excpt( + fmt::format("Failed to put_no_exist_impl: err {}", *error)); } } else throw ExistsException(key); @@ -257,12 +256,12 @@ ParallaxBackend::remove_impl(const std::string& key) { struct par_key k; str2par(key, k); - const char * error = NULL; + const char* error = NULL; par_delete(par_db_, &k, &error); if(error) { - // free((void *) error); - // throw_status_excpt("Not Found"); + throw_status_excpt( + fmt::format("Failed to remove_impl: err {}", *error)); } } @@ -307,20 +306,20 @@ ParallaxBackend::update_impl(const std::string& old_key, str2par(new_key, n_key_value.k); str2par(val, n_key_value.v); str2par(old_key, o_key); - - const char * error = NULL; - if (new_key != old_key) { + + const char* error = NULL; + if(new_key != old_key) { par_delete(par_db_, &o_key, &error); - if (error) { - // free ((void *)error); - // throw_status_excpt("update error"); + if(error) { + throw_status_excpt( + fmt::format("Failed to delete (update): err {}", *error)); } } - + par_put(par_db_, &n_key_value, &error); if(error) { - // free((void*) error); - // throw_status_excpt("update error"); + throw_status_excpt( + fmt::format("Failed to update/put_impl: err {}", *error)); } } @@ -379,9 +378,9 @@ ParallaxBackend::get_dirents_impl(const std::string& dir) const { str2par(root_path, K); const char* error = NULL; par_scanner S = par_init_scanner(par_db_, &K, PAR_GREATER_OR_EQUAL, &error); - if (error) { - // free((void*) error); - // throw_status_excpt("Scan error"); + if(error) { + throw_status_excpt( + fmt::format("Failed get_dirents_imp: err {}", *error)); } std::vector> entries; @@ -448,13 +447,13 @@ ParallaxBackend::get_dirents_extended_impl(const std::string& dir) const { struct par_key K; str2par(root_path, K); - const char* error; + const char* error = NULL; par_scanner S = par_init_scanner(par_db_, &K, PAR_GREATER_OR_EQUAL, &error); - if (error) { - // free((void*) error); - // throw_status_excpt("Scan error"); + if(error) { + throw_status_excpt(fmt::format( + "Failed to get_dirents_extended_impl: err {}", *error)); } - + std::vector> entries; while(par_is_valid(S)) { -- GitLab From 6c174e5b19ab46d6faa27ca7a75d36f74dea553a Mon Sep 17 00:00:00 2001 From: Ramon Nou Date: Mon, 28 Nov 2022 12:35:29 +0100 Subject: [PATCH 07/10] Remove Log output in parallax --- .../0.9.2/install/parallax-exp.install | 61 ------------------- .../profiles/0.9.2/install/parallax.install | 1 + 2 files changed, 1 insertion(+), 61 deletions(-) delete mode 100644 scripts/profiles/0.9.2/install/parallax-exp.install diff --git a/scripts/profiles/0.9.2/install/parallax-exp.install b/scripts/profiles/0.9.2/install/parallax-exp.install deleted file mode 100644 index 88dd2480d..000000000 --- a/scripts/profiles/0.9.2/install/parallax-exp.install +++ /dev/null @@ -1,61 +0,0 @@ -################################################################################ -# Copyright 2018-2022, Barcelona Supercomputing Center (BSC), Spain # -# Copyright 2015-2022, Johannes Gutenberg Universitaet Mainz, Germany # -# # -# This software was partially supported by the # -# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # -# # -# This software was partially supported by the # -# ADA-FS project under the SPPEXA project funded by the DFG. # -# # -# This file is part of GekkoFS. # -# # -# GekkoFS is free software: you can redistribute it and/or modify # -# it under the terms of the GNU General Public License as published by # -# the Free Software Foundation, either version 3 of the License, or # -# (at your option) any later version. # -# # -# GekkoFS is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# GNU General Public License for more details. # -# # -# You should have received a copy of the GNU General Public License # -# along with GekkoFS. If not, see . # -# # -# SPDX-License-Identifier: GPL-3.0-or-later # -################################################################################ -# vi: ft=bash - -################################################################################ -## The installation script must define both a pkg_install function and -## pkg_check function that, as their name implies, must specify how -## a dependency package should be installed and tested. ## ## The following -## variables can be used in the installation script: -## - CMAKE: a variable that expands to the cmake binary -## - SOURCE_DIR: the directory where the sources for the package were -## downloaded -## - INSTALL_DIR: the directory where the package should be installed -## - CORES: the number of cores to use when building -## - PERFORM_TEST: whether tests for the package should be executed -################################################################################ - -pkg_install() { - - CURR="${SOURCE_DIR}/parallax-exp" - # sed -i -e 's/KEY_SIZE (256)/KEY_SIZE (4096)/g' ${CURR}/lib/btree/conf.h - prepare_build_dir "${CURR}" - cd "${CURR}/build" - PKG_CONFIG_PATH="${INSTALL_DIR}/lib/pkgconfig" $CMAKE \ - -DBUILD_SHARED_LIBS:BOOL=OFF \ - -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \ - -DCMAKE_BUILD_TYPE="Release" \ - -DCMAKE_CXX_FLAGS_RELEASE="-Wno-error=unused-result" \ - .. - make -j"${CORES}" - make install -} - -pkg_check() { - : -} diff --git a/scripts/profiles/0.9.2/install/parallax.install b/scripts/profiles/0.9.2/install/parallax.install index 0c552cc78..90bfc5d09 100644 --- a/scripts/profiles/0.9.2/install/parallax.install +++ b/scripts/profiles/0.9.2/install/parallax.install @@ -51,6 +51,7 @@ pkg_install() { -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \ -DCMAKE_BUILD_TYPE="Release" \ -DCMAKE_CXX_FLAGS_RELEASE="-Wno-error=unused-result" \ + -DDISABLE_LOGGING:BOOL=ON \ .. make -j"${CORES}" make install -- GitLab From e94a661010f47febf8b37217a9350cf7bfb84bab Mon Sep 17 00:00:00 2001 From: Ramon Nou Date: Mon, 28 Nov 2022 13:09:21 +0100 Subject: [PATCH 08/10] Changelog --- CHANGELOG.md | 1 + scripts/profiles/0.9.2/install/parallax.install | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 20f2f48f5..12ec77526 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - Additional tests to increase code coverage ([!141](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/141)). - GKFS_ENABLE_UNUSED_FUNCTIONS added to disable code to increase code coverage. +- Updated Parallax version to new API (parallax option needs kv_format.parallax in the path, and the database in a device with O_DIRECT) ### Changed diff --git a/scripts/profiles/0.9.2/install/parallax.install b/scripts/profiles/0.9.2/install/parallax.install index 90bfc5d09..35c7d0b64 100644 --- a/scripts/profiles/0.9.2/install/parallax.install +++ b/scripts/profiles/0.9.2/install/parallax.install @@ -51,10 +51,12 @@ pkg_install() { -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \ -DCMAKE_BUILD_TYPE="Release" \ -DCMAKE_CXX_FLAGS_RELEASE="-Wno-error=unused-result" \ - -DDISABLE_LOGGING:BOOL=ON \ + -DDISABLE_LOGGING:BOOL=ON \ .. make -j"${CORES}" make install + # We need to copy this file as it is not installed + cp ${CURR}/lib/include/parallax/structures.h ${INSTALL_DIR}/include/ } pkg_check() { -- GitLab From c7d59fac7e7786090dca0dfc02eb0121ed66b090 Mon Sep 17 00:00:00 2001 From: rnou Date: Tue, 29 Nov 2022 13:29:18 +0100 Subject: [PATCH 09/10] Shared Library for Parallax --- scripts/profiles/0.9.2/install/parallax.install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/profiles/0.9.2/install/parallax.install b/scripts/profiles/0.9.2/install/parallax.install index 35c7d0b64..38bd9c689 100644 --- a/scripts/profiles/0.9.2/install/parallax.install +++ b/scripts/profiles/0.9.2/install/parallax.install @@ -47,7 +47,7 @@ pkg_install() { prepare_build_dir "${CURR}" cd "${CURR}/build" PKG_CONFIG_PATH="${INSTALL_DIR}/lib/pkgconfig" $CMAKE \ - -DBUILD_SHARED_LIBS:BOOL=OFF \ + -DBUILD_SHARED_LIBS:BOOL=ON \ -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \ -DCMAKE_BUILD_TYPE="Release" \ -DCMAKE_CXX_FLAGS_RELEASE="-Wno-error=unused-result" \ -- GitLab From 981c38d54742c6bf5b7544964934c34159519c12 Mon Sep 17 00:00:00 2001 From: Ramon Nou Date: Fri, 2 Dec 2022 08:29:53 +0100 Subject: [PATCH 10/10] Trace_Reads definition when logging is disabled --- include/client/logging.hpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/client/logging.hpp b/include/client/logging.hpp index e0f620cf6..ee570542f 100644 --- a/include/client/logging.hpp +++ b/include/client/logging.hpp @@ -485,6 +485,9 @@ static_buffer::grow(std::size_t size) { #define LOG_DEBUG(...) \ do { \ } while(0); +#define LOG_TRACE_READS(...) \ + do { \ + } while(0); #else // !GKFS_ENABLE_LOGGING -- GitLab