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 builds with ROCM 5.1.0. #1478

Merged
merged 9 commits into from
Feb 6, 2023
Merged

Fix builds with ROCM 5.1.0. #1478

merged 9 commits into from
Feb 6, 2023

Conversation

joaander
Copy link
Member

@joaander joaander commented Feb 1, 2023

Description

Make all changes needed to build HOOMD against ROCM 5.1.0.

Motivation and context

These changes allow HOOMD to run on OLCF Crusher, the test system for Frontier.

How has this been tested?

I executed the unit tests (ctest and pytest). The core and md test pass. I'm getting seg faults in the HPMC tests. Our immediate need is for MD simulations on Frontier, so let's merge this set of fixes now. I will revisit HPMC support in a later PR.

Change log

Fixed:

* Compile without errors using `hipcc` and ROCM 5.1.0.

Checklist:

Classes with virtual methods must have virtual destructors. The
cray compiler environment issues a warning here.
The cray compiler environment issues this style warning when building
hoomd. Ignore the warning in place of rewriting major portions of
the vendored random123.
hipcc is more stringent on requiring this than nvcc.
This change is necessary so that CMake processes the .cu files with
hipcc.
NVCC is specific to the nvcc compiler, whereas __HIPCC__ is defined
by HIP in both nvcc and hipcc.
rocm does not provide a compatible cusparse library. Move the
preprocessor definitions so that this legacy code is only included
in nvcc builds.
@joaander joaander requested review from a team, b-butler and pepak13 and removed request for a team February 1, 2023 19:42
@joaander
Copy link
Member Author

joaander commented Feb 1, 2023

glotzerlab/software#263 includes the install script for the Crusher build environment.

@joaander joaander added validate Execute long running validation tests on pull requests release Build and unit test all support compiler/python configurations labels Feb 1, 2023
@joaander
Copy link
Member Author

joaander commented Feb 1, 2023

#1479 documents the seg fault.

Copy link
Member

@b-butler b-butler left a comment

Choose a reason for hiding this comment

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

👍

@joaander
Copy link
Member Author

joaander commented Feb 3, 2023

@pepak13 Let me know what you think.

@joaander joaander merged commit 9eb8e26 into trunk-patch Feb 6, 2023
@joaander joaander deleted the fix-rocm-build branch February 6, 2023 13:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Build and unit test all support compiler/python configurations validate Execute long running validation tests on pull requests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants