Optimize phase calculations
Changes:
- Optimized the
phase
function, now calledcompute_station_phases
. - Three variants:
ORIGINAL
,XTENSOR
andSINCOS
. - 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