Skip to content

Commit

Permalink
Release candidate for HTR-1.4.1
Browse files Browse the repository at this point in the history
  • Loading branch information
mariodirenzo committed Aug 7, 2022
1 parent 8794571 commit 328f842
Show file tree
Hide file tree
Showing 296 changed files with 28,927 additions and 13,701 deletions.
106 changes: 74 additions & 32 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# Global variables (will be set in every job):
variables:
MAX_DIM: "3"
LEGION_COMMIT: "e1ce6c67f58a0e6b70023c31d202eebc88efa265"
LEGION_COMMIT: "36851ec77ea6a317ba72a730e3df2e0bb0a0d586"
HTR_DIR: "$CI_PROJECT_DIR"
REALM_BACKTRACE: "1"
# TIMELIMIT: "600" # each test should take less than 10 minutes
Expand Down Expand Up @@ -44,23 +44,31 @@ variables:
# TERRA_DIR: "/usr/local/terra70"

.debug: &debug
DEBUG: "1"
DEBUG: "1"
.release: &release
DEBUG: "0"
DEBUG: "0"

.openmp: &openmp
USE_OPENMP: "1"
USE_OPENMP: "1"
.hdf5: &hdf5
USE_HDF: "1"
USE_HDF: "1"
.llvm: &llvm
USE_LLVM: "1"
USE_LLVM: "1"
.cuda: &cuda
USE_CUDA: "1"
USE_CUDA: "1"
.gasnet: &gasnet
USE_GASNET: "1"
USE_GASNET: "1"

.prof: &prof
USE_PROF: "1"
USE_PROF: "1"

###
### Optional execution modes
###

.rpn2: &rpn2
RANKS: "2"
RANKS_PER_NODE: "2"

###
### Optional modules
Expand All @@ -79,25 +87,27 @@ variables:
# These commands will run before each job.
before_script:
- |
if [[ "$(hostname)" = ctr-205-1.stanford.edu ]]; then
module load mpi/mpich-3.0-x86_64
if [[ "$(hostname)" == ctr-205-1.stanford.edu ]]; then
export CC=gcc
export CXX=g++
export LEGION_DIR=/home/gitlab-runner/legion
export HDF_ROOT=$LEGION_DIR/language/hdf/install
export USE_GASNET=0
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LEGION_DIR/bindings/regent:$LEGION_DIR/language/hdf/install/lib"
export LEGION_DEP_PREFIX_DIR=/home/gitlab-runner/legion/language
if [[ $DEBUG == 1 ]]; then
export LEGION_DIR=/home/gitlab-runner/legion-debug
else
export LEGION_DIR=/home/gitlab-runner/legion
fi
export HDF_ROOT=$LEGION_DEP_PREFIX_DIR/hdf/install
export CONDUIT="mpi"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LEGION_DIR/bindings/regent:$HDF_ROOT/lib"
# Make sure that we are running the last version of Legion
cd $LEGION_DIR/language
git fetch
git checkout $LEGION_COMMIT
scripts/setup_env.py --llvm-version 90 --prefix $LEGION_DEP_PREFIX_DIR
cd $HTR_DIR
fi
# Make sure that we are running the last version of Legion
- |
cd $LEGION_DIR/language
git fetch
git checkout $LEGION_COMMIT
scripts/setup_env.py --llvm-version 90
cd $HTR_DIR
###
### Tags
###
Expand All @@ -115,6 +125,22 @@ before_script:
#.image: &image
# image: stanfordlegion/gitlab-ci:ubuntu16.04 # i.e. https://hub.docker.com/r/stanfordlegion/gitlab-ci/

###
### Test rules
###

# rules for which jobs will run
.test_rules: &test_rules
rules:
# commits only run a short suite of jobs
- if: '$CI_PIPELINE_SOURCE == "push" && $IS_SHORT_JOB != "1"'
when: never
# if none of the above exclusions apply, run the job
- when: always

.short: &short
IS_SHORT_JOB: "1"

###
### Tests
###
Expand All @@ -135,6 +161,7 @@ before_script:
- python3 solverTests/3DPeriodic/test.py
- python3 solverTests/RecycleBoundary/test.py
- python3 solverTests/ShockTube/test.py
- python3 solverTests/PlanarJet/test.py
- python3 solverTests/VortexAdvection2D/test.py


