607.cactuBSSN_s
Jian Tao <jtao [at] tamu.edu>
Texas A & M Engineering Experiment Station and
High Performance Research Computing,
Texas A & M University,
College Station, TX 77843
Gabrielle Allen <gallen [at] cct.lsu.edu>
Center for Computation & Technology,
Louisiana State University,
Baton Rouge, LA 70803, USA
Peter Diener <diener [at] cct.lsu.edu>
Center for Computation & Technology,
Louisiana State University,
Baton Rouge, LA 70803, USA
Erik Schnetter <schnetter [at] cct.lsu.edu>
Center for Computation & Technology,
Louisiana State University,
Baton Rouge, LA 70803, USA
Physics / General Relativity / Numerical Relativity
Based on the Cactus Computational Framework, this benchmark uses the EinsteinToolkit to solve the Einstein equations in vacuum. The numerical kernel of this benchmark, McLachlan, is automatically generated from a high level set of partial differential equations with the Kranc code generation package. As a production level code, McLachlan has been successfully used to model blackholes, gravitational waves. When coupled to other general relativistic (magneto)hydrodynamic codes, it can also be used to model white dwarfs, neutron stars, etc. In this benchmark, we model a vacuum flat space-time. We use the BSSN formulation of the Einstein equations, and employs finite differencing in space, an explicit time integration method, and relies on the memory management and communication driver PUGH (Parallel Uniform Grid Hierarchy) for distributing grid functions over processors.
This benchmark requires a parameter file as the input. Both physics and computational parameters are specified in this file. For benchmarking, we suggest that only the computational parameters, namely the grid size and the number of iterations be changed by end users.
The total run time depends on both parameters. The parameter driver::local_nsize (60 by default) defines the total number of grid points (60x60x60), i.e., memory usage (~300MB), while Cactus::cctk_itlast (40 by default) defines the total number of iterations. The best practice is probably to set driver::local_nsize to fit the physical memory of the running system and then adjust Cactus::cctk_itlast to change.
By default, this benchmark writes to both standard output and file system.
It will write the minimum, maximum, normal1, normal2, as well as the value along the x-axis of the following variables.
ADMBase::gxx ADMBase::gxy ADMBase::kxx ADMBase::alp ML_BSSN::At11 ML_BSSN::trK ML_BSSN::Xt1 ML_BSSN::A ML_BSSN::B1 ML_BSSN::ML_Ham ML_BSSN::ML_Mom ML_BSSN::phi
C, C++, and Fortran
By default, it is assumed that the C++11 feature "static assert" is available. If you do not have that feature, you can try setting the portability flag SPEC_NO_CXX_STATIC_ASSERT.
The benchmark is used under the GNU GPL license, and original sources are provided.
Please see details in the document SPEC CPU®2017 Licenses.
Copyright © 2017-2020 Standard Performance Evaluation Corporation (SPEC®)