Skip to content

Optimize phase calculations

Changes:

  • Optimized the phase function, now called compute_station_phases.
  • Three variants: ORIGINAL, XTENSOR and SINCOS.
  • Tests are still failing due to missing radec2lmn

Microbenchmarks:

Randomized run: false
2025-04-30T14:14:54+02:00
Running benchmark/microbenchmarks
Run on (64 X 2800 MHz CPU s)
CPU Caches:
  L1 Data 32 KiB (x32)
  L1 Instruction 32 KiB (x32)
  L2 Unified 512 KiB (x32)
  L3 Unified 16384 KiB (x8)
Load Average: 0.47, 0.59, 0.75
----------------------------------------------------------------------------------------------------------
Benchmark                                                                Time             CPU   Iterations
----------------------------------------------------------------------------------------------------------
PhasesBenchmark/ComputePhases/#stations:24/#channels:64               78.2 us         77.9 us         8966
PhasesBenchmark/ComputePhases/#stations:48/#channels:64                158 us          158 us         4394
PhasesBenchmark/ComputePhases/#stations:24/#channels:128               111 us          110 us         5015
PhasesBenchmark/ComputePhases/#stations:48/#channels:128               180 us          179 us         3903
PhasesBenchmark/ComputePhases/#stations:24/#channels:256               175 us          175 us         4003
PhasesBenchmark/ComputePhases/#stations:48/#channels:256               354 us          353 us         1981

PhasesBenchmark/ComputePhasesSincos/#stations:24/#channels:64         39.8 us         39.7 us        17623
PhasesBenchmark/ComputePhasesSincos/#stations:48/#channels:64         80.3 us         80.0 us         8744
PhasesBenchmark/ComputePhasesSincos/#stations:24/#channels:128        80.2 us         79.9 us         8758
PhasesBenchmark/ComputePhasesSincos/#stations:48/#channels:128         161 us          160 us         4371
PhasesBenchmark/ComputePhasesSincos/#stations:24/#channels:256         159 us          159 us         4418
PhasesBenchmark/ComputePhasesSincos/#stations:48/#channels:256         318 us          317 us         2206
PhasesBenchmark/ComputePhasesXtensor/#stations:24/#channels:64        41.0 us         40.9 us        17118
PhasesBenchmark/ComputePhasesXtensor/#stations:48/#channels:64        82.6 us         82.3 us         8496
PhasesBenchmark/ComputePhasesXtensor/#stations:24/#channels:128       82.0 us         81.8 us         8563
PhasesBenchmark/ComputePhasesXtensor/#stations:48/#channels:128        164 us          164 us         4269
PhasesBenchmark/ComputePhasesXtensor/#stations:24/#channels:256        163 us          163 us         4305
PhasesBenchmark/ComputePhasesXtensor/#stations:48/#channels:256        326 us          325 us         2152
Edited by Wiebe van Breukelen

Merge request reports

Loading