Skip to content

Conversation

@aurianer
Copy link
Contributor

Implement a performance check on the reference bandwidth, as suggested in #429 (comment).
For now it's testing if 40% of the reference bandwidth is reached, because with 60% some tests were occasionally failing when running manually on beverin. This threshold can be increased in the future.

reframe -C config/cscs.py  -c checks/microbenchmarks/gpu/gpu_benchmarks/parallel_algos.py --system beverin:mi300 -r -v --keep-stage-files

For now it's testing if 40% of the reference bandwidth is reached, but
could be increased in the future.
@aurianer
Copy link
Contributor Author

cscs-ci run alps-beverin-uenv;MY_UENV=prgenv-gnu/25.07-6.3.3:v6

@jgphpc jgphpc requested review from Copilot and jgphpc October 28, 2025 07:02
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds bandwidth performance validation against reference values for GPU parallel algorithms (scan, reduce, and radix-sort). The implementation establishes a baseline requiring tests to achieve at least 40% of reference bandwidth values, with architecture-specific thresholds for mi200, mi300, and gh200 GPUs.

Key Changes

  • Added reference bandwidth dictionary containing expected performance values for different algorithms, architectures, and data sizes
  • Implemented set_references method to dynamically set performance thresholds based on current partition architecture
  • Imported uarch utility to determine GPU architecture at runtime

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jgphpc jgphpc merged commit 8ba0100 into eth-cscs:main Oct 28, 2025
1 check passed
@jgphpc
Copy link
Collaborator

jgphpc commented Oct 28, 2025

also tested with UENV=prgenv-gnu/25.6:v2 on gh200 (+ UENV=prgenv-gnu/25.07-6.3.3:v6 on mi200/mi300)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants