Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CUDA component support for (1) various Compute Capabilities and (2) multiple GPU configurations #297

Open
jagode opened this issue Dec 19, 2024 · 0 comments
Assignees
Labels
component-cuda PRs and Issues related to the cuda component priority-high PRs and Issues that are of high priority

Comments

@jagode
Copy link
Collaborator

jagode commented Dec 19, 2024

Expected behaviors for PAPI CUDA component for:


1. Systems with single GPU configurations:

  • 1.1 - A100 (CC 8.0) requires Perfworks API; does not work with legacy Event API.

  • 1.2 - P100 (CC 6.0) does not work with Perfworks API; requires legacy Event API.

  • 1.3 - V100 (CC 7.0) works with either Perfworks API or Event API.

    • In PAPI, for CC 7.0 Perfworks API should be used by default;
    • However, if user sets PAPI_CUDA_ROOT to CUPTI version with legacy Event API then that should also work.

2. Systems with multiple GPU configurations:

  • 2.1 - Monitoring events for both A100 and V100 should work fine in PAPI if Perfworks API is used.

    • If Legacy Event API is enabled, then PAPI CUDA should support monitoring for V100 but not A100.
    • In that case, the papi_component_avail output could say something like:
      Name: cuda CUDA profiling via NVIDIA CuPTI interfaces
      \-> Partially disabled: System includes multiple compute capabilities: <7.0, =7.0, >7.0.
      Only support for CC <=7.0 enabled.
  • 2.2 - Monitoring events for both P100 and V100 should work fine in PAPI if Legacy Event API is used.

    • If Perfworks API is enabled, then PAPI CUDA should support monitoring for V100 but not P100.
    • In that case, the papi_component_avail output could say something like:
      Name: cuda CUDA profiling via NVIDIA CuPTI interfaces
      \-> Partially disabled: System includes multiple compute capabilities: <7.0, =7.0, >7.0.
      Only support for CC >=7.0 enabled.
  • 2.3 - Monitoring events for both A100 and P100 is not expected to work.

    • If Legacy Event API is enabled, then PAPI CUDA should support monitoring for P100 (and V100) but not A100.

    • In that case, the papi_component_avail output could say something like:
      Name: cuda CUDA profiling via NVIDIA CuPTI interfaces
      \-> Partially disabled: System includes multiple compute capabilities: <7.0, =7.0, >7.0.
      Only support for CC <=7.0 enabled.

    • If Perfworks API is enabled, then PAPI CUDA should support monitoring for A100 (and V100) but not P100.

    • In that case, the papi_component_avail output could say something like:
      Name: cuda CUDA profiling via NVIDIA CuPTI interfaces
      \-> Partially disabled: System includes multiple compute capabilities: <7.0, =7.0, >7.0.
      Only support for CC >=7.0 enabled.

@jagode jagode added priority-high PRs and Issues that are of high priority component-cuda PRs and Issues related to the cuda component labels Dec 19, 2024
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 priority-high PRs and Issues that are of high priority
Projects
None yet
Development

No branches or pull requests

5 participants