LLNL/ExaCA

Changelog 1.3

Closed this issue · 5 comments

New features:

  • Object oriented code reorganization
  • Removal of restriction to always use default Kokkos::View definitions (however, main executable still uses Kokkos::DefaultExecutionSpace)
  • New problem type for single grains growing freely into liquid of input undercooling, thermal gradient and cooling rate

Performance:

  • Reduced memory usage and improved CPU/GPU performance by allocating certain structures (such as cell type) only for the current layer of a multilayer simulation, with subviews for other structures (like grain ID). This allows indexing with respect to both the current layer and all layers to be avoided
  • Redundant data structures CritTimeStep and MeltTimeStep were removed with an algorithm rewrite for the temperature data, improving GPU performance
  • Use of short datatype for LayerID, reducing memory usage and output file size for printing binary data

Deprecated features:

  • Support for reading substrate files as the initial condition will be removed in a future release (will be replaced with the ability to read vtk files of GrainID)
  • Support for problem type S (arrays of spot melts) will be removed in a future release
  • Support for the previous input file print options format will be removed in a future release

Deprecated feature removal:

  • Removed support for non-remelting (single case for constrained solidification retained)
  • Removed support for plain text (non-JSON) input files

Bug fixes and improvements:

  • Removed arbitrary limit on maximum undercooling and growth velocity
  • More stable handling of cells that melt and resolidify in rapid succession
  • Edge case of incorrect powder layer initialization when the layer height is accounted for in the input thermal data resolved using the new ability to set baseplate top location for multilayer simulations
  • Example problems for the new single grain growth problem type
  • More flexible and configurable data output for both inter and intralayer details
  • Allowed use of temperature data input files that contain additional columns beyond the required x, y, z, tm, tl , cr used by ExaCA (the additional columns are not used by ExaCA, and must appear after the required columns)
  • Build system improvements for using ExaCA as a downstream library
  • Improved build documentation
  • Fixed error in the calculation of grain misorientation

Minimum dependency version updates:

  • Kokkos 4.0
  • nlohmann/json (now required)

@streeve the update for cells that melt and resolidify in rapid succession was actually done before we released 1.2

the update for cells that melt and resolidify in rapid succession was actually done before we released 1.2

Wasn't it merged after? #205

Oh yeah, you're right. I was thinking of the temporary fix (#191) I had for the release but it wasn't until #205 that the issue was fully resolved

@MattRolchigo plan to close #284, #286, #152 before we release - maybe #250? Anything else?

Yeah probably those 4, I forgot about #250 which is a pretty low hanging fruit. I'd like to test at least a few problems on the HIP backend before releasing though