Skip to content

Commit

Permalink
Merge pull request #267 from LLNL/v0.13.0-RC
Browse files Browse the repository at this point in the history
v0.13.0 Release Candidate

---------

Co-authored-by: Alan Dayton <6393677+adayton1@users.noreply.github.com>

* Build fixes (#264)

* Fix conflicting variable name in CMake
* Update gcc version in host config
* Make sure hip offload architecture gets passed correctly

* Use GitLab container registry as a Spack build cache (#265)

* Apply changes for build cache

* Fix registry url + uniformed log

---------

Co-authored-by: Alan Dayton <6393677+adayton1@users.noreply.github.com>

* Update version number

* Update release notes

* Update tpls

* Update BLT

* Revert change to minimum CMake version

---------

Co-authored-by: Ben Liu <38140930+liu15@users.noreply.github.com>
Co-authored-by: robinson96 <robinson96@llnl.gov>
Co-authored-by: Adrien Bernede <51493078+adrienbernede@users.noreply.github.com>
  • Loading branch information
4 people authored Jun 13, 2024
2 parents a997808 + 83867de commit 2b288e2
Show file tree
Hide file tree
Showing 38 changed files with 852 additions and 495 deletions.
6 changes: 4 additions & 2 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ stages:
include:
- local: '.gitlab/custom-jobs-and-variables.yml'
- project: 'radiuss/radiuss-shared-ci'
ref: 'v2023.12.0'
ref: 'v2024.04.0'
file: 'pipelines/${CI_MACHINE}.yml'
- artifact: '${CI_MACHINE}-jobs.yml'
job: 'generate-job-lists'
Expand All @@ -82,9 +82,11 @@ stages:
pipeline_variables: true

include:
- project: 'lc-templates/id_tokens'
file: 'id_tokens.yml'
# [Optional] checks preliminary to running the actual CI test
#- project: 'radiuss/radiuss-shared-ci'
# ref: 'v2023.12.0'
# ref: 'v2024.04.0'
# file: 'utilities/preliminary-ignore-draft-pr.yml'
# pipelines subscribed by the project
- local: '.gitlab/subscribed-pipelines.yml'
15 changes: 13 additions & 2 deletions .gitlab/custom-jobs-and-variables.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ variables:
# Arguments for top level allocation
POODLE_SHARED_ALLOC: "--exclusive --partition=pdebug --time=10 --nodes=1"
# Arguments for job level allocation
# Note: We repeat the reservation, necessary when jobs are manually re-triggered.
POODLE_JOB_ALLOC: "--overlap --nodes=1"
# Project specific variants for poodle
PROJECT_POODLE_VARIANTS: ""
Expand All @@ -46,7 +45,7 @@ variables:

# Tioga
# Arguments for top level allocation
TIOGA_SHARED_ALLOC: "--exclusive --time-limit=20m --nodes=1"
TIOGA_SHARED_ALLOC: "--queue=pci --exclusive --time-limit=20m --nodes=1"
# Arguments for job level allocation
TIOGA_JOB_ALLOC: "--nodes=1 --begin-time=+5s"
# Project specific variants for tioga
Expand All @@ -71,3 +70,15 @@ variables:
artifacts:
reports:
junit: junit.xml

.reproducer_vars:
script:
- |
echo -e "
# Required variables \n
export MODULE_LIST=\"${MODULE_LIST}\" \n
export SPEC=\"${SPEC//\"/\\\"}\" \n
# Allow to set job script for debugging (only this differs from CI) \n
export DEBUG_MODE=true \n
# Using the CI build cache is optional and requires a token. Set it like so: \n
# export REGISTRY_TOKEN=\"<your token here>\" \n"
7 changes: 3 additions & 4 deletions .gitlab/jobs/corona.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@
##############################################################################

# Override reproducer section to define project specific variables.
.corona_reproducer_vars: &corona_reproducer_vars
- |
echo -e "export MODULE_LIST=\"${MODULE_LIST}\""
echo -e "export SPEC=\"${SPEC//\"/\\\"}\""
.corona_reproducer_vars:
script:
- !reference [.reproducer_vars, script]

########################
# Overridden shared jobs
Expand Down
7 changes: 3 additions & 4 deletions .gitlab/jobs/lassen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@
##############################################################################

# Override reproducer section to define project specific variables.
.lassen_reproducer_vars: &lassen_reproducer_vars
- |
echo -e "export MODULE_LIST=\"${MODULE_LIST}\""
echo -e "export SPEC=\"${SPEC//\"/\\\"}\""
.lassen_reproducer_vars:
script:
- !reference [.reproducer_vars, script]

########################
# Overridden shared jobs
Expand Down
9 changes: 4 additions & 5 deletions .gitlab/jobs/poodle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@
# SPDX-License-Identifier: BSD-3-Clause
###############################################################################

# Override reproducer section to define projet specific variables.
.poodle_reproducer_vars: &poodle_reproducer_vars
- |
echo -e "export MODULE_LIST=\"${MODULE_LIST}\""
echo -e "export SPEC=\"${SPEC//\"/\\\"}\""
# Override reproducer section to define project specific variables.
.poodle_reproducer_vars:
script:
- !reference [.reproducer_vars, script]

########################
# Overridden shared jobs
Expand Down
9 changes: 4 additions & 5 deletions .gitlab/jobs/ruby.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@
# SPDX-License-Identifier: BSD-3-Clause
###############################################################################

# Override reproducer section to define projet specific variables.
.poodle_reproducer_vars: &poodle_reproducer_vars
- |
echo -e "export MODULE_LIST=\"${MODULE_LIST}\""
echo -e "export SPEC=\"${SPEC//\"/\\\"}\""
# Override reproducer section to define project specific variables.
.ruby_reproducer_vars:
script:
- !reference [.reproducer_vars, script]

########################
# Overridden shared jobs
Expand Down
7 changes: 3 additions & 4 deletions .gitlab/jobs/tioga.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@
##############################################################################

# Override reproducer section to define project specific variables.
.tioga_reproducer_vars: &tioga_reproducer_vars
- |
echo -e "export MODULE_LIST=\"${MODULE_LIST}\""
echo -e "export SPEC=\"${SPEC//\"/\\\"}\""
.tioga_reproducer_vars:
script:
- !reference [.reproducer_vars, script]

########################
# Overridden shared jobs
Expand Down
2 changes: 1 addition & 1 deletion .uberenv_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"package_final_phase": "initconfig",
"package_source_dir": "../..",
"spack_url": "https://github.com/spack/spack.git",
"spack_branch": "develop-2024-01-21",
"spack_branch": "develop-2024-05-26",
"spack_activate": {},
"spack_configs_path": "scripts/radiuss-spack-configs",
"spack_packages_path": ["scripts/radiuss-spack-configs/packages", "scripts/spack_packages/packages"],
Expand Down
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ cmake_minimum_required(VERSION 3.18)
##########################################################################

project(CARE
LANGUAGES CXX
VERSION 0.12.0)
LANGUAGES C CXX
VERSION 0.13.0)

include(${PROJECT_SOURCE_DIR}/cmake/Setup.cmake)

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
[comment]: # (SPDX-License-Identifier: BSD-3-Clause)
[comment]: # (#################################################################)

# CARE v0.12.0
# CARE v0.13.0

CARE: CHAI and RAJA Extensions
===============================
Expand Down
6 changes: 6 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,12 @@ in this file.

The format of this file is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).

