[CI][Bench] Implement exponentially weighted moving average for SYCL nightly regression CI
Median does not respond very fast to changes in performance, and thus is not a suitable metric to be used for regression checking. This PR implements an option to use exponentially weighted moving average instead.
The hope is that this implementation could also be used on CPU instructions retired metric when SYCL compute-benchmark tests start reporting instructions retired; this would create a far more robust metric to use in order to spot regressions.
Note to llvm-reviewers-benchmarking: Observe that changes here are removed from the core benchmarking scripts -- This change should be functionally NFC for the core benchmarking scripts.
Test run here: https://github.com/intel/llvm/actions/runs/15498522442/job/43641162335
@intel/dpcpp-devops-reviewers PR is ready for review
The EWMA_smoothing_factor configured here currently favors new data over the most recent days significantly more than older data, but we can adjust this later as needed.
@intel/dpcpp-devops-reviewers Friendly ping, thanks in advance
Last time I tested this workflow 2 weeks ago, everything seemed to be working fine. I am giving the workflow another run: If the test checks out, we should be good for merge.
https://github.com/intel/llvm/actions/runs/15975847698/job/45057981525
@intel/llvm-gatekeepers PR is ready for merge, thanks!