Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Potential student/collaborator projects #1406

Open
sethrj opened this issue Sep 16, 2024 · 0 comments
Open

Potential student/collaborator projects #1406

sethrj opened this issue Sep 16, 2024 · 0 comments
Labels
documentation Documentation, examples, tests, and CI enhancement New feature or request

Comments

@sethrj
Copy link
Member

sethrj commented Sep 16, 2024

The Celeritas code base is designed to be modular and have many self-contained components so that it can be easily extended and modified without knowledge of the entire code base. The small learning curve makes it ideal for student projects and other low-overhead external collaboration.

Geometry

Methods

Analysis

  • Run scaling studies of problem complexities with mixed volume types
  • Compare performance of various LHC subdetector test beams

Physics

Methods

  • Implement GPU-compatible spline interpolation and other interpolation methods
  • Implement GPU-based cross section evaluation for on-the-fly and pre-calculated cross sections
  • Port additional methods from Geant4
  • Develop GPU-optimized multiple scattering models or hybrid MSC/SS
  • Implement woodcock/delta tracking for trackers/calorimeters
  • Parameterize within-step cross sections for improved accuracy of slowing-down operator splitting
  • Implement DPM for trackers/calorimeters
  • Represent directions, photon polarizations, and interaction angle changes as quaternions
  • Add interface to G4HepEm to replicate AdePT physics using Celeritas stepping loop

Analysis

  • Asymptotic analysis of MSC implementation in Geant4 and Celeritas, according to Kawrakow/Bielajew 1998
  • Run convergence studies of cross section for EM models, MSC treatments
  • Compare results from individual sampling distributions and form factors to references and experiment
  • Validate EM physics results against experiments (Fano test for 200 MeV beams, pencil beam on single isotopes)
  • Implement an awful, deliberately autocorrelated but independently "unbiased" PRNG and analyze physics results for correlations

Computer science

Methods

  • Add REST interface to use Celeritas via JSON commands
  • Auto-generate C++ structs (like quicktype but more tailored to Celeritas data structures) from python
  • Improve physics memory utilization and performance #1292: use asynchronous pooled memory allocation to improve performance of physics kernels
  • Replace preallocation of certain components with async pool allocation
  • Implement and study performance impact of higher-quality RNG (e.g. RANLUX, MixMax)
  • Refactor kernels and algorithms using stdpar: Add support for NVHPC -stdpar #505

Analysis

  • Perform parameter studies of track slots for various problems
  • Verify reproducibility on CPU/GPU with the same thread slots
  • Identify performance bottlenecks in kernels
@sethrj sethrj added documentation Documentation, examples, tests, and CI enhancement New feature or request labels Sep 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Documentation, examples, tests, and CI enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant