-
Notifications
You must be signed in to change notification settings - Fork 61
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #478 from LLNL/v0.4.0-rc
0.4.0 rc
- Loading branch information
Showing
162 changed files
with
5,722 additions
and
1,540 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
############################################################################## | ||
# Copyright (c) 2017-2021, Lawrence Livermore National Security, LLC and BLT | ||
# project contributors. See the LICENSE file for details. | ||
############################################################################## | ||
|
||
variables: | ||
PROJECT_ALLOC_NAME: ${CI_PROJECT_NAME}_ci_${CI_PIPELINE_ID} | ||
BUILD_ROOT: ${CI_PROJECT_DIR} | ||
|
||
stages: | ||
- l_build | ||
- q_allocate_resources | ||
- q_build | ||
- q_release_resources | ||
|
||
#### | ||
# Template | ||
.srun_build_script: | ||
script: | ||
#Use pre-existing allocation if any | ||
- JOBID=$(squeue -h --name=${PROJECT_ALLOC_NAME} --format=%A) | ||
- ASSIGN_ID=$(if [[ -n "${JOBID}" ]]; then echo "--jobid=${JOBID}"; fi) | ||
- EXEC_PREFIX="srun -p pdebug ${ASSIGN_ID} -t 10 -N 1 --mpibind=off" | ||
#BUILD + TEST | ||
- echo -e "section_start:$(date +%s):build_and_test\r\e[0K | ||
Build and test ${CI_PROJECT_NAME}" | ||
- ${EXEC_PREFIX} .gitlab/build_and_test.sh | ||
- echo -e "section_end:$(date +%s):build_and_test\r\e[0K" | ||
artifacts: | ||
reports: | ||
junit: build/junit.xml | ||
|
||
|
||
.build_blueos_3_ppc64le_ib_p9_script: | ||
script: | ||
- EXEC_PREFIX="lalloc 1 -W 10 -q pdebug" | ||
#BUILD + TEST | ||
- echo -e "section_start:$(date +%s):build_and_test\r\e[0K | ||
Build and test ${CI_PROJECT_NAME}" | ||
- ${EXEC_PREFIX} .gitlab/build_and_test.sh | ||
- echo -e "section_end:$(date +%s):build_and_test\r\e[0K" | ||
artifacts: | ||
reports: | ||
junit: build/junit.xml | ||
|
||
|
||
# This is where jobs are included | ||
include: | ||
- local: .gitlab/build_quartz.yml | ||
- local: .gitlab/build_lassen.yml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
#!/bin/bash | ||
|
||
set -e | ||
|
||
BUILD_DIR=`pwd`/build | ||
|
||
echo "~~~~~~~~~~ START:build_and_test.sh ~~~~~~~~~~~" | ||
echo "CWD="`pwd` | ||
echo "BUILD_DIR="$BUILD_DIR | ||
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | ||
|
||
rm -rf $BUILD_DIR | ||
mkdir $BUILD_DIR | ||
cd $BUILD_DIR | ||
|
||
cmake -C ../host-configs/llnl/$SYS_TYPE/$HOST_CONFIG ../tests/internal | ||
make -j8 | ||
ctest -DCTEST_OUTPUT_ON_FAILURE=1 --no-compress-output -T Test -VV | ||
xsltproc -o junit.xml ../tests/ctest-to-junit.xsl Testing/*/Test.xml | ||
|
||
echo "~~~~~~~~~~ END:build_and_test.sh ~~~~~~~~~~~~~" | ||
echo "CWD="`pwd` | ||
echo "BUILD_DIR="$BUILD_DIR | ||
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
#### | ||
# This is the share configuration of jobs for lassen | ||
.on_lassen: | ||
variables: | ||
tags: | ||
- shell | ||
- lassen | ||
rules: | ||
- if: '$CI_COMMIT_BRANCH =~ /_lnone/ || $ON_LASSEN == "OFF"' #run except if ... | ||
when: never | ||
- when: on_success | ||
|
||
#### | ||
# Load required modules | ||
.with_cuda: | ||
before_script: | ||
- module load cmake/3.18.0 | ||
- module load cuda/11.1.1 | ||
|
||
#### | ||
# Template | ||
.build_on_lassen: | ||
stage: l_build | ||
extends: [.build_blueos_3_ppc64le_ib_p9_script, .on_lassen] | ||
needs: [] | ||
|
||
#### | ||
# Build jobs | ||
clang_upstream_link_with_nvcc (lassen): | ||
variables: | ||
HOST_CONFIG: "clang@upstream_link_with_nvcc.cmake" | ||
extends: [.build_on_lassen, .with_cuda] | ||
|
||
clang_upstream_nvcc_c++17 (lassen): | ||
variables: | ||
HOST_CONFIG: "clang@upstream_nvcc_c++17.cmake" | ||
extends: [.build_on_lassen, .with_cuda] | ||
|
||
clang_upstream_nvcc_c++17_no_separable (lassen): | ||
variables: | ||
HOST_CONFIG: "clang@upstream_nvcc_c++17_no_separable.cmake" | ||
extends: [.build_on_lassen, .with_cuda] | ||
|
||
clang_upstream_nvcc_xlf (lassen): | ||
variables: | ||
HOST_CONFIG: "clang@upstream_nvcc_xlf.cmake" | ||
extends: [.build_on_lassen, .with_cuda] | ||
|
||
pgi_20.4_nvcc (lassen): | ||
variables: | ||
HOST_CONFIG: "[email protected]_nvcc.cmake" | ||
extends: [.build_on_lassen, .with_cuda] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
#### | ||
# This is the share configuration of jobs for quartz | ||
.on_quartz: | ||
tags: | ||
- shell | ||
- quartz | ||
rules: | ||
- if: '$CI_COMMIT_BRANCH =~ /_qnone/ || $ON_QUARTZ == "OFF"' #run except if ... | ||
when: never | ||
- if: '$CI_JOB_NAME =~ /release_resources/' | ||
when: always | ||
- when: on_success | ||
|
||
#### | ||
# In pre-build phase, allocate a node for builds | ||
allocate_resources_build_quartz: | ||
variables: | ||
GIT_STRATEGY: none | ||
extends: [.on_quartz] | ||
stage: q_allocate_resources | ||
script: | ||
- salloc -p pdebug -N 1 -c 36 -t 30 --no-shell --job-name=${PROJECT_ALLOC_NAME} --mpibind=off | ||
needs: [] | ||
|
||
#### | ||
# In post-build phase, deallocate resources | ||
# Note : make sure this is run even on build phase failure | ||
release_resources_build_quartz: | ||
variables: | ||
GIT_STRATEGY: none | ||
extends: [.on_quartz] | ||
stage: q_release_resources | ||
script: | ||
- export JOBID=$(squeue -h --name=${PROJECT_ALLOC_NAME} --format=%A) | ||
- if [[ -n "${JOBID}" ]]; then scancel ${JOBID}; fi | ||
|
||
#### | ||
# Template | ||
.build_on_quartz: | ||
stage: q_build | ||
extends: [.srun_build_script, .on_quartz] | ||
|
||
#### | ||
# Build jobs | ||
clang_4_0_0_libcxx (quartz): | ||
variables: | ||
HOST_CONFIG: "[email protected]" | ||
extends: [.build_on_quartz] | ||
|
||
clang_6_0_0_static_analysis (quartz): | ||
variables: | ||
HOST_CONFIG: "[email protected]" | ||
extends: [.build_on_quartz] | ||
|
||
gcc_8_3_1 (quartz): | ||
variables: | ||
HOST_CONFIG: "[email protected]" | ||
extends: [.build_on_quartz] | ||
|
||
pgi_20_1 (quartz): | ||
variables: | ||
HOST_CONFIG: "[email protected]" | ||
extends: [.build_on_quartz] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,24 @@ | ||
George Zagaris <[email protected]> George Zagaris <[email protected]> | ||
Kenneth Weiss <[email protected]> Kenneth Weiss <[email protected]> | ||
Kenneth Weiss <[email protected]> Kenny Weiss <[email protected]> | ||
Kenneth Weiss <[email protected]> Kenny Weiss <[email protected]> | ||
Peter B. Robinson <[email protected]> robinson96 <[email protected]> | ||
Peter B. Robinson <[email protected]> robinspb <[email protected]> | ||
Randolph R. Settgast <[email protected]> Randolph R. Settgast <[email protected]> | ||
Randolph R. Settgast <[email protected]> Randolph Settgast <[email protected]> | ||
Randolph R. Settgast <[email protected]> Randolph Settgast <[email protected]> | ||
|
||
Alfredo Metere <[email protected]> Alfredo Metere <[email protected]> | ||
Alfredo Metere <[email protected]> metere1llnl <[email protected]> | ||
Benjamin Curtice Corbett <[email protected]> Ben Corbett <[email protected]> | ||
Burl M. Hall <[email protected]> BurlMHall <[email protected]> | ||
Daniel Taller <[email protected]> Danny Taller <[email protected]> | ||
Geoffrey Oxberry <[email protected]> Geoffrey M Oxberry <[email protected]> | ||
Geoffrey Oxberry <[email protected]> Geoffrey M. Oxberry <[email protected]> | ||
George Zagaris <[email protected]> George Zagaris <[email protected]> | ||
Jason Burmark <[email protected]> Jason Burmark <[email protected]> | ||
Josh Essman <[email protected]> Josh Essman <[email protected]> | ||
Keith Healy <[email protected]> keithhealy <[email protected]> | ||
Kenneth Weiss <[email protected]> Kenny Weiss <[email protected]> | ||
Kenneth Weiss <[email protected]> Kenny Weiss <[email protected]> | ||
Kenneth Weiss <[email protected]> Kenneth Weiss <[email protected]> | ||
Kristi Belcher <[email protected]> Kristi Belcher <[email protected]> | ||
Kristi Belcher <[email protected]> Kristi Belcher <[email protected]> | ||
Kristi Belcher <[email protected]> Kristi <[email protected]> | ||
Marty McFadden <[email protected]> Marty McFadden <[email protected]> | ||
Peter B. Robinson <[email protected]> robinson96 <[email protected]> | ||
Peter B. Robinson <[email protected]> robinspb <[email protected]> | ||
Randolph R. Settgast <[email protected]> Randolph Settgast <[email protected]> | ||
Randolph R. Settgast <[email protected]> Randolph R. Settgast <[email protected]> | ||
Randolph R. Settgast <[email protected]> Randolph Settgast <[email protected]> | ||
Johann Dahm <[email protected]> Johann Dahm <[email protected]> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,6 +3,8 @@ | |
We welcome contributions to BLT. To do so please submit a pull request through our | ||
BLT github page at https://github.com/LLNL/blt. | ||
|
||
Before submitting a pull request, update `RELEASE-NOTES.md` accordingly. | ||
|
||
All contributions to BLT must be made under the BSD License. | ||
|
||
Any questions can be sent to [email protected]. | ||
|
@@ -13,18 +15,6 @@ The BLT project uses git's commit history to track contributions from individual | |
|
||
Since we want everyone to feel they are getting the proper attribution for their contributions, please add your name to the list below as part of your commit. | ||
|
||
# Contributors (In Alphabetical Order) | ||
|
||
* Izaak Beekman | ||
* Robert Blake, LLNL | ||
* Jason Burmark, LLNL | ||
* Ben Corbett, LLNL | ||
* Johann Dahm | ||
* Chip Freitag, AMD, Inc. | ||
* Elsa Gonsiorowski, LLNL | ||
* Burl Hall, LLNL | ||
* Matt Larsen, LLNL | ||
* Martin McFadden, LLNL | ||
* Mark Miller, LLNL | ||
* David Poliakoff, Sandia National Laboratories | ||
# Contributors | ||
|
||
Thanks to all of BLT's [contributors](https://github.com/LLNL/blt/graphs/contributors). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,25 +4,25 @@ | |
Status](https://dev.azure.com/llnl-blt/blt/_apis/build/status/LLNL.blt?branchName=develop)](https://dev.azure.com/llnl-blt/blt/_build/latest?definitionId=1&branchName=develop) | ||
[![Documentation Status](https://readthedocs.org/projects/llnl-blt/badge/?version=develop)](https://llnl-blt.readthedocs.io/en/develop/?badge=develop) | ||
|
||
BLT is a streamlined [CMake](https://cmake.org)-based foundation for | ||
BLT is a streamlined [CMake](https://cmake.org)-based foundation for | ||
<b>B</b>uilding, <b>L</b>inking and <b>T</b>esting large-scale high performance computing (HPC) applications. | ||
|
||
BLT makes it easy to get up and running on a wide range of HPC compilers, | ||
BLT makes it easy to get up and running on a wide range of HPC compilers, | ||
operating systems and technologies: | ||
* Compiler families: | ||
[gcc](https://gcc.gnu.org), | ||
[clang](https://clang.llvm.org), | ||
[Intel](https://software.intel.com/en-us/compilers), | ||
[XL](https://www.ibm.com/us-en/marketplace/ibm-c-and-c-plus-plus-compiler-family), | ||
[gcc](https://gcc.gnu.org), | ||
[clang](https://clang.llvm.org), | ||
[Intel](https://software.intel.com/en-us/compilers), | ||
[XL](https://www.ibm.com/us-en/marketplace/ibm-c-and-c-plus-plus-compiler-family), | ||
[Visual Studio](https://visualstudio.microsoft.com/vs/features/cplusplus) | ||
* Operating systems: | ||
Linux, | ||
Mac OS, | ||
* Operating systems: | ||
Linux, | ||
Mac OS, | ||
Windows | ||
* HPC programming models: | ||
[MPI](https://www.mpi-forum.org/), | ||
[OpenMP](https://www.openmp.org/), | ||
[CUDA](https://developer.nvidia.com/cuda-zone), | ||
[MPI](https://www.mpi-forum.org/), | ||
[OpenMP](https://www.openmp.org/), | ||
[CUDA](https://developer.nvidia.com/cuda-zone), | ||
[HIP](https://gpuopen.com/compute-product/hip-convert-cuda-to-portable-c-code) | ||
* Unit testing and benchmarking (built-in): | ||
[Google Test (gtest and gmock)](https://github.com/google/googletest), | ||
|
@@ -34,11 +34,14 @@ operating systems and technologies: | |
* Code style: | ||
[AStyle](http://astyle.sourceforge.net), | ||
[ClangFormat](https://clang.llvm.org/docs/ClangFormat.html), | ||
[Uncrustify](http://uncrustify.sourceforge.net) | ||
[cmake-format](https://github.com/cheshirekow/cmake_format), | ||
[Uncrustify](http://uncrustify.sourceforge.net), | ||
[YAPF (Yet Another Python Formatter)](https://github.com/google/yapf) | ||
* Code quality | ||
[clang-query](http://clang.llvm.org/docs/LibASTMatchers.html), | ||
[clang-tidy](https://clang.llvm.org/extra/clang-tidy), | ||
[Cppcheck](http://cppcheck.sourceforge.net) | ||
|
||
|
||
Getting started | ||
--------------- | ||
|
@@ -54,39 +57,44 @@ For more information, please check our [user documentation and tutorial](https:/ | |
Questions | ||
--------- | ||
|
||
Any questions can be sent to [email protected]. | ||
Any questions can be sent to [email protected]. If you are an LLNL employee or collaborator, we have an | ||
internal Microsoft Teams group chat named "BLT" as well. | ||
|
||
Authors | ||
------- | ||
Contributions | ||
------------- | ||
|
||
We welcome all kinds of contributions: new features, bug fixes, documentation edits. | ||
|
||
Developers include: | ||
To contribute, make a [pull request](https://github.com/LLNL/blt/pulls), with `develop` | ||
as the destination branch. We use CI testing and your branch must pass these tests before | ||
being merged. | ||
|
||
* Chris White, LLNL | ||
* Kenneth Weiss, LLNL | ||
* Cyrus Harrison, LLNL | ||
* George Zagaris, LLNL | ||
* Lee Taylor, LLNL | ||
* Aaron Black, LLNL | ||
* David A. Beckingsale, LLNL | ||
* Richard Hornung, LLNL | ||
* Randolph Settgast, LLNL | ||
For more information, see the [contributing guide](https://github.com/LLNL/blt/blob/develop/CONTRIBUTING.md). | ||
|
||
Please see our [contributing guide](https://github.com/LLNL/blt/blob/develop/CONTRIBUTING.md) | ||
for details about how to contribute to the project. | ||
Authors | ||
------- | ||
|
||
The full list of project contributors can be found on the | ||
[BLT Contributors Page](https://github.com/LLNL/BLT/graphs/contributors). | ||
Thanks to all of BLT's [contributors](https://github.com/LLNL/blt/graphs/contributors). | ||
|
||
Open-Source Projects using BLT | ||
------------------------------ | ||
|
||
* [Adiak](https://github.com/LLNL/Adiak): Library for collecting metadata from HPC application runs | ||
* [Ascent](https://github.com/Alpine-DAV/ascent): A flyweight in-situ visualization and analysis runtime for multi-physics HPC simulations | ||
* [Axom](https://github.com/LLNL/axom): Software infrastructure for the development of multi-physics applications and computational tools | ||
* [CARE](https://github.com/LLNL/CARE): CHAI and RAJA extensions | ||
* [CHAI](https://github.com/LLNL/CHAI): Copy-hiding array abstraction to automatically migrate data between memory spaces | ||
* [Conduit](https://github.com/LLNL/conduit): Simplified data exchange for HPC simulations | ||
* [Comb](https://github.com/LLNL/Comb): Communication performance benchmarking tool | ||
* [ExaCMech](https://github.com/LLNL/ExaCMech): GPU-friendly library of constitutive models | ||
* [Kripke](https://github.com/LLNL/Kripke): Simple, scalable, 3D Sn deterministic particle transport code | ||
* [RAJA](https://github.com/LLNL/raja): Performance portability layer for HPC | ||
* [SAMRAI](https://github.com/LLNL/SAMRAI): Structured Adaptive Mesh Refinement Application Infrastructure | ||
* [Serac](https://github.com/LLNL/serac): 3D implicit nonlinear thermal-structural simulation code | ||
* [Spheral](https://github.com/LLNL/spheral): Steerable parallel environment for performing coupled hydrodynamical & gravitational numerical simulations | ||
* [Umpire](https://github.com/LLNL/Umpire): Application-focused API for memory management on NUMA and GPU architectures | ||
* [VTK-h](https://github.com/Alpine-DAV/vtk-h): Scientific visualization algorithms for emerging processor architectures | ||
* [WCS](https://github.com/LLNL/wcs): Computational environment for simulating a whole cell model | ||
|
||
If you would like to add a library to this list, please let us know via [email](mailto:[email protected]) | ||
or by submitting an [issue](https://github.com/LLNL/blt/issues) or [pull-request](https://github.com/LLNL/blt/pulls). | ||
|
@@ -101,7 +109,7 @@ Copyrights and patents in the BLT project are retained by contributors. | |
No copyright assignment is required to contribute to BLT. | ||
|
||
See [LICENSE](./LICENSE) for details. | ||
|
||
Unlimited Open Source - BSD 3-clause Distribution | ||
`LLNL-CODE-725085` `OCEC-17-023` | ||
|
||
|
@@ -123,6 +131,8 @@ BLT bundles its external dependencies in thirdparty_builtin/. These | |
packages are covered by various permissive licenses. A summary listing | ||
follows. See the license included with each package for full details. | ||
|
||
[//]: # (Note: The spaces at the end of each line below add line breaks) | ||
|
||
PackageName: fruit | ||
PackageHomePage: https://sourceforge.net/projects/fortranxunit/ | ||
PackageLicenseDeclared: BSD-3-Clause | ||
|
Oops, something went wrong.