## [Version 0.13.0] - Release date 2024-06-11

### Added
- Alias for execution policy specificially for kernels with reductions
- Chunked loop policies

## [Version 0.12.0] - Release date 2024-03-11

### Added
Expand Down
21 changes: 10 additions & 11 deletions cmake/SetupMacros.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -69,25 +69,24 @@ macro(care_find_package)

## parse the arguments to the macro
cmake_parse_arguments(
arg "${options}" "${singleValuedArgs}" "${multiValuedArgs}" ${ARGN})
care_arg "${options}" "${singleValuedArgs}" "${multiValuedArgs}" ${ARGN})

if(NOT DEFINED arg_NAME)
if(NOT DEFINED care_arg_NAME)
message(FATAL_ERROR "NAME is a required parameter for the care_find_package macro.")
endif()

string(TOUPPER ${arg_NAME} _name_upper)

find_package(${arg_NAME} QUIET NO_DEFAULT_PATH PATHS ${${_name_upper}_DIR})
set(${_name_upper}_FOUND ${${arg_NAME}_FOUND})
string(TOUPPER ${care_arg_NAME} care_name_upper)
find_package(${care_arg_NAME} QUIET NO_DEFAULT_PATH PATHS ${${care_name_upper}_DIR})
set(${care_name_upper}_FOUND ${${care_arg_NAME}_FOUND})

