Skip to content

Releases: celeritas-project/celeritas

Version 0.6.0

23 Apr 20:13
dfa4cde
Compare
Choose a tag to compare

Version 0.6.0 is a major update to Celeritas featuring:

  • High-level integration utilities for Geant4 applications
  • Optical physics implementation including volumetric physics
  • Advanced field mapping capabilities with 3D cylindrical and cartesian field maps and volume-specific uniform fields
  • Extended geometry conversion and optimization-oriented features for ORANGE
  • Support for VecGeom 2.0
  • Spline interpolation for cross-section calculations and energy loss

A few minor features are noteworthy:

  • Improved debugging utilities for diagnosing stuck/errored tracks
  • Support for sensitive detectors in replica/parameterized volumes
  • Better handling of tracks that fail or get stuck during simulation

Notable bug fixes include:

  • Fixed navigation and mapping of reflecting volumes for VecGeom
  • Resolved crashes related to process construction and memory access
  • Fixed issues with GDML file loading and SD hit scoring
  • Fixed Urban MSC scattering distribution (backported to v0.5.3)

Some interfaces have been removed:

  • Obsolete demonstration apps and celer-dump-data
  • Macro setup from celer-g4
  • The ability to run on the default stream

Known deficiencies:

  • Surface optical physics (reflection, refraction) is not yet implemented
  • ORANGE performance is significantly degraded compared to v0.5

Changes since v0.5.0, excluding those released in v0.5.3, follow.

New features

Bug fixes

Documentation improvements

Minor internal changes

  • Give priority to existing environment variables for G4 data location (@pcanal, #1457)
  • Define id_cast helper function (@sethrj, #1459)
  • Simplify geometry "volume" interf...
Read more

Version 0.5.3

21 Apr 13:17
Compare
Choose a tag to compare

Version 0.5.3 is a minor update to Celeritas featuring an important physics bugfix
to Urban MSC and additional minor fixes targeting CUDA VecGeom compatibility.

Changes since v0.5.2 follow.

Bug fixes

Documentation improvements

Minor internal changes

Reviewers

Full Changelog: v0.5.2...v0.5.3

Version 0.5.2

31 Mar 00:06
Compare
Choose a tag to compare

Version 0.5.2 is a minor update to Celeritas featuring improved diagnostic
output, improved CMake integration for VecGeom+CUDA, and several bug fixes.

New features

  • Improve diagnostic output when offloading (@sethrj, #1589)
  • Output diagnostic information about core sizes (@sethrj, #1591)
  • Simplify and add to system config diagnostics (@sethrj, #1590)
  • Add hit manager output diagnostic (@sethrj, #1596)
  • Write out optical size diagnostic (@sethrj, #1597)
  • Default downstream CUDA/HIP architectures (@sethrj, #1669)
  • By default load CudaRdcUtils and print config message (@sethrj, #1676)
  • Add Celeritas cmake command wrappers for downstream code (@sethrj, #1678)

Bug fixes

Documentation improvements

Minor internal changes

Reviewers

Full Changelog: v0.5.1...v0.5.2

v0.6.0-rc.1

19 Mar 17:34
a6d92cd
Compare
Choose a tag to compare
v0.6.0-rc.1 Pre-release
Pre-release

This pre-release will be used for running the Geant4 GPU benchmark problems.

What's Changed

Read more

Version 0.5.1

22 Jan 13:05
Compare
Choose a tag to compare

Version 0.5.1 is a minor update to Celeritas featuring:

  • Utilities for debugging lost and stuck tracks
  • Improved integration support for VecGeom CUDA in frameworks

A few minor features are noteworthy:

  • Improved accuracy (decreased verbosity) in navigation history reconstruction
  • Add a per-track "maximum steps" cutoff
  • Use consistent random number sequences based on non-consecutive Geant4 event ID

Important changes:

  • Sensitive detector integration with Geant4 now defaults to "on".
    If your problem has no SDs you must must manually disable this feature.
  • Geant4 environment variables set at configure time will override the
    preset data sets in Geant4's cmake installation. These are used for tests only.

Notable bug fixes include:

  • Linking Athena with VecGeom+CUDA
  • Test fixes for certain new versions of Clang
  • Support for Geant4 11.3

New features

  • Add optical "locate vacancies" and pre-step actions (@amandalund, #1441)
  • Extend debug utilities for stuck/errored tracks (@sethrj, #1451)
  • Add CELER_NONFATAL_FLUSH to cleanly kill stuck tracks (@sethrj, #1455)
  • Add optical absorption model with imported data (@hhollenb, #1440)
  • Add multilevel "volume instance" (@sethrj, #1461)
  • Reconstruct Geant4 navigation history from stack (@sethrj, #1466)
  • Add "cut" for individual track steps (@sethrj, #1467)
  • Improve error checking and diagnostic output for managing GPU (@sethrj, #1464)
  • Add distance-to-bbox function (@elliottbiondo, #1446)
  • Add multi-level state to detector step result (@sethrj, #1471)
  • Override and save Geant4 dataset variables at configure time (@pcanal, #1475)
  • Implement spline interpolation for cross-section calculation (@lebuller, #1444)
  • Reconstruct "touchable" using navigation hierarchy (@sethrj, #1495)
  • Default SD integration to "true" (@sethrj, #1501)
  • Add support for Geant4 navigator through offload interface (@sethrj, #1558)

Reviewers: @amandalund (6), @sethrj (4), @pcanal (4), @mrguilima (2), @whokion (1), @stognini (1)

Bug fixes

  • Define a "unique event ID" different from event counter (@sethrj, #1447)
  • Fix optical import when unused materials are defined (@sethrj, #1449)
  • Remove trackid counter from primary (@sethrj, #1448)
  • Improve single-event mode in accel (@sethrj, #1452)
  • Fix GDML export messages and geometry-only use case (@sethrj, #1454)
  • Fix tracking cut message (@sethrj, #1458)
  • Anchor vtables to fix broken dynamic cast in tests (@sethrj, #1474)
  • Check VecGeom BVH device pointers at setup and run time (@sethrj, #1481)
  • Fix unnecessary linking when using VecGeom+CUDA (@pcanal, #1487)
  • Use canonical loop form with OpenMP (@amandalund, #1492)
  • Fix linking Athena with VecGeom+CUDA (@pcanal, #1489)
  • Fix celer-sim MC truth ROOT output file generation during tests (@stognini, #1515)
  • Fix hepmc3/macro initialization in celer-g4 (@sethrj, #1535)

Reviewers: @pcanal (6), @sethrj (4), @amandalund (3), @esseivaju (2)

Documentation improvements

Reviewers: @amandalund (6), @sethrj (6), @pcanal (5), @esseivaju (3), @mrguilima (1)

Minor internal changes

Reviewers: @sethrj (7), @amandalund (6), @pcanal (5), @esseivaju (2), @drbenmorgan (1)

Deprecation and removal

  • Delete obsolete demonstration apps (@sethrj, #1463)
  • Remove curand performance test (@sethrj, #1543)
  • Require less ancient CUDA architecture and OpenMP implementation (@sethrj, #1578)

Reviewers: @amandalund (3), @pcanal (1)

Full Changelog: v0.5.0...v0.5.1

Version 0.5.0

07 Oct 12:30
a3088af
Compare
Choose a tag to compare

Version 0.5.0 is a major update to Celeritas featuring:

  • Numerous performance improvements
  • Automatic Geant4-to-ORANGE geometry translation
  • Single coulomb scattering process and improved MSC options
  • Rasterization using any navigation engine with celer-geo

Several major new capabilities are at an experimental, proof-of-concept
level of readiness and reach prototype stage during the v0.5 series:

  • Optical photon generation and physics
  • Muon physics
  • High-energy neutron physics

A few minor features are noteworthy:

  • Improved error detection and output
  • New diagnostic output for slots and steps
  • Support for native CLHEP or SI unit systems
  • CPU profiling available through Perfetto
  • Support for saving and loading offloaded primaries via ROOT

Major infrastructure changes include:

  • Nlohmann JSON is now required (downloaded automatically if unavailable)
  • SWIG wrappers have been removed
  • More granular CMake options are available for threading model and debugging

The release includes the following changes, plus all features and bug fixes
from v0.4.4.

New features

Reviewers: @sethrj (53), @elliottbiondo (32), @amandalund (25), @whokion (12), @stognini (8), @mrguilima (7), @pcanal (5), @esseivaju (4), @drbenmorgan (3), @hhollenb (1)

Bug fixes

Read more

Version 0.4.4

15 Jul 16:39
Compare
Choose a tag to compare

Version 0.4.4 is a bugfix and minor feature update to Celeritas.

  • Correctly sets track weight when integrating with Geant4 SDs
  • Fix ARM build to support Grace Hopper architectures
  • Add a CELER_DEVICE_ASYNC environment variable to fix ROCm 5.7 multithread hang
  • Improve multi-universe support for ORANGE

New features

Reviewers: @sethrj (1)

Bug fixes

  • Fix ORANGE JSON reading and tests (@sethrj, #1164)
  • Set SD track weight and warn if offload weight is not unity (@sethrj, #1270)
  • Set step point weights in addition to track weight (@drbenmorgan, #1281)
  • Add environment variable to disable broken HIP asynchronous allocation (@sethrj, #1318)
  • Fix safety calculation at center of sphere/cyl (@sethrj, #1166)

Reviewers: @elliottbiondo (2), @drbenmorgan (1), @sethrj (1), @esseivaju (1)

Documentation improvements

Reviewers: @amandalund (1), @sethrj (1)

Full Changelog: v0.4.3...v0.4.4

Version 0.4.3

02 May 03:17
Compare
Choose a tag to compare

Released 2024/05/01

Version 0.4.3 is a bugfix and minor feature update to Celeritas.

  • Adds diagnostic output for celer-sim even when not recording all steps
  • Fixes a sampling error for keV electron ionization
  • Builds with ROCm 5.7.1
  • Builds with Geant4 10.5–10.7, 11.1.0

New features

  • Add JSON test comparator to improve testing reliability (@sethrj, #1115)
  • Add spack-based workflow to add all supported Geant4 versions to CI (@sethrj, #1149)
  • Add always-on basic diagnostics to celer-sim (@amandalund, #1214)

Reviewers: @amandalund (1), @drbenmorgan (1), @sethrj (1)

Bug fixes

Reviewers: @sethrj (2), @whokion (1), @drbenmorgan (1), @amandalund (1)

Documentation improvements

Reviewers: @esseivaju (1)

Full Changelog: v0.4.2...v0.4.3

Version 0.4.2

15 Feb 15:36
Compare
Choose a tag to compare

Version 0.4.2 is a bugfix and minor feature update to Celeritas.

Key enhancements compared to version 0.4.1 are:

  • Full reproducibility of results in Geant4 multithreaded mode
  • A new CELER_KILL_OFFLOAD environment variable that immediately kills EM tracks to help estimate a maximum offloading speedup
  • Support for Geant4-VecGeom conversion of parameterized volumes
  • Support for Geant4 11.2

Important bug fixes:

  • GCC 14 compatibility
  • Support for ROOT-exported GDML booleans

New features

  • Warn and set default threads when OpenMP and Geant4 MT might collide (@sethrj, #1056)
  • Add environment variable to kill Celeritas-supported tracks in Geant4 (@amandalund, #1060)
  • Support Geant4-VecGeom conversion of parameterized volumes (@sethrj, #1071)
  • Save action times on multi-stream CPU celer-sim (@sethrj, #1065)
  • Automatically calculate number of events in apps (@amandalund, #1072)
  • Add option to use CLHEP and SI unit systems instead of Gaussian CGS (@sethrj, #1076)

Reviewers: @amandalund (4), @sethrj (2), @esseivaju (1), @sawenzel (1)

Bug fixes

Reviewers: @sethrj (6), @pcanal (1), @amandalund (1)

Documentation improvements

Reviewers: @pcanal (3), @amandalund (2)

Minor internal changes

Reviewers: @amandalund (4), @sethrj (3), @pcanal (1)

Full Changelog: v0.4.1...v0.4.2

Version 0.4.1

07 Dec 21:05
c0f4129
Compare
Choose a tag to compare

Released 2023/12/07

Version 0.4.1 is a bugfix and minor feature update to Celeritas, primarily to
support CMSSW integration.

Key enhancements compared to version 0.4.0 are:

  • A new G4VTrackingManager interface to Celeritas from Geant4
  • Support for using a GDML-free VecGeom installation
  • Improved provenance and reporting in JSON output for apps
  • The ability to use stdin/stdout to drive celer-g4 with JSON

Important bug fixes:

  • GeantSimpleCalo can now be used with Celeritas offload enabled.

New features

Reviewers: @amandalund (3), @sethrj (3), @whokion (1)

Bug fixes

  • Fix GeantSimpleCalo output when Celeritas is enabled (@sethrj, #1040)
  • Uniquify ROOT file name when output is directed to stdout (@pcanal, #1051)
  • Fix ROOT dictionary paths (@pcanal, #1054)

Reviewers: @sethrj (2), @amandalund (1)

Documentation improvements

Reviewers: @sethrj (1)

Minor internal changes

Reviewers: @sethrj (3), @pcanal (2)

Full Changelog: v0.4.0...v0.4.1