Expand All @@ -145,32 +172,47 @@ before_script:
# Each item below defines a job.

ctr-205-1_release_unitTests:
<<: [*ctr-205-1, *unitTests]
<<: [*ctr-205-1, *unitTests, *test_rules]
variables:
<<: [*release, *openmp, *hdf5, *noelectricSolver]
<<: [*release, *openmp, *hdf5, *noelectricSolver, *short]

ctr-205-1_release_solverTests:
<<: [*ctr-205-1, *solverTests]
<<: [*ctr-205-1, *solverTests, *test_rules]
variables:
<<: [*release, *openmp, *hdf5, *noelectricSolver]
<<: [*release, *openmp, *hdf5, *noelectricSolver, *short]

ctr-205-1_release_solverTests_rpn2:
<<: [*ctr-205-1, *solverTests, *test_rules]
variables:
<<: [*release, *openmp, *hdf5, *noelectricSolver, *rpn2]

ctr-205-1_debug_unitTests:
<<: [*ctr-205-1, *unitTests]
<<: [*ctr-205-1, *unitTests, *test_rules]
variables:
<<: [*debug, *openmp, *hdf5, *noelectricSolver]

ctr-205-1_debug_quickSolverTests:
<<: [*ctr-205-1, *quickSolverTests]
<<: [*ctr-205-1, *quickSolverTests, *test_rules]
variables:
<<: [*debug, *openmp, *hdf5, *noelectricSolver]

ctr-205-1_debug_quickSolverTests_rpn2:
<<: [*ctr-205-1, *quickSolverTests, *test_rules]
variables:
<<: [*debug, *openmp, *hdf5, *noelectricSolver, *rpn2]

ctr-205-1_release_electricSolver_unitTests:
<<: [*ctr-205-1, *unitTests]
<<: [*ctr-205-1, *unitTests, *test_rules]
variables:
<<: [*release, *openmp, *hdf5, *electricSolver]
<<: [*release, *openmp, *hdf5, *electricSolver, *short]

ctr-205-1_release_electricSolver_solverTests:
<<: [*ctr-205-1, *solverTests]
<<: [*ctr-205-1, *solverTests, *test_rules]
variables:
<<: [*release, *openmp, *hdf5, *electricSolver, *short]

ctr-205-1_debug_electricSolver_unitTests:
<<: [*ctr-205-1, *unitTests, *test_rules]
variables:
<<: [*release, *openmp, *hdf5, *electricSolver]

4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule "solverTests/referenceData"]
path = solverTests/referenceData
url = https://gitlab.com/mario.direnzo/htr-referencedata.git
branch = master
24 changes: 24 additions & 0 deletions CHANGES.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
This file lists the major changes as they appear in the master branch.

Version 1.4.1 (August 1, 2022)
- Minor bug fixes and performance improvements

Version 1.4.0 (July 1, 2022)
- NSCBC (Inflow/Outflow) are now available for xNeg/xPos/yNeg/yPos/zNeg/zPos
- new NSCBC FarField added to the solver
- unitTest suite is now compatible with CUDA
- solverTest suite is now compatible with GPUs
- laser energy kernel based on Wang et al., JFM (2020) implemented, with accompanying test case
- boundary buffer zones based on Freund, AIAA (1997)
- one-dimensional planar flame for calculating flame speed added to test cases
- low-priority samples that use only CPUs can be passed using the -lp argument
- 26 species (including ions) chemical scheme (Di Renzo & Cuenot (2022) CnF 244) added to the solver with the name CH4_26SpIonsMix
- several improvements in precision of task privileges
- new implementation of constant TKE forcing for proposed in Bassenne et al., POF (2016)
- TENO added as option for Euler flux reconstruction
- less intrusive flux limiter to avoid negative species partial densities
- fixed compatibility with macOS
- UCSD mechanism for H2 combustion added to the solver (Saxena & Williams (2006) CnF 145)
- ability to repartition on different number of nodes the simulation data upon restart
- new python module to read and write the restart files
- new grid parameter section in the input file
- new grid IO

Version 1.3.0 (February 28, 2021)
- normalization of the multicomponent mixture
- NSCBCInflow is now available for yLeft BC
Expand Down
19 changes: 10 additions & 9 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ endif
# OS-specific options
ifeq ($(shell uname),Darwin)
DYNLINK_PATH := DYLD_LIBRARY_PATH
C_FLAGS += -DDARWIN
CXX_FLAGS += -DDARWIN
NVCC_FLAGS += -DDARWIN
else
DYNLINK_PATH := LD_LIBRARY_PATH
endif
Expand Down Expand Up @@ -36,20 +39,17 @@ CUFFT_LIBNAME ?= cufft
# C and CUDA compilers options:
# - Warnings
C_FLAGS += -Wall -Werror -fno-strict-aliasing
CXX_FLAGS += -Wall -Werror
# - define standard
CXX_FLAGS += -std=c++11
NVCC_FLAGS += -std=c++11
CXX_FLAGS += -Wall -Werror -Wno-return-type-c-linkage
# - Include paths
C_FLAGS += -I$(LEGION_DIR)/runtime -I$(LEGION_DIR)/bindings/regent -I$(HTR_DIR)/src -I$(HTR_DIR)/src/Mixtures -I$(HTR_DIR)/src/Utils -I. -I$(HTR_DIR)/src/Poisson -I.
CXX_FLAGS += -I$(LEGION_DIR)/runtime -I$(LEGION_DIR)/bindings/regent -I$(HTR_DIR)/src -I$(HTR_DIR)/src/Mixtures -I$(HTR_DIR)/src/Utils -I. -I$(HTR_DIR)/src/Poisson -I.
NVCC_FLAGS += -I$(LEGION_DIR)/runtime -I$(LEGION_DIR)/bindings/regent -I$(HTR_DIR)/src -I$(HTR_DIR)/src/Mixtures -I$(HTR_DIR)/src/Utils -I. -I$(HTR_DIR)/src/Poisson -I.
C_FLAGS += -I$(LEGION_DIR)/runtime -I$(LEGION_DIR)/bindings/regent -I$(HTR_DIR)/src -I$(HTR_DIR)/src/Mixtures -I$(HTR_DIR)/src/Utils -I$(HTR_DIR)/src/Poisson -I.
CXX_FLAGS += -I$(LEGION_DIR)/runtime -I$(LEGION_DIR)/bindings/regent -I$(HTR_DIR)/src -I$(HTR_DIR)/src/Mixtures -I$(HTR_DIR)/src/Utils -I$(HTR_DIR)/src/Poisson -I.
NVCC_FLAGS += -I$(LEGION_DIR)/runtime -I$(LEGION_DIR)/bindings/regent -I$(HTR_DIR)/src -I$(HTR_DIR)/src/Mixtures -I$(HTR_DIR)/src/Utils -I$(HTR_DIR)/src/Poisson -I.

# Regent options
export TERRA_PATH := ?.rg;$(HTR_DIR)/src/?.rg;$(HTR_DIR)/src/Mixtures/?.rg;$(HTR_DIR)/src/Utils/?.rg;$(HTR_DIR)/src/Poisson/?.rg
export INCLUDE_PATH := .;$(HTR_DIR)/src;$(HTR_DIR)/src/Mixtures;$(HTR_DIR)/src/Utils;$(HTR_DIR)/src/Poisson
REGENT := $(LEGION_DIR)/language/regent.py
REGENT_FLAGS := -fflow 0 -finner 1 -foffline 1
REGENT_FLAGS += -fflow 0 -finner 1 -foffline 1

# Link flags
LINK_FLAGS += -L$(LEGION_DIR)/bindings/regent -lregent
Expand Down Expand Up @@ -94,7 +94,8 @@ endif
# If DEBUG mode is active
######################################################
ifeq ($(DEBUG), 1)
REGENT_FLAGS += -g -fbounds-checks 1
REGENT_OPTS += -g
REGENT_FLAGS += -fbounds-checks 1
C_FLAGS += -g -O0 -DLEGION_BOUNDS_CHECKS -DLEGION_PRIVILEGE_CHECKS
CXX_FLAGS += -g -O0 -DLEGION_BOUNDS_CHECKS -DLEGION_PRIVILEGE_CHECKS
NVCC_FLAGS += -g -O0 -DLEGION_BOUNDS_CHECKS -DLEGION_PRIVILEGE_CHECKS -G
Expand Down
Loading

0 comments on commit 328f842

Please sign in to comment.