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

Configuration Updates, main branch (2025.02.07.) #845

Merged
merged 3 commits into from
Feb 7, 2025

Conversation

krasznaa
Copy link
Member

@krasznaa krasznaa commented Feb 7, 2025

This is a replacement for #837. Abandoning changing the classes in traccc::utils, and only focusing on the traccc::opts:: classes.

I made (pretty much) the same updates in the existing classes as in #837. And then added the following:

  • Updated traccc::opts::detector and traccc::opts::input_data to use ODD muon simulations by default. To make it a bit easier to test the code. (As we mostly use ODD data for that.)
  • Introduced traccc::opts::track_fitting, to make the track fitting options configurable. Notably, with the update, I would see:
./out/build/cuda-fp32/bin/traccc_throughput_mt_cuda --input-directory /data/hdd-4tb/acts_data/odd-20240509/geant4_ttbar_mu140/ --input-events 100 --cpu-threads 2 --fit-use-backward-filter false

Running Multi-threaded CUDA GPU throughput tests

Detector Options:
├ Detector file:                   geometries/odd/odd-detray_geometry_detray.json
├ Material file:                   geometries/odd/odd-detray_material_detray.json
├ Surface grid file:               geometries/odd/odd-detray_surface_grids_detray.json
├ Use detray detector:             true
└ Digitization file:               geometries/odd/odd-digi-geometric-config.json
...
Using CUDA device: NVIDIA GeForce RTX 3080 [id: 0, bus: 1, device: 0]
Using CUDA device: NVIDIA GeForce RTX 3080 [id: 0, bus: 1, device: 0]
Using CUDA device: NVIDIA GeForce RTX 3080 [id: 0, bus: 1, device: 0]
Warm-up processing [==================================================] 100% [00m:00s]                                                                                                                                                                                                                                                                                                                                               
Event processing   [==================================================] 100% [00m:00s]                                                                                                                                                                                                                                                                                                                                               
Reconstructed track parameters: 5573291
Time totals:
                  File reading  2875 ms
            Warm-up processing  1821 ms
              Event processing  16363 ms
Throughput:
            Warm-up processing  182.15 ms/event, 5.48998 events/s
              Event processing  163.638 ms/event, 6.11107 events/s

Versus the default:

./out/build/cuda-fp32/bin/traccc_throughput_mt_cuda --input-directory /data/hdd-4tb/acts_data/odd-20240509/geant4_ttbar_mu140/ --input-events 100 --cpu-threads 2

Running Multi-threaded CUDA GPU throughput tests

Detector Options:
├ Detector file:                   geometries/odd/odd-detray_geometry_detray.json
├ Material file:                   geometries/odd/odd-detray_material_detray.json
├ Surface grid file:               geometries/odd/odd-detray_surface_grids_detray.json
├ Use detray detector:             true
└ Digitization file:               geometries/odd/odd-digi-geometric-config.json
...
Using CUDA device: NVIDIA GeForce RTX 3080 [id: 0, bus: 1, device: 0]
Using CUDA device: NVIDIA GeForce RTX 3080 [id: 0, bus: 1, device: 0]
Using CUDA device: NVIDIA GeForce RTX 3080 [id: 0, bus: 1, device: 0]
Warm-up processing [==================================================] 100% [00m:00s]                                                                                                                                                                                                                                                                                                                                               
Event processing   [==================================================] 100% [00m:00s]                                                                                                                                                                                                                                                                                                                                               
Reconstructed track parameters: 5516753
Time totals:
                  File reading  2994 ms
            Warm-up processing  2369 ms
              Event processing  21476 ms
Throughput:
            Warm-up processing  236.959 ms/event, 4.22014 events/s
              Event processing  214.769 ms/event, 4.65617 events/s

At the same time switched to using the ODD by default for
the detector geometry, and input files.

Fixed a mistake in traccc::opts::track_finding.
Added it to all the appropriate example applications.
@krasznaa krasznaa added the examples Changes to the examples label Feb 7, 2025
Copy link

sonarqubecloud bot commented Feb 7, 2025

@@ -80,48 +79,38 @@ track_finding::operator finding_config() const {
out.ptc_hypothesis =
detail::particle_from_pdg_number<traccc::scalar>(m_pdg_number);

return m_config;
return out;
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Take note that some of the track finding options could not be set from the command line so far. This was a sneaky little bug. (Though not a super important one for the moment.)

Copy link
Member

@stephenswat stephenswat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great. 👍

Comment on lines +26 to +39
std::string detector_file =
"geometries/odd/odd-detray_geometry_detray.json";
/// The file containing the material description
std::string material_file;
std::string material_file =
"geometries/odd/odd-detray_material_detray.json";
/// The file containing the surface grid description
std::string grid_file;
std::string grid_file =
"geometries/odd/odd-detray_surface_grids_detray.json";
/// Use detray::detector for the geometry handling
bool use_detray_detector = false;
bool use_detray_detector = true;

/// The digitization configuration file
std::string digitization_file =
"tml_detector/default-geometric-config-generic.json";
"geometries/odd/odd-digi-geometric-config.json";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea!

@krasznaa krasznaa merged commit 380fc78 into acts-project:main Feb 7, 2025
29 checks passed
@krasznaa krasznaa deleted the ConfigUpdate-main-20250207 branch February 7, 2025 12:17
stephenswat added a commit to stephenswat/traccc that referenced this pull request Feb 25, 2025
Today I tried building traccc with g++12 which broke as acts-project#845 introduced
a dependency on `std::format` which is not universally available. In
order to provide earlier and more readable errors, this commit adds a
configuration-time check to ensure that the C++ compiler supports
`std::format`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
examples Changes to the examples
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants