Rhaas/carpetUpdates

Merged
#22 · Created  · Last updated

Merged pull request

CarpetLib: add missing non-openmp case for call_operator

bf0c9c0·Author: ·Closed by: ·2018-10-12

Description

  • CarpetIOHDF5: Change warning to info output

  • CarpetInterp: Use 64-bit integers to hold unique component indices

  • CarpetInterp: Modernize some code

  • CarpetInterp: Improve OpenMP parallelization

  • CarpetInterp: Disable self-checks by default

    Some of the self-checks are very expensive on large core counts.

  • Move CarpetLib types and functions into a new namespace CarpetLib

  • CarpetLib: Reset I/O flags after outputting stack backtrace

  • CarpetLib: Disable bboxset1 implementation

  • CarpetLib: Handle MPI message sizes larger than fit in 32 bits

  • CarpetLib: Use MPI_Type_create_struct instead of MPI_Type_struct

  • CarpetLib: Remove commented-out code

  • Replace CCTK_WARN(0, by CCTK_ERROR

  • CarpetLib: Add some missing include guards

  • CarpetRegrid2: Use lrint to convert to int to avoid compiler warning

  • CarpetRegrid2: Make error message more informative

  • LoopControl: Rename Fortran include file from .h to .inc

  • Reformat source code

  • CarpetLib: Source code cleanup

  • CarpetLib: Add missing include statement

  • CarpetLib: Small reformatting

  • CarpetSlab: Use <> instead of "" for include files

  • PeriodicCarpet: Use <> instead of "" for include files

  • PeriodicCarpet: Move 'extern "C"' to the right place

  • PeriodicCarpet: Update definition of MPI types

  • PeriodicCarpet: Source code cleanup

  • PeriodicCarpet: Interchange communication loop for better performance

  • PeriodicCarpet: Add more error checking

  • CarpetIOF5: Correct order of include files

  • CarpetLib: Declare MPI datatype helpers in correct namespace

  • PeriodicCarpet: Remove erroneous code (present due to wrong conflict resolve)

  • CarpetLib: Add special cases for grid structures with trivial boundaries

    Many groups (scalars and arrays) have zero-width boundaries that can be handled trivially. Add special cases for these to speed up the code during regridding.

  • CarpetLib: Update vect and bbox interfaces

    • require explicit constructor to convert a scalar to a vector

    • provide additional bbox function “sizes”

    • make some bbox functions more convenient to call

  • Carpet: Improve comment layout

  • Carpet: Avoid compiler warning

  • Carpet: Reformat source code

  • PeriodicCarpet: Add more debug output

  • Carpet: Beautify code

  • CycleClock: Correct error in “max” statistics

  • CycleClock: Improve performance when squaring numbers

  • CarpetInterp2: Use rint for rounding

  • CarpetIOHDF5: Copy one more byte for strings

  • CarpetLib: Allow bboxset1 again, but with a compile-time warning

  • CarpetLib: Allow outputting bboxset poison values

  • CarpetLib: Correct indexing for aligned arrays

  • CarpetLib: Disable OpenMP when copying data

  • Remove unused code

  • Support aligned grid arrays with offset

    Many internal changes.

  • CarpetLib: Support offset when calculating alignment

  • CarpetLib: Instantiate 0-dimensional bboxes

  • CarpetLib: Check number of threads at startup

    Calculate the number of threads, and compare to OpenMP library result. This can catch linker inconsistencies.

  • CarpetLib: Don’t call member functions of null objects

  • CarpetReduce: Propagate nans when calculating min and max

  • CarpetReduce: Disable OpenMP parallelization in reduction operations

  • CarpetReduce: Simplify code

  • CarpetRegrid2: Use cctk_ash instead of cctk_lsh where necessary

  • CarpetRegrid: Adapt to CarpetLib vect/bbox changes

  • CarpetRegrid2: Use new CCTK_WARN* macros

  • CarpetRegrid2: New parameter “granularity” to set the granularity of the size of refined levels

    Also update granularity test case.

  • CarpetIOHDF5: Improve indentation

  • CarpetLib: Some reformatting

  • CarpetLib: Correct error in vertex-centred prolongation operator

    Adding a signed and an unsigned integer is always unsigned in C++, and a loop over the stencil terminated early for high order prolongation and small SIMD vector sizes. This has now been corrected.

    I salute the designers of languages such as Julia (where such errors can be caught, and where array sizes are signed to prevent such headaches) or Haskell (where such automatic conversions do not occur).

  • Carpet: Reformat source file

  • CarpetInterp2: Reformat

  • Carpet: Avoid "check" macro

  • CarpetInterp2: Avoid "check" macro

  • CarpetIOF5: Avoid "check" macro

  • Timers: Avoid "check" macro

  • Timers: Use new CCTK_VWARN macros

  • CarpetIOScalars: Use new CCTK_VWARN macros

  • CarpetIOASCII: Use lrint to convert double to in

  • CarpetIOASCII: Buffer output in a stringstream

  • CarpetIOScalar: Buffer output in a stringstream

  • CarpetIOScalar: Make reduction output buffer safer

  • Requirements: Reformat

  • LoopControl: Declare temporary variables as potentially unused to avoid compiler warnings

  • Carpet: Improve error message

  • Carpet: Correct timer statistics -- ignore initialization time when calculating evolution speed

  • CarpetLib: Avoid "check" macro

  • CarpetLib: Define "ialign" function

  • CarpetLib: Reformat transport operator kernels

  • CarpetRegrid2: Turn compiler warnings into warning in comment

  • CarpetRegrid2: Convert warning to info message

  • CarpetLib: Handle empty regions when padding

  • CarpetLib: Add "name" argument to transport operator kernel API

  • CarpetLib: Reformat some comments

  • CarpetLib: Reformat

  • CarpetRegrid2: Reformat

  • PeriodicCarpet: Reformat

  • TestBBoxSet2: Reformat

  • CarpetLib: Enable OpenMP parallelization of transport operators depending on use_openmp flag

  • Carpet: Set ubnd correctly for grid arrays (they might be empty)

  • Carpet: Correct setting cctk_ubnd for grid arrays

  • Carpet: Use CCTK_VERROR

  • Carpet: Reset ios flags correctly

  • CarpetIOBasic: Reset ios flags correctly

  • CarpetLib: Reset ios flags correctly

  • Timers: Reset ios flags correctly

  • CarpetLib: Set RLIMIT_DATA and RLIMIT_RSS as well when setting limits

  • CarpetLib: Decrease eps to 1.0e-12

  • CarpetLib: Simplify expression

  • CarpetLib: Correct indexing error

  • CarpetInterp2: Correct typo in comment

  • CarpetLib: Use 64-bit type for number of grid points

  • CarpetLib: Correctly handle grids that are just one grid point wide

  • CarpetLib: Small performance improvement

  • PeriodicCarpet: Handle lower-dimensional domains

  • CarpetLib: deprecate pad_to_cachelines rather than removing it

    it will be removed in the next-to-next ET release

  • Revert "PeriodicCarpet: Avoid null objects"
    this is no longer required due to gdata::transfer being a static member function

  • CarpetLib: add missing non-openmp case for call_operator

 

(Part of the) Accumulated changes in Carpet since about 2016. Requires Cactus pull request https://bitbucket.org/cactuscode/cactus/pull-requests/53/rhaas-updates/diff

Mostly cleanup and housekeeping. One important fix (for benchmarking) in Correct timer statistics -- ignore initialization time when calculating evolution speed which will affect speed measurements

0 attachments

0 comments

Loading commits...