Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,8 @@ jobs:
# - system: X10
- system: OPENMP
- system: SPARK
# - system: OMPSS
# - system: OMPSS2
# hwloc: 1
- system: OMPSS
hwloc: 1
- system: SWIFT
- system: TENSORFLOW
- system: DASK
Expand All @@ -65,4 +64,4 @@ jobs:
# CC_FLAGS: "-Wno-unused-command-line-argument"
# Disable features by default, specify explicit what to use in each build
DEFAULT_FEATURES: 0
timeout-minutes: 90
timeout-minutes: 150
85 changes: 48 additions & 37 deletions build_all.sh
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ if [[ $USE_STARPU -eq 1 ]]; then
starpu_configure_flags+=(--without-hwloc)
fi
pushd build
PKG_CONFIG_PATH=$HWLOC_DIR/lib/pkgconfig "$STARPU_SRC_DIR"/configure --prefix=$STARPU_DIR "${starpu_configure_flags[@]}"
"$STARPU_SRC_DIR"/configure --prefix=$STARPU_DIR "${starpu_configure_flags[@]}"
make -j$THREADS
make install
popd
Expand Down Expand Up @@ -340,58 +340,69 @@ if [[ $USE_OPENMP -eq 1 ]]; then
fi

if [[ $USE_OMPSS -eq 1 ]]; then
pushd "$NANOS_SRC_DIR"
pushd "$OMPSS_NOSV_SRC_DIR"
if [[ ! -d build ]]; then
mkdir build
cd build
../configure --prefix=$NANOS_PREFIX --disable-instrumentation --disable-debug
pushd build
../configure --prefix=$OMPSS_TARGET
make -j$THREADS
make install
popd
# Hack: remove the build directory and remake it to track whether we've built or not
rm -rf build
mkdir build
fi
popd

pushd "$MERCURIUM_SRC_DIR"
pushd "$OMPSS_NANOS6_SRC_DIR"
if [[ ! -d build ]]; then
mkdir build
cd build
../configure --prefix=$MERCURIUM_PREFIX --enable-ompss --with-nanox=$NANOS_PREFIX
pushd build
../configure --prefix=$OMPSS_TARGET --with-boost=/usr --with-hwloc=pkgconfig
make all -j$THREADS
make install -j$THREADS
popd
# Hack: remove the build directory and remake it to track whether we've built or not
rm -rf build
mkdir build
fi
popd

pushd "$OMPSS_NODES_SRC_DIR"
if [[ ! -d build ]]; then
mkdir build
pushd build
../configure --prefix=$OMPSS_TARGET --with-nosv=$OMPSS_TARGET --with-boost=/usr
make -j$THREADS
make install
popd
# Hack: remove the build directory and remake it to track whether we've built or not
rm -rf build
mkdir build
fi
popd

export PATH=$NANOS_PREFIX/bin:$MERCURIUM_PREFIX/bin:$PATH
export LD_LIBRARY_PATH=$NANOS_PREFIX/lib:$MERCURIUM_PREFIX/lib:$LD_LIBRARY_PATH
make -C ompss clean
make -C ompss -j$THREADS
fi

if [[ $USE_OMPSS2 -eq 1 ]]; then
# pushd "$BOOST_SRC_DIR"
# ./bootstrap.sh --prefix=$OMPSS2_TARGET
# ./b2 install
# popd

pushd "$OMPSS2_NANOS6_SRC_DIR"
autoreconf -fiv
mkdir -p build
cd build
PKG_CONFIG_PATH=$HWLOC_DIR/lib/pkgconfig ../configure --prefix=$OMPSS2_TARGET --with-boost=/usr
make all -j$THREADS
make install -j$THREADS
popd

pushd "$OMPSS2_MCXX_SRC_DIR"
autoreconf -fiv
mkdir -p build
cd build
../configure --prefix=$OMPSS2_TARGET --enable-ompss-2 --with-nanos6=$OMPSS2_TARGET
make -j$THREADS
make install
pushd "$OMPSS_LLVM_SRC_DIR"
if [[ ! -d build ]]; then
cmake -S llvm -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$OMPSS_TARGET \
-DLLVM_ENABLE_PROJECTS=clang \
-DLLVM_INSTALL_TOOLCHAIN_ONLY=ON \
-DCLANG_DEFAULT_OMPSS2_RUNTIME=libnanos6 \
-DCLANG_DEFAULT_NANOS6_HOME=$OMPSS_TARGET \
-DCLANG_DEFAULT_NODES_HOME=$OMPSS_TARGET \
-DCLANG_DEFAULT_NOSV_HOME=$OMPSS_TARGET
make -C build -j$THREADS
make -C build install
# Hack: remove the build directory and remake it to track whether we've built or not
rm -rf build
mkdir build
fi
popd

make -C ompss2 clean
make -C ompss2 -j$THREADS
make -C ompss clean
make -C ompss -j$THREADS
fi

(if [[ $USE_SPARK -eq 1 ]]; then
Expand Down
4 changes: 2 additions & 2 deletions ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ if [[ "$(uname)" = "Linux" ]]; then
sudo apt-get install -qq clang-18 libclang-18-dev libclang-cpp18-dev llvm-18-dev libedit-dev libncurses5-dev zlib1g-dev
export CMAKE_PREFIX_PATH=/usr/lib/llvm-18:/usr/share/llvm-18
fi
if [[ $USE_OMPSS2 -eq 1 ]]; then
if [[ $USE_OMPSS -eq 1 ]]; then
sudo apt-get install -qq libnuma-dev gperf libboost1.74-dev
fi
if [[ $USE_OMPSS2 -eq 1 || $USE_HPX -eq 1 ]]; then
if [[ $USE_HPX -eq 1 ]]; then
sudo apt-get install -qq libboost1.74-dev
fi
fi
Expand Down
52 changes: 16 additions & 36 deletions get_deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,6 @@ export USE_CHAPEL=${USE_CHAPEL:-$DEFAULT_FEATURES}
export USE_X10=${USE_X10:-$DEFAULT_FEATURES}
export USE_OPENMP=${USE_OPENMP:-$DEFAULT_FEATURES}
export USE_OMPSS=${USE_OMPSS:-$DEFAULT_FEATURES}
export USE_OMPSS2=${USE_OMPSS2:-$DEFAULT_FEATURES}
export USE_SPARK=${USE_SPARK:-$DEFAULT_FEATURES}
export USE_SWIFT=${USE_SWIFT:-$DEFAULT_FEATURES}
export USE_TENSORFLOW=${USE_TENSORFLOW:-$DEFAULT_FEATURES}
Expand Down Expand Up @@ -108,14 +107,15 @@ if [[ $TASKBENCH_USE_HWLOC -eq 1 && -z $CI ]]; then
export HWLOC_DL_DIR="$TASKBENCH_DEPS_DIR"/hwloc
cat >>deps/env.sh <<EOF
export HWLOC_DL_DIR="\$TASKBENCH_DEPS_DIR"/hwloc
export HWLOC_SRC_DIR=$HWLOC_DL_DIR/hwloc-1.11.13
export HWLOC_DIR=$HWLOC_DL_DIR/install
export HWLOC_SRC_DIR="\$HWLOC_DL_DIR"/hwloc-1.11.13
export HWLOC_DIR="\$HWLOC_DL_DIR"/install
export PKG_CONFIG_PATH="\$PKG_CONFIG_PATH:\$HWLOC_DIR"/lib/pkgconfig

EOF
wget -nv https://download.open-mpi.org/release/hwloc/v1.11/hwloc-1.11.13.tar.gz
wget -nv https://download.open-mpi.org/release/hwloc/v2.12/hwloc-2.12.2.tar.gz
mkdir -p "$HWLOC_DL_DIR"
tar -zxf hwloc-1.11.13.tar.gz -C "$HWLOC_DL_DIR"
rm hwloc-1.11.13.tar.gz
tar -zxf hwloc-2.12.2.tar.gz -C "$HWLOC_DL_DIR"
rm hwloc-2.12.2.tar.gz
fi

if [[ $USE_LEGION -eq 1 || $USE_PYGION -eq 1 || $USE_REGENT -eq 1 ]]; then
Expand Down Expand Up @@ -333,39 +333,19 @@ if [[ $USE_OMPSS -eq 1 ]]; then
export OMPSS_DL_DIR="$TASKBENCH_DEPS_DIR"/ompss
cat >>deps/env.sh <<EOF
export OMPSS_DL_DIR="\$TASKBENCH_DEPS_DIR"/ompss
export NANOS_SRC_DIR="\$OMPSS_DL_DIR"/nanox-0.15
export NANOS_PREFIX="\$OMPSS_DL_DIR"/nanox-0.15/install
export MERCURIUM_SRC_DIR="\$OMPSS_DL_DIR"/mcxx-2.3.0
export MERCURIUM_PREFIX="\$OMPSS_DL_DIR"/mcxx-2.3.0/install
export OMPSS_TARGET="\$OMPSS_DL_DIR"
export OMPSS_NANOS6_SRC_DIR="\$OMPSS_DL_DIR"/nanos6-4.3
export OMPSS_NOSV_SRC_DIR="\$OMPSS_DL_DIR"/nos-v-4.0.0
export OMPSS_NODES_SRC_DIR="\$OMPSS_DL_DIR"/nodes-1.4.0
export OMPSS_LLVM_SRC_DIR="\$OMPSS_DL_DIR"/llvm-22.0.0git
export PATH="\$OMPSS_TARGET/bin:\$PATH"
export LD_LIBRARY_PATH="\$OMPSS_TARGET/lib:\$LD_LIBRARY_PATH"

EOF
mkdir -p "$OMPSS_DL_DIR"
wget -nv https://pm.bsc.es/ftp/ompss/releases/ompss-19.06.tar.gz
tar -zxf ompss-19.06.tar.gz -C "$OMPSS_DL_DIR" --strip-components 1
rm -rf ompss-19.06.tar.gz
fi

if [[ $USE_OMPSS2 -eq 1 ]]; then
export OMPSS2_DL_DIR="$TASKBENCH_DEPS_DIR"/ompss2
cat >>deps/env.sh <<EOF
export OMPSS2_DL_DIR="\$TASKBENCH_DEPS_DIR"/ompss2
export OMPSS2_TARGET="\$OMPSS2_DL_DIR"
export OMPSS2_NANOS6_SRC_DIR="\$OMPSS2_DL_DIR"/ompss2-release/nanos6
export OMPSS2_MCXX_SRC_DIR="\$OMPSS2_DL_DIR"/ompss2-release/mcxx
export BOOST_SRC_DIR="\$OMPSS2_DL_DIR"/boost_1_68_0

EOF
mkdir -p "$OMPSS2_DL_DIR"
git clone -b 2021.11.1 --depth 1 https://github.com/bsc-pm/ompss-2-releases.git "$OMPSS2_DL_DIR/ompss2-release"
# Note: don't initialize llvm submodule, it's large and not needed
for m in nanos6 mcxx; do
git -C "$OMPSS2_DL_DIR/ompss2-release" submodule update --init --recursive --depth 1 $m
done

# wget -nv https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.gz
# tar -zxf boost_1_68_0.tar.gz -C "$OMPSS2_DL_DIR"
# rm -rf boost_1_68_0.tar.gz
cat /usr/include/boost/version.hpp | grep "BOOST_LIB_VERSION"
wget -nv https://pm.bsc.es/ftp/ompss-2/releases/ompss-2-2025.11.tar.gz
tar -zxf ompss-2-2025.11.tar.gz -C "$OMPSS_DL_DIR" --strip-components 1
rm ompss-2-2025.11.tar.gz
fi

if [[ $USE_SPARK -eq 1 ]]; then
Expand Down
8 changes: 5 additions & 3 deletions ompss/Makefile
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
DEBUG ?= 0

MCXX = mcxx
MCXX = $(OMPSS_TARGET)/bin/clang++

CXXFLAGS = -DOMPSS --ompss -std=c++11 -Wall -Wno-unused -mcmodel=large --no-copy-deps
LDFLAGS = --ompss -std=c++11 -Wall -Wno-unused -mcmodel=large --no-copy-deps
GCC_INSTALL_DIR := $(patsubst %/,%,$(dir $(shell g++ -print-libgcc-file-name)))

CXXFLAGS = -fompss-2 -std=c++11 -Wall -Wno-unused --gcc-install-dir=$(GCC_INSTALL_DIR)
LDFLAGS = -fompss-2 -std=c++11 -Wall -Wno-unused --gcc-install-dir=$(GCC_INSTALL_DIR)

ifeq ($(strip $(DEBUG)),1)
CXXFLAGS += -g -O0 -mavx
Expand Down
Loading
Loading