Skip to content

cuda: Update tests to work with both the Legacy API and Perfworks Metrics API workflows#521

Open
Treece-Burgess wants to merge 2 commits intoicl-utk-edu:masterfrom
Treece-Burgess:10-29-2025-update-cuda-tests
Open

cuda: Update tests to work with both the Legacy API and Perfworks Metrics API workflows#521
Treece-Burgess wants to merge 2 commits intoicl-utk-edu:masterfrom
Treece-Burgess:10-29-2025-update-cuda-tests

Conversation

@Treece-Burgess
Copy link
Contributor

Pull Request Description

This PR updates the cuda component tests to work with either the Legacy API or the Perfworks Metrics API workflows.

Important Notes for this PR:

  • Test's now have command line arguments as follows --help, --device, and --cuda-native-event-name.
  • Test's now do not need a user to pass a native event name to them to run.
  • concurrent_profiling and concurrent_profiling_noCuCtx have been updated to only work with CC's >= 7.0 and use the hard coded metrics in the file. This was done to be a near 1 to 1 match with the concurrent_profiling test in CUPTI/samples.

Testing

Testing was done on Voltar at Oregon:

  • CPU: Intel Xeon Gold 6226R
  • GPUs: 1 * P100, 1 * V100, 1 * A100
  • OS: RHEL 8.10

I tried various test cases, passing the command line arguments, and running with no arguments. In these cases the tests did successfully pass.

Author Checklist

  • Description
    Why this PR exists. Reference all relevant information, including background, issues, test failures, etc
  • Commits
    Commits are self contained and only do one thing
    Commits have a header of the form: module: short description
    Commits have a body (whenever relevant) containing a detailed description of the addressed problem and its solution
  • Tests
    The PR needs to pass all the tests

@Treece-Burgess Treece-Burgess added component-cuda PRs and Issues related to the cuda component status-ready-for-review PR is ready to be reviewed type-maintenance Update code to keep it compatible, secure, modern. labels Dec 12, 2025

Choose a reason for hiding this comment

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

Building PAPI with the CUDA component fails because it cannot find the header, "cuda_tests_helper.h". Tested on Voltar with cuda/13.0 and cuda/12.8. PAPI_CUDA_ROOT environment variable was set.

@Treece-Burgess Treece-Burgess force-pushed the 10-29-2025-update-cuda-tests branch from 622515d to 516faf1 Compare January 25, 2026 22:42
@Treece-Burgess Treece-Burgess force-pushed the 10-29-2025-update-cuda-tests branch from 483197d to 84f74cc Compare January 25, 2026 23:05
…h that we have backwards compatibility past Cuda Toolkit 12.3.2
Copy link

@tokey-tahmid tokey-tahmid left a comment

Choose a reason for hiding this comment

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

Tested the PR on P100, V100, A100, and H100 architectures with CUDA toolkit versions from 11.5 to 13.0.

  • PAPI builds successfully
  • PAPI Utilities functional
  • Component tests work as expected

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

Labels

component-cuda PRs and Issues related to the cuda component status-ready-for-review PR is ready to be reviewed type-maintenance Update code to keep it compatible, secure, modern.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants