Skip to content

Draft: Add data processor benchmark test for Rd53b and ITkPixV2

Luc Tomas Le Pottier requested to merge dataProcessorBenchmark into devel

Adds a data processor benchmark test for the ITkPixV2/Rd53b pixel FEs.

Changes

Itkpixv2DataProcesser and Rd53bDataProcessor:

  • Add low impact monitoring variables

ItkpixEncoder and derived encoders:

  • Make it a "real" abstract base class with the addition of virtual function (necessary for swappable usage in dataProcessorBenchmark)
  • Appropriately override functions in derived classes (Itkpixv2, Rd53b)

dataProcessorBenchmark:

  • Add script with basic benchmarking ability
  • TODO: add tests with events split across data packages (should be a configurable parameter)
  • TODO: add tests with error handling

Usage

Usage: ./bin/dataProcessorBenchmark [options] frontend-type[ITKPIXV2, RD53B]
Options:
    -n          Number of events total to test with (default 1000)
    -s          Number of events per stream to test with (default 16)
    -o          Average number of hits per event total (default 20)
    -t          Refresh time for monitoring (default 50us)
    -h          Print this help message and exit

Example

Running a benchmark test with 10us monitoring, an average of 30 hits/chip/BC, and 500 total events:

./bin/dataProcessorBenchmark ITKPIXV2 -t 10 -o 30 -n 500
Edited by Luc Tomas Le Pottier

Merge request reports