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

SYCL Track Finding in the Example Executables, main branch (2025.01.09.) #812

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

krasznaa
Copy link
Member

@krasznaa krasznaa commented Jan 9, 2025

This is building on top of #811. That one has to be sorted out / merged first.

This PR:

  • Adds traccc::sycl::measurement_sorting_algorithm, to make it possible to run track finding on top of our cell CSV files;
  • Teaches traccc_seq_example_sycl how to run the track finding algorithm;
  • Teaches the SYCL throughput applications to include the track finding algorithm.

I didn't bother about traccc_seeding_example_sycl. 🤔 Now that track finding is (almost) in place, I'll want to merge the code of these examples finally. Similar to how the throughput executables are set up. 🤔 I just wanted to test traccc_seq_example_sycl even before that.

I only tested the example executables on an NVIDIA backend for now, but that at least seems to be working. 😄 For example:

[bash][Legolas]:out > ./build/sycl-fp32/bin/traccc_throughput_mt_sycl --detector-file=geometries/odd/odd-detray_geometry_detray.json --material-file=geometries/odd/odd-detray_material_detray.json --grid-file=geometries/odd/odd-detray_surface_grids_detray.json --use-detray-detector --digitization-file=geometries/odd/odd-digi-geometric-config.json --use-acts-geom-source --input-directory=odd/geant4_10muon_100GeV/ --input-events=10 --processed-events=1000 --cpu-threads=4

Running Multi-threaded SYCL 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: yes
  Digitization file   : geometries/odd/odd-digi-geometric-config.json
>>> Input Data Options <<<
  Use ACTS geometry source      : yes
  Input data format             : csv
  Input directory               : odd/geant4_10muon_100GeV/
  Number of input events        : 10
  Number of input events to skip: 0
>>> Clusterization Options <<<
  Threads per partition:      256
  Target cells per thread:    8
  Max cells per thread:       16
  Scratch space size mult.:   256
>>> Track Seeding Options <<<
  None
>>> Track Finding Options <<<
  Max number of branches per seed: 10
  Max number of branches per surface: 10
  Track candidates range   : 3:100
  Minimum step length for the next surface: 0.5 [mm] 
  Maximum step counts for the next surface: 100
  Maximum Chi2             : 10
  Maximum branches per step: 10
  Maximum number of skipped steps per candidates: 3
  PDG Number: 13
>>> Track Propagation Options <<<
Navigation
----------------------------
  Min. mask tolerance   : 1e-05 [mm]
  Max. mask tolerance   : 1 [mm]
  Mask tolerance scalor : 0.05
  Path tolerance        : 1 [um]
  Overstep tolerance    : -100 [um]
  Search window         : 0 x 0

Parameter Transport
----------------------------
  Min. Stepsize         : 0.0001 [mm]
  Runge-Kutta tolerance : 0.0001 [mm]
  Max. step updates     : 10000
  Stepsize  constraint  : 3.40282e+38 [mm]
  Path limit            : 5 [m]
  Use Bethe energy loss : true
  Do cov. transport     : true
  Use eloss gradient    : false
  Use B-field gradient  : false

Geometry Context
----------------------------
0

>>> Throughput Measurement Options <<<
  Cold run event(s) : 10
  Processed event(s): 1000
  Log file          : 
>>> Multi-Threading Options <<<
  CPU threads: 4

WARNING: No material in detector

WARNING: No entries in volume finder

Detector check: OK
WARNING: No entries in volume finder

Detector check: OK
WARNING: @traccc::io::csv::read_cells: 34 duplicate cells found in /data/ssd-1tb/projects/traccc/traccc/data/odd/geant4_10muon_100GeV/event000000000-cells.csv
WARNING: @traccc::io::csv::read_cells: 55 duplicate cells found in /data/ssd-1tb/projects/traccc/traccc/data/odd/geant4_10muon_100GeV/event000000002-cells.csv
WARNING: @traccc::io::csv::read_cells: 58 duplicate cells found in /data/ssd-1tb/projects/traccc/traccc/data/odd/geant4_10muon_100GeV/event000000003-cells.csv
WARNING: @traccc::io::csv::read_cells: 53 duplicate cells found in /data/ssd-1tb/projects/traccc/traccc/data/odd/geant4_10muon_100GeV/event000000008-cells.csv
WARNING: @traccc::io::csv::read_cells: 41 duplicate cells found in /data/ssd-1tb/projects/traccc/traccc/data/odd/geant4_10muon_100GeV/event000000001-cells.csv
WARNING: @traccc::io::csv::read_cells: 155 duplicate cells found in /data/ssd-1tb/projects/traccc/traccc/data/odd/geant4_10muon_100GeV/event000000005-cells.csv
WARNING: @traccc::io::csv::read_cells: 87 duplicate cells found in /data/ssd-1tb/projects/traccc/traccc/data/odd/geant4_10muon_100GeV/event000000006-cells.csv
WARNING: @traccc::io::csv::read_cells: 28 duplicate cells found in /data/ssd-1tb/projects/traccc/traccc/data/odd/geant4_10muon_100GeV/event000000009-cells.csv
WARNING: @traccc::io::csv::read_cells: 271 duplicate cells found in /data/ssd-1tb/projects/traccc/traccc/data/odd/geant4_10muon_100GeV/event000000007-cells.csv
WARNING: @traccc::io::csv::read_cells: 154 duplicate cells found in /data/ssd-1tb/projects/traccc/traccc/data/odd/geant4_10muon_100GeV/event000000004-cells.csv
Using SYCL device: NVIDIA GeForce RTX 3080
Using SYCL device: NVIDIA GeForce RTX 3080
Using SYCL device: NVIDIA GeForce RTX 3080
Using SYCL device: NVIDIA GeForce RTX 3080
Using SYCL device: NVIDIA GeForce RTX 3080
Warm-up processing [==================================================] 100% [00m:00s]                                                                                                                                                                                                                                                                                                                  
Event processing   [==================================================] 100% [00m:00s]                                                                                                                                                                                                                                                                                                                  
Reconstructed track parameters: 180367
Time totals:
                  File reading  25 ms
            Warm-up processing  187 ms
              Event processing  8141 ms
Throughput:
            Warm-up processing  18.7812 ms/event, 53.2448 events/s
              Event processing  8.1414 ms/event, 122.829 events/s
[bash][Legolas]:out >

@krasznaa krasznaa added feature New feature or request sycl Changes related to SYCL examples Changes to the examples labels Jan 9, 2025
@krasznaa krasznaa force-pushed the SYCLTrackFindingExample-main-20250109 branch from 22771c5 to e3fe90c Compare January 10, 2025 08:40
@krasznaa krasznaa force-pushed the SYCLTrackFindingExample-main-20250109 branch from e3fe90c to 4e26907 Compare January 10, 2025 15:13
@krasznaa krasznaa marked this pull request as ready for review January 10, 2025 15:13
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
examples Changes to the examples feature New feature or request sycl Changes related to SYCL
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant