[Users] New Einstein Toolkit Release (Turing)
Roland Haas
rhaas at illinois.edu
Sun May 31 11:03:52 CDT 2020
Release Announcement
Click here to read the announcement in HTML (with hyperlinks):
https://einsteintoolkit.org/about/releases/ET_2020_05_announcement.html
We are pleased to announce the twentieth release (code name "Turing") of
the Einstein Toolkit, an open, community developed software
infrastructure for relativistic astrophysics. The highlights of this
release are:
Cactus now supports tracking of data dependencies at runtime using
schedule annotations. These can be used to check correctness of a
schedule and also to automate data synchronizations between MPI ranks.
Two new thorns have been added:
* Baikal, a spacetime evolution code using NRPy+ for code generation
* BaikalVacuum, a version of Baikal optimized for vacuum only
simulations
In addition, bug fixes accumulated since the previous release in October
2019 have been included.
The Einstein Toolkit is a collection of software components and tools
for simulating and analyzing general relativistic astrophysical systems
that builds on numerous software efforts in the numerical relativity
community including the spacetime evolution codes Baikal, lean_public,
and McLachlan, analysis codes to compute horizon characteristics and
gravitational waves, the Carpet AMR infrastructure, and the relativistic
magneto-hydrodynamics codes GRHydro and IllinoisGRMHD. The Einstein
Toolkit also contains a 1D self-force code. For parts of the toolkit,
the Cactus Framework is used as the underlying computational
infrastructure providing large-scale parallelization, general
computational components, and a model for collaborative, portable code
development.
The Einstein Toolkit uses a distributed software model and its different
modules are developed, distributed, and supported either by the core
team of Einstein Toolkit Maintainers, or by individual groups. Where
modules are provided by external groups, the Einstein Toolkit
Maintainers provide quality control for modules for inclusion in the
toolkit and help coordinate support. The Einstein Toolkit Maintainers
currently involve staff and faculty from five different institutions,
and host weekly meetings that are open for anyone to join in.
Guiding principles for the design and implementation of the toolkit
include: open, community-driven software development; well thought-out
and stable interfaces; separation of physics software from computational
science infrastructure; provision of complete working production code;
training and education for a new generation of researchers.
For more information about using or contributing to the Einstein
Toolkit, or to join the Einstein Toolkit Consortium, please visit our
web pages at http://einsteintoolkit.org, or contact the users mailing
list users at einsteintoolkit.org.
The Einstein Toolkit is primarily supported by NSF
1550551/1550461/1550436/1550514 (Einstein Toolkit Community Integration
and Data Exploration).
The Einstein Toolkit contains about 300 regression test cases. On a
large portion of the tested machines, almost all of these tests pass,
using both MPI and OpenMP parallelization.
The changes between this and the previous release include:
Larger changes since last release
* Automatic synchronization and correctness checking: For some time,
Cactus has supported READS/WRITES declarations in the schedule.
These declarations named grid functions and/or groups as well as
the relevant region a function was reading and writing, e.g.
"interior," "boundary," etc. In this release, we make it (1)
possible to check the correctness of these declarations (both
compile time and run time checks are implemented); and (2) we make
it possible to automatically synchronize ghost zones and apply
boundary conditions to grid functions when that is needed. By
default, this functionality is off but can be enabled by setting
the Cactus parameter "presync_mode." Please see the documentation
for details.
* Baikal
- new thorn that solves Einstein's equations, using the BSSN 3+1
formalism, in Cartesian coordinates.
+ extensively documented in pedagogical Jupyter notebooks
+ borrows extensively from lean_public
- makes extensive use of the Python and SymPy-based NRPy+ code
generation infrastructure available on GitHub, which aims to
provide a completely free, open-source means for converting
expressions in Einstein-like tensorial notation into highly
optimized C-code kernels.
- implements most common (highly robust) options for numerical
relativity GRHD and GRMHD simulations
+ moving-puncture gauge conditions (1+log lapse and
Gamma-driving shift condition) enabled by default.
+ options of 2nd or 4th order finite-difference kernels,
Kreiss-Oliger dissipation enabled by default via tunable
parameter
- validated to agree with ML_BSSN in case of BNS evolutions
* BaikalVacuum
- version of Baikal optimized for vacuum (e.g., black hole and
binary black hole) spacetimes
* ExternalLibraries
- the HDF5 tarball included in the EinsteinToolkit has been
updated to 1.10.5, which changed the hid_t types to 64bit
integers
- the hwloc tarball included in the EinsteinToolkit has been
updated to 2.0.1, which is incompatible with version 1.X
* new features and enhancements
- thorn Vectors now supports vectorization on IBM POWER9 cpus
used in Summit
- Carpet will allocate less memory if `enable_no_storage = yes`,
which is useful when testing parameter files using `cactus_sim
-P parfile.par`
- CarpetLib speedup during regridding by removing expensive
debug checks
- temperature finding for tabulated EOS in EOS_Omni become more
robust for situations of almost degenerate internal energy
functions
- the MakeThornList utility was updated to support more use
cases
* important bugfixes
- Carpet fix bug when using "along-z", "along-dir" and "manual"
processor decomposition
- AHFinderDirect has been fixed to avoid a long-standing issue
where the number of metric timelevels needed to be set to 3 to
avoid errors during recovery from a checkpoint
- the parameter file for the Kasner example in Class. Quantum
Grav. 29 115001 (2012) was corrected to produce the results
shown in the paper
- bug was found in Multipole's default "midpoint" integration
scheme, lowering its integration order, the released version
changes the default method as a workaround and a full fix will
be backported after the release
* Cactus
- Cactus documentation now contains information on the git
revisions used to produce documentation
- a long standing bug in CCTK_TraverseString when traversing
"all" groups was fixed
- the testsuite mechanism provides options to run only some
tests
- the testsuite mechanism provides options to postprocess data
before comparison, for example to compare HDF5 files
- the testsuite mechanism will run all tests that request less
than the available number of processes, running more tests
- Cactus option lists can now refer to environment variables
using ${ENV-VAR-NAME}
- cross compiling support in Cactus has been improved
- Cactus now supports building on Raspberry Pi out of the box
* more thorn documentation available online
* machine definition files were updated
Deprecated functionality
The following features are being marked as deprecated in this release
and will be removed in the next release
* the non-Piraha parser in CST, available only by modifying the CST
source code, will be removed since it fails to correctly parse
READS / WRITES clauses
* READS / WRITES statements that refer to non-existing variables
will cause compile time errors and no longer be ignored at runtime
even if `presync_mode = off`
* the fourth order accurate second derivative operators in
SummationByParts will default to use the "Minimal Bandwidth"
version, as already is the case for the other second derivatives
Contributors
This release includes contributions by Eloisa Bentivegna, Erik
Schnetter, Federico Cipolletta, Frank Loeffler, Giuseppe Ficarra, Ian
Hinder, Jascha Schewtschenko, Ken Sible, Lorenzo Sala, Miguel Zilhao,
Philipp Moesta, Roland Haas, Samuel Cupp, Steven R. Brandt, and
Zachariah Etienne.
How to upgrade from Mayer (ET_2019_10)
To upgrade from the previous release, use GetComponents with the new
thornlist to check out the new version.
See the Download page (http://einsteintoolkit.org/download.html) on the
Einstein Toolkit website for download instructions.
The SelfForce-1D code uses a single git repository, thus using `git pull
; git checkout ET_2020_05` will update the code.
Machine notes
Supported (tested) machines include:
* Default Debian, Ubuntu, Fedora, CentOS 7, Mint, OpenSUSE and MacOS
Mojave (MacPorts) installations
* Bluewaters
* Comet
* Cori
* Queen Bee 2
* Stampede 2
* Mike / Shelob
* SuperMUC-NG
* Wheeler
Note for individual machines:
* TACC machines: defs.local.ini needs to have `sourcebasedir =
$WORK` and `basedir = $SCRATCH/simulations` configured for this
machine. You need to determine $WORK and $SCRATCH by logging in to
the machine.
* SuperMUC-NG: defs.local.ini needs to have `sourcebasedir = $HOME`
and `basedir = $SCRATCH/simulations` configured for this machine.
You need to determine $HOME and $SCRATCH by logging in to the
machine.
* compiling with the gcc compiler version 9.3.0 or later can be very
slow. A workaround is to replace -O2 in the option list by the
individual optimization flags reported by `gcc -O2
--help=optimizers`
All repositories participating in this release carry a branch ET_2020_05
marking this release. These release branches will be updated if severe
errors are found.
The "Turing" Release Team on behalf of the Einstein Toolkit Consortium
(2020-05-31)
* Roland Haas
* Brockton Brendal
* William E. Gabella
* Beyhan Karakas
* Atul Kedia
* Shawn G. Rosofsky
* Steven R. Brandt
* Alois Peter Schaffarczyk
* Helvi Witek
May, 2020
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
Url : http://lists.einsteintoolkit.org/pipermail/users/attachments/20200531/9832552a/attachment.bin
More information about the Users
mailing list