llvm icon indicating copy to clipboard operation
llvm copied to clipboard

[CI][Bench] Implement exponentially weighted moving average for SYCL nightly regression CI

Open ianayl opened this issue 7 months ago • 2 comments

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.

ianayl avatar Jun 02 '25 19:06 ianayl

Test run here: https://github.com/intel/llvm/actions/runs/15498522442/job/43641162335

ianayl avatar Jun 06 '25 21:06 ianayl

@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.

ianayl avatar Jun 12 '25 20:06 ianayl

@intel/dpcpp-devops-reviewers Friendly ping, thanks in advance

ianayl avatar Jun 30 '25 14:06 ianayl

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

ianayl avatar Jun 30 '25 14:06 ianayl

@intel/llvm-gatekeepers PR is ready for merge, thanks!

ianayl avatar Jul 08 '25 17:07 ianayl