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

First implementation of gromacs + hipsycl. #233

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

dipietrantonio
Copy link
Collaborator

This has not been completely tested as hipsycl requires Gromacs to be compiled with hipcc, and rocm/5.2.3 has not complete C++17 support (required by GROMACS).

Also, the package modifications to HIPSYCL and GROMACS could be improved, this was just an experiment.

To continue when we have a better ROCm version.

@dipietrantonio dipietrantonio marked this pull request as draft September 8, 2023 06:39
@dipietrantonio dipietrantonio self-assigned this Sep 8, 2023
@al42and
Copy link

al42and commented Sep 13, 2023

Hi!

This has not been completely tested as hipsycl requires Gromacs to be compiled with hipcc, and rocm/5.2.3 has not complete C++17 support (required by GROMACS).

I don't think that's correct.

First, GROMACS requires building with amdclang (or any recent clang; the mainline Clang 14 or newer works fine), not hipcc. I guess hipcc can work, since it's just a wrapper, but we haven't evaluated it.

Second, LUMI also has ROCm 5.2.3, and it works fine there, see Lumi-supercomputer/LUMI-EasyBuild-contrib#120.

I believe the problem is not with Clang or ROCm themselves, but with the libstdc++. The SLES15-based Cray systems have an old version of it installed system-wide, and it gets picked up by GROMACS. I believe that here two solutions are possible:

  • like LUMI, use -D CMAKE_CXX_FLAGS="--gcc-toolchain=/opt/cray/pe/gcc/11.2.0/snos/" to point to the system-wide libstdc++, or
  • install GCC 9 or newer with Spack, and make sure it is available in PATH, without any symlinks and the like, so that GROMACS can automatically detect it (or supply it via -DGMX_GPLUSPLUS_PATH).

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.

None yet

2 participants