if(${arg_REQUIRED} AND NOT ${${_name_upper}_FOUND})
message(FATAL_ERROR "Could not find ${arg_NAME}. Set ${_name_upper}_DIR to the install location of ${arg_NAME}.")
if(${care_arg_REQUIRED} AND NOT ${${care_name_upper}_FOUND})
message(FATAL_ERROR "Could not find ${care_arg_NAME}. Set ${care_name_upper}_DIR to the install location of ${care_arg_NAME}.")
endif()

unset(_name_upper)
unset(care_name_upper)

if(${arg_TARGETS})
care_convert_to_system_includes(TARGETS ${arg_TARGETS} RECURSIVE)
if(${care_arg_TARGETS})
care_convert_to_system_includes(TARGETS ${care_arg_TARGETS} RECURSIVE)
endif()

endmacro()
22 changes: 0 additions & 22 deletions configs/lc/hip/rocm-3.6-43-20200704_clang11.0.0.cmake

This file was deleted.

20 changes: 0 additions & 20 deletions configs/lc/hip/rznevada.cmake

This file was deleted.

28 changes: 0 additions & 28 deletions configs/lc/hip/rzwhamo.cmake

This file was deleted.

3 changes: 1 addition & 2 deletions configs/lc/toss_4_x86_64_ib/clang.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@ set(COMPILER_BASE "/usr/tce/packages/clang/clang-14.0.6-magic" CACHE PATH "")
set(CMAKE_C_COMPILER "${COMPILER_BASE}/bin/clang" CACHE PATH "")
set(CMAKE_CXX_COMPILER "${COMPILER_BASE}/bin/clang++" CACHE PATH "")

set(GCC_HOME "/usr/tce/packages/gcc/gcc-10.3.1-magic" CACHE PATH "")
set(GCC_HOME "/usr/tce/packages/gcc/gcc-12.1.1-magic" CACHE PATH "")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --gcc-toolchain=${GCC_HOME}" CACHE STRING "")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --gcc-toolchain=${GCC_HOME}" CACHE STRING "")

set(BLT_EXPORT_THIRDPARTY OFF CACHE BOOL "")

19 changes: 19 additions & 0 deletions configs/lc/toss_4_x86_64_ib/clang_tsan.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
##############################################################################
# Copyright (c) 2024, Lawrence Livermore National Security, LLC and CARE
# project contributors. See the CARE LICENSE file for details.
#
# SPDX-License-Identifier: BSD-3-Clause
##############################################################################

set(COMPILER_BASE "/usr/tce/packages/clang/clang-14.0.6-magic" CACHE PATH "")
set(CMAKE_C_COMPILER "${COMPILER_BASE}/bin/clang" CACHE PATH "")
set(CMAKE_CXX_COMPILER "${COMPILER_BASE}/bin/clang++" CACHE PATH "")

set(GCC_HOME "/usr/tce/packages/gcc/gcc-12.1.1-magic" CACHE PATH "")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --gcc-toolchain=${GCC_HOME} -fsanitize=thread -g" CACHE STRING "")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --gcc-toolchain=${GCC_HOME} -fsanitize=thread -g" CACHE STRING "")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=thread" CACHE STRING "")

set(ENABLE_OPENMP ON CACHE BOOL "")
set(BLT_EXPORT_THIRDPARTY OFF CACHE BOOL "")

Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
# SPDX-License-Identifier: BSD-3-Clause
##############################################################################

set(COMPILER_BASE "/usr/tce/packages/clang/clang-14.0.4" CACHE PATH "")
set(CMAKE_C_COMPILER "${COMPILER_BASE}/bin/clang" CACHE PATH "")
set(CMAKE_CXX_COMPILER "${COMPILER_BASE}/bin/clang++" CACHE PATH "")
set(COMPILER_BASE "/usr/tce/packages/intel/intel-2022.1.0-magic" CACHE PATH "")
set(CMAKE_C_COMPILER "${COMPILER_BASE}/bin/icx" CACHE PATH "")
set(CMAKE_CXX_COMPILER "${COMPILER_BASE}/bin/icpx" CACHE PATH "")

set(GCC_HOME "/usr/tce/packages/gcc/gcc-10.2.1/rh" CACHE PATH "")
set(GCC_HOME "/usr/tce/packages/gcc/gcc-12.1.1-magic" CACHE PATH "")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --gcc-toolchain=${GCC_HOME}" CACHE STRING "")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --gcc-toolchain=${GCC_HOME}" CACHE STRING "")

Expand Down
17 changes: 17 additions & 0 deletions configs/lc/toss_4_x86_64_ib_cray/amdclang.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
##############################################################################
# Copyright (c) 2020-24, Lawrence Livermore National Security, LLC and CARE
# project contributors. See the CARE LICENSE file for details.
#
# SPDX-License-Identifier: BSD-3-Clause
##############################################################################

set(COMPILER_BASE "/usr/tce/packages/rocmcc/rocmcc-6.1.0-magic" CACHE PATH "")
set(CMAKE_C_COMPILER "${COMPILER_BASE}/bin/amdclang" CACHE PATH "")
set(CMAKE_CXX_COMPILER "${COMPILER_BASE}/bin/amdclang++" CACHE PATH "")

set(ENABLE_HIP ON CACHE BOOL "Enable Hip")
set(ROCM_PATH "/usr/tce/packages/rocmcc/rocmcc-6.1.0-magic" CACHE PATH "")
set(CMAKE_HIP_ARCHITECTURES "gfx942:xnack+" CACHE STRING "")
set(AMDGPU_TARGETS "gfx942:xnack+" CACHE STRING "")

set(CARE_ENABLE_IMPLICIT_CONVERSIONS OFF CACHE BOOL "Enable implicit conversions")
4 changes: 2 additions & 2 deletions docs/sphinx/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,9 @@
# built documents.
#
# The short X.Y version.
version = '0.12'
version = '0.13'
# The full version, including alpha/beta/rc tags.
release = '0.12.0'
release = '0.13.0'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
9 changes: 9 additions & 0 deletions examples/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,12 @@ blt_add_executable(NAME ScanLoopExample
target_include_directories(ScanLoopExample PRIVATE ${PROJECT_SOURCE_DIR}/src)
target_include_directories(ScanLoopExample PRIVATE ${PROJECT_BINARY_DIR}/include)

blt_add_executable(NAME RaceConditionsExample
SOURCES RaceConditions.cpp
DEPENDS_ON ${care_depends})

target_include_directories(RaceConditionsExample PRIVATE ${PROJECT_SOURCE_DIR}/src)
target_include_directories(RaceConditionsExample PRIVATE ${PROJECT_BINARY_DIR}/include)

target_compile_options(RaceConditionsExample PRIVATE -fsanitize=thread -g)
target_link_options(RaceConditionsExample PRIVATE -fsanitize=thread)
Loading

0 comments on commit 2b288e2

Please sign in to comment.