Skip to content

Releases: celeritas-project/celeritas

Version 0.6.3

22 Nov 14:20
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Version 0.6.3 is a minor bug fix update.

  • Support CUDA 13
  • Allow initialization of Geant4 integration before run manager

Changes since v0.6.2 follow.

New features

  • Add pre-commit spell checking (@sethrj, #1867)
  • Loosen restrictions and catch errors in accel initialization order (@sethrj, #1978)
  • Fail at runtime rather than link time for G4 10 with tracking manager integration (@sethrj, #1932)

Bug fixes

Documentation improvements

  • Improve instructions and build script for developers getting started (@sethrj, #2003)
  • Minor fixes for optical+ORANGE documentation (@sethrj, #2052)
  • Refactor Geant4 launching macros into a reusable script (@sethrj, #1924)
  • Release v0.6.3 (@sethrj, #2126)

Minor internal changes

Reviewers

Full Changelog: v0.6.2...v0.6.3

Version 0.6.2

23 Sep 16:49

Choose a tag to compare

Version 0.6.2 is a minor bug fix update.

  • Fixed reconstruction of track weights in returned Geant4 hits
  • Improved documentation and use of CELER_USE_PROFILING
  • Added push/flush profiling counters in accel interface
  • Update externals to latest versions (including G4VG 1.0.5 with VecGeom/CUDA fix)

Changes since v0.6.1 follow.

New features

  • Warn user when running large problems on debug build (@sethrj, #1971)
  • Improve version metadata for built-in packages and VecGeom (@sethrj, #1929)

Bug fixes

  • Fix propagation of weight from primary to track to secondary (@sethrj, #1965)

Documentation improvements

Minor internal changes

Reviewers

Full Changelog: v0.6.1...v0.6.2

Version 0.6.1

13 Sep 18:36

Choose a tag to compare

Version 0.6.1 is a minor capability and bug fix update. Geant4-to-ORANGE
conversion has gained new abilities including:

  • Support for reflection
  • Support for replicated and parameterized volumes
  • New shapes including G4ExtrudedSolid, G4GenericPolycone, G4Paraboloid, polar-truncated sphere
  • Fixes and improvements to deduplication of general quadric surfaces such as twisted trap faces and ellipsoids

Geant4 integration has improved with:

  • Automatic generation of field maps from in-memory G4Field
  • Track IDs are now reconstructed when returning hits to Geant4
  • Track weights are propagated through Celeritas and returned to Geant4
  • Additional data members are reconstructed in hit track/steps to reduce null pointers
  • G4VTrackUserInfo and G4VProcess are reconstructed as valid (but not necessarily meaningful) pointers

Code compatibility improvements include:

  • Support for CUDA 12.9 and NVCC with cxxstd=20
  • Changes to allow GCC's overzealous -Wmissing-braces (#1863) used by CMSSW
  • Fixes to include-what-you-use errors that failed newer compilers/c++ libs
  • Support for CMake find_package(Celeritas) multiple times (still discouraged though)
  • Allow multiple runs when using GPU
  • Improved compatibility for Geant4 10
  • Improved use of environment variables (now the value of CELER_DISABLE and others are considered, not just their existence)

Changes since v0.6.0 follow.

New features

Bug fixes

Documentation improvements

Minor internal changes

Deprecation and removal

Reviewers

Full Changelog: v0.6.0...v0.6.1

Version 0.6.0

23 Apr 20:13
dfa4cde

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

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

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

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

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

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

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