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

Fix compatibility with ROCm < 6.0.0 #555

Merged
merged 2 commits into from
Jun 18, 2024
Merged

Conversation

masterleinad
Copy link
Contributor

@masterleinad masterleinad commented Jun 17, 2024

Description

Frontier currently only has rocm/6.0.0 which is unusable because of ROCm/ROCm#2752. 192a58d switched to the interface for ROCm 6.0.0 and higher while commenting the necessary code for earlier versions. This pull request restores the compatibility by checking for ROCM_VERSION_MAJOR.

Fixes #513.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature/architecture support (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Build/CI update

How Has This Been Tested?

Running the tests on Frontier with rocm-5.7.1.

Test before merge:

  • Corona 6.0.2
  • Tioga 6.0.2
  • Tioga 5.7.1
    Note: Using Rocm 5.7.1 on Tioga results in a warning with `/usr/tce/packages/gcc/gcc-10.3.1/bin/ld: warning: librocm_smi64.so.6, needed by /lib/../lib64/libhwloc.so, may conflict with librocm_smi64.so.5. The power data generated from variorum-print-power-example is correct. This warning doesn't have to do with the PR's fix but rather the fact that GCC is built with a newer ROCm in our toolchain. We expect to use the newer version, and this was a test for backward compatibility, so declaring this test as successful.

Checklist:

  • I have run ./scripts/check-code-format.sh and confirm my code code follows the style guidelines of variorum
  • I have added comments in my code
  • My changes generate no new warnings (build with -DENABLE_WARNINGS=ON)
  • New and existing unit tests pass with my changes

@tpatki
Copy link
Member

tpatki commented Jun 18, 2024

@masterleinad Can you check the build at your end again?

We're setting ROCM_DIR and all include paths are with respect to that. I had to prefix a rocm-core/ to the rocm_version.h for it to get picked up correctly as it is under the include/rocm-core folder.

Are you creating host-configs are your end similar to this one from Tioga, for example? If so, could you commit the Frontier host config as well, so other Frontier users can reproduce your build?

@tpatki tpatki merged commit c3cd35e into LLNL:dev Jun 18, 2024
9 checks passed
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.

Add rocm 6.0.2 dependency to docs.
2 participants