Skip to content

Commit

Permalink
Merge branch 'develop' into feature/burmark1/parted
Browse files Browse the repository at this point in the history
  • Loading branch information
rhornung67 authored Dec 13, 2023
2 parents ad7df42 + 27317a8 commit 97c41ec
Show file tree
Hide file tree
Showing 54 changed files with 2,529 additions and 760 deletions.
4 changes: 2 additions & 2 deletions .gitlab/custom-jobs-and-variables.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ variables:
# Optimization notes: We have 4 jobs lasting at max 5 minutes and using 28
# cores out of 112 available (see -j in scripts/gitlab/build_and_test.sh).
# We allow allocation overlapping.
POODLE_SHARED_ALLOC: "--exclusive --partition=pdebug --time=12 --nodes=1"
POODLE_SHARED_ALLOC: "--exclusive --partition=pdebug --time=14 --nodes=1"
# Arguments for job level allocation
POODLE_JOB_ALLOC: "--overlap --time=10 --nodes=1"
POODLE_JOB_ALLOC: "--overlap --time=12 --nodes=1"
# Project specific variants for poodle
PROJECT_POODLE_VARIANTS: "~shared +openmp"
# Project specific deps for poodle
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -111,12 +111,12 @@ RUN . /opt/spack/share/spack/setup-env.sh && \
## make -j 6 && \
## cd .. && rm -rf build

FROM ghcr.io/rse-ops/intel-ubuntu-22.04:intel-2022.1.0 AS sycl
FROM ghcr.io/rse-ops/intel-ubuntu-23.04:intel-2023.2.1 AS sycl
ENV GTEST_COLOR=1
COPY . /home/raja/workspace
WORKDIR /home/raja/workspace/build
RUN /bin/bash -c "source /opt/view/setvars.sh && \
cmake -DCMAKE_CXX_COMPILER=dpcpp -DRAJA_ENABLE_SYCL=On -DENABLE_OPENMP=Off -DENABLE_ALL_WARNINGS=Off -DBLT_CXX_STD=c++17 .. && \
cmake -DCMAKE_CXX_COMPILER=dpcpp -DENABLE_SYCL=On -DENABLE_OPENMP=Off -DENABLE_ALL_WARNINGS=Off -DBLT_CXX_STD=c++17 .. && \
make -j 6 &&\
./bin/raja-perf.exe --checkrun 5 -sp" && \
cd .. && rm -rf build
2 changes: 1 addition & 1 deletion scripts/lc-builds/blueos_clang_omptarget.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ if [[ $# -lt 1 ]]; then
echo
echo "You must pass a compiler version number to script. For example,"
echo " blueos_clang_omptarget.sh 10.0.1-gcc-8.3.1"
echo " - or - "
echo " - or -"
echo " blueos_clang_omptarget.sh ibm-10.0.1-gcc-8.3.1"
exit
fi
Expand Down
67 changes: 67 additions & 0 deletions scripts/lc-builds/corona_sycl.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
#!/usr/bin/env bash

###############################################################################
# Copyright (c) 2017-23, Lawrence Livermore National Security, LLC
# and RAJA project contributors. See the RAJAPerf/LICENSE file for details.
#
# SPDX-License-Identifier: (BSD-3-Clause)
###############################################################################

if [[ $# -lt 1 ]]; then
echo
echo "You must pass 1 argument to the script (in this order): "
echo " 1) SYCL compiler installation path"
echo
echo "For example: "
echo " corona_sycl.sh /usr/workspace/raja-dev/clang_sycl_hip_gcc10.2.1_rocm5.1.0/install"
exit
fi

SYCL_PATH=$1
shift 1

BUILD_SUFFIX=corona-sycl
: ${BUILD_TYPE:=RelWithDebInfo}
RAJA_HOSTCONFIG=../tpl/RAJA/host-configs/lc-builds/toss4/corona_sycl.cmake

echo
echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it"
echo "Configuration extra arguments:"
echo " $@"
echo

rm -rf build_${BUILD_SUFFIX}_${USER} >/dev/null
mkdir build_${BUILD_SUFFIX}_${USER} && cd build_${BUILD_SUFFIX}_${USER}

DATE=$(printf '%(%Y-%m-%d)T\n' -1)

export PATH=${SYCL_PATH}/bin:$PATH

## NOTE: RAJA tests are turned off due to compilation issues.

cmake \
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
-DSYCL_LIB_PATH:STRING="${SYCL_PATH}/lib" \
-C ${RAJA_HOSTCONFIG} \
-DENABLE_OPENMP=Off \
-DENABLE_CUDA=Off \
-DRAJA_ENABLE_TARGET_OPENMP=Off \
-DENABLE_ALL_WARNINGS=Off \
-DENABLE_SYCL=On \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
-DCMAKE_LINKER=clang++ \
-DCMAKE_CXX_STANDARD=17 \
-DENABLE_TESTS=Off \
-DENABLE_EXAMPLES=On \
"$@" \
..

echo
echo "***********************************************************************"
echo
echo "Remember to export PATH=${SYCL_PATH}/bin:\$PATH to obtain the correct compiler paths."
echo
echo "cd into directory build_${BUILD_SUFFIX}_${USER} and run make to build RAJA"
echo
echo "***********************************************************************"
31 changes: 21 additions & 10 deletions scripts/lc-builds/toss4_amdclang.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env bash

###############################################################################
# Copyright (c) 2016-23, Lawrence Livermore National Security, LLC
# Copyright (c) 2017-23, Lawrence Livermore National Security, LLC
# and RAJA project contributors. See the RAJAPerf/LICENSE file for details.
#
# SPDX-License-Identifier: (BSD-3-Clause)
Expand All @@ -15,7 +15,7 @@ if [[ $# -lt 2 ]]; then
echo " 3...) optional arguments to cmake"
echo
echo "For example: "
echo " toss4_amdclang.sh 5.1.0 gfx906"
echo " toss4_amdclang.sh 5.7.0 gfx906"
exit
fi

Expand Down Expand Up @@ -44,6 +44,12 @@ echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in i
echo "Configuration extra arguments:"
echo " $@"
echo
echo "To get cmake to work you may have to configure with"
echo " -DHIP_PLATFORM=amd"
echo
echo "To use fp64 HW atomics you must configure with these options when using gfx90a and hip >= 5.2"
echo " -DCMAKE_CXX_FLAGS=\"-munsafe-fp-atomics\""
echo

rm -rf build_${BUILD_SUFFIX} >/dev/null
mkdir build_${BUILD_SUFFIX} && cd build_${BUILD_SUFFIX}
Expand All @@ -53,23 +59,28 @@ module load cmake/3.23.1

# unload rocm to avoid configuration problems where the loaded rocm and COMP_VER
# are inconsistent causing the rocprim from the module to be used unexpectedly
module unload rocm
# module unload rocm

if [[ ${COMP_VER} =~ .*magic.* ]]; then
ROCM_PATH="/usr/tce/packages/rocmcc/rocmcc-${COMP_VER}"
else
ROCM_PATH="/usr/tce/packages/rocmcc-tce/rocmcc-${COMP_VER}"
fi

cmake \
-DCMAKE_BUILD_TYPE=Release \
-DROCM_ROOT_DIR="/opt/rocm-${COMP_VER}" \
-DHIP_ROOT_DIR="/opt/rocm-${COMP_VER}/hip" \
-DHIP_PATH=/opt/rocm-${COMP_VER}/llvm/bin \
-DCMAKE_C_COMPILER=/opt/rocm-${COMP_VER}/llvm/bin/amdclang \
-DCMAKE_CXX_COMPILER=/opt/rocm-${COMP_VER}/llvm/bin/amdclang++ \
-DROCM_ROOT_DIR="${ROCM_PATH}" \
-DHIP_ROOT_DIR="${ROCM_PATH}/hip" \
-DHIP_PATH=${ROCM_PATH}/llvm/bin \
-DCMAKE_C_COMPILER=${ROCM_PATH}/llvm/bin/amdclang \
-DCMAKE_CXX_COMPILER=${ROCM_PATH}/llvm/bin/amdclang++ \
-DCMAKE_HIP_ARCHITECTURES="${COMP_ARCH}" \
-DGPU_TARGETS="${COMP_ARCH}" \
-DAMDGPU_TARGETS="${COMP_ARCH}" \
-DBLT_CXX_STD=c++14 \
-C ${RAJA_HOSTCONFIG} \
-DENABLE_HIP=ON \
-DENABLE_OPENMP=OFF \
-DENABLE_OPENMP=ON \
-DENABLE_CUDA=OFF \
-DCMAKE_INSTALL_PREFIX=../install_${BUILD_SUFFIX} \
"$@" \
Expand All @@ -78,7 +89,7 @@ cmake \
echo
echo "***********************************************************************"
echo
echo "cd into directory build_${BUILD_SUFFIX} and run make to build RAJA"
echo "cd into directory build_${BUILD_SUFFIX} and run make to build RAJAPerf"
echo
echo " Please note that you have to have a consistent build environment"
echo " when you make RAJA as cmake may reconfigure; unload the rocm module"
Expand Down
107 changes: 107 additions & 0 deletions scripts/lc-builds/toss4_amdclang_asan.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
#!/usr/bin/env bash

###############################################################################
# Copyright (c) 2017-23, Lawrence Livermore National Security, LLC
# and RAJA project contributors. See the RAJAPerf/LICENSE file for details.
#
# SPDX-License-Identifier: (BSD-3-Clause)
###############################################################################

if [[ $# -lt 2 ]]; then
echo
echo "You must pass 2 or more arguments to the script (in this order): "
echo " 1) compiler version number"
echo " 2) HIP compute architecture"
echo " 3...) optional arguments to cmake"
echo
echo "For example: "
echo " toss4_amdclang_asan.sh 5.7.0 gfx90a"
exit
fi

COMP_VER=$1
COMP_ARCH=$2
shift 2

HOSTCONFIG="hip_3_X"

if [[ ${COMP_VER} == 4.* ]]
then
##HIP_CLANG_FLAGS="-mllvm -amdgpu-fixed-function-abi=1"
HOSTCONFIG="hip_4_link_X"
elif [[ ${COMP_VER} == 3.* ]]
then
HOSTCONFIG="hip_3_X"
else
echo "Unknown hip version, using ${HOSTCONFIG} host-config"
fi

BUILD_SUFFIX=lc_toss4-amdclang-${COMP_VER}-${COMP_ARCH}-asan
RAJA_HOSTCONFIG=../tpl/RAJA/host-configs/lc-builds/toss4/${HOSTCONFIG}.cmake

echo
echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it"
echo "Configuration extra arguments:"
echo " $@"
echo
echo "To get cmake to work you may have to configure with"
echo " -DHIP_PLATFORM=amd"
echo
echo "To use fp64 HW atomics you must configure with these options when using gfx90a and hip >= 5.2"
echo " -DCMAKE_CXX_FLAGS=\"-munsafe-fp-atomics\""
echo

rm -rf build_${BUILD_SUFFIX} >/dev/null
mkdir build_${BUILD_SUFFIX} && cd build_${BUILD_SUFFIX}


module load cmake/3.23.1

# unload rocm to avoid configuration problems where the loaded rocm and COMP_VER
# are inconsistent causing the rocprim from the module to be used unexpectedly
# module unload rocm

if [[ ${COMP_VER} =~ .*magic.* ]]; then
ROCM_PATH="/usr/tce/packages/rocmcc/rocmcc-${COMP_VER}"
else
ROCM_PATH="/usr/tce/packages/rocmcc-tce/rocmcc-${COMP_VER}"
fi

cmake \
-DCMAKE_BUILD_TYPE=Release \
-DROCM_ROOT_DIR="${ROCM_PATH}" \
-DHIP_ROOT_DIR="${ROCM_PATH}/hip" \
-DHIP_PATH=${ROCM_PATH}/llvm/bin \
-DCMAKE_C_COMPILER=${ROCM_PATH}/llvm/bin/amdclang \
-DCMAKE_CXX_COMPILER=${ROCM_PATH}/llvm/bin/amdclang++ \
-DCMAKE_HIP_ARCHITECTURES="${COMP_ARCH}:xnack+" \
-DGPU_TARGETS="${COMP_ARCH}:xnack+" \
-DAMDGPU_TARGETS="${COMP_ARCH}:xnack+" \
-DCMAKE_C_FLAGS="-fsanitize=address -shared-libsan" \
-DCMAKE_CXX_FLAGS="-fsanitize=address -shared-libsan" \
-DBLT_CXX_STD=c++14 \
-C ${RAJA_HOSTCONFIG} \
-DENABLE_HIP=ON \
-DENABLE_OPENMP=ON \
-DENABLE_CUDA=OFF \
-DCMAKE_INSTALL_PREFIX=../install_${BUILD_SUFFIX} \
"$@" \
..

echo
echo "***********************************************************************"
echo
echo "cd into directory build_${BUILD_SUFFIX} and run make to build RAJAPerf"
echo
echo " Please note that you have to have a consistent build environment"
echo " when you make RAJA as cmake may reconfigure; load the appropriate"
echo " rocm and rocmcc modules (${COMP_VER}) when building."
echo
echo " module load rocm/COMP_VER rocmcc/COMP_VER"
echo " srun -n1 make"
echo
echo " Run with these environment options when using asan"
echo " ASAN_OPTIONS=print_suppressions=0:detect_leaks=0"
echo " HSA_XNACK=1"
echo
echo "***********************************************************************"
77 changes: 77 additions & 0 deletions scripts/lc-builds/toss4_cce_hip.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
#!/usr/bin/env bash

###############################################################################
# Copyright (c) 2017-23, Lawrence Livermore National Security, LLC
# and RAJA project contributors. See the RAJAPerf/LICENSE file for details.
#
# SPDX-License-Identifier: (BSD-3-Clause)
###############################################################################

if [[ $# -lt 3 ]]; then
echo
echo "You must pass 3 or more arguments to the script (in this order): "
echo " 1) compiler version number"
echo " 2) HIP version"
echo " 3) HIP compute architecture"
echo " 4...) optional arguments to cmake"
echo
echo "For example: "
echo " toss4_cce_hip.sh 14.0.3 5.2.3 gfx90a"
exit
fi

COMP_VER=$1
HIP_VER=$2
HIP_ARCH=$3
shift 3

HOSTCONFIG="hip_3_X"

BUILD_SUFFIX=lc_toss4-cce-${COMP_VER}-hip-${HIP_VER}-${HIP_ARCH}
RAJA_HOSTCONFIG=../tpl/RAJA/host-configs/lc-builds/toss4/${HOSTCONFIG}.cmake

echo
echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it"
echo "Configuration extra arguments:"
echo " $@"
echo
echo "To use fp64 HW atomics you must configure with these options when using gfx90a and hip >= 5.2"
echo " -DCMAKE_CXX_FLAGS=\"-munsafe-fp-atomics\""
echo

rm -rf build_${BUILD_SUFFIX} >/dev/null
mkdir build_${BUILD_SUFFIX} && cd build_${BUILD_SUFFIX}


module load cmake/3.24.2

cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER="/usr/tce/packages/cce-tce/cce-${COMP_VER}/bin/craycc" \
-DCMAKE_CXX_COMPILER="/usr/tce/packages/cce-tce/cce-${COMP_VER}/bin/crayCC" \
-DHIP_PATH=/opt/rocm-${HIP_VER}/hip \
-DCMAKE_HIP_ARCHITECTURES=${HIP_ARCH} \
-DGPU_TARGETS=${HIP_ARCH} \
-DAMDGPU_TARGETS=${HIP_ARCH} \
-DBLT_CXX_STD=c++14 \
-C ${RAJA_HOSTCONFIG} \
-DENABLE_HIP=ON \
-DENABLE_OPENMP=ON \
-DENABLE_CUDA=OFF \
-DCMAKE_INSTALL_PREFIX=../install_${BUILD_SUFFIX} \
"$@" \
..

echo
echo "***********************************************************************"
echo
echo "cd into directory build_${BUILD_SUFFIX} and run make to build RAJA"
echo
echo " Please note that you have to have a consistent build environment"
echo " when you make RAJA as cmake may reconfigure; load the appropriate"
echo " cce module (${COMP_VER}) when building."
echo
echo " module load cce-tce/${COMP_VER}"
echo " srun -n1 make"
echo
echo "***********************************************************************"
Loading

0 comments on commit 97c41ec

Please sign in to comment.