glotzerlab / hoomd-blue

Molecular dynamics and Monte Carlo soft matter simulation on GPUs.
http://glotzerlab.engin.umich.edu/hoomd-blue
BSD 3-Clause "New" or "Revised" License
335 stars 131 forks source link

Compatibility of HOOMD with the newest ROCm #1101

Closed niktre closed 2 years ago

niktre commented 3 years ago

Hi! Is there any information that HOOMD v3.0.0 beta 8 supports ROCm 4.3.0? The requirement here says ROCm >= 3.5.0 but is it up-to-date?

While building HOOMD I get a lot of errors like: error: no matching function for call to ‘hip_impl::Scalar_accessor<double, double [4], 0>::Scalar_accessor(int)’ that are similar (or maybe even the same) as @jglaser pointed to here: https://github.com/ROCm-Developer-Tools/HIP/issues/1675

b-butler commented 3 years ago

@niktre, all of the HOOMD developers besides @jglaser do not have access to AMD GPU systems, and HOOMD is not tested with AMD for that reason as well. @jglaser is your best bet to get something working. If ROCm >= 4.3.0 is not working, we can modify the support claim.

Dann239 commented 2 years ago

I've encountered the same problem, HOOMD doesn't properly compile on our system as well. I've made some small workaround tweaks to the code to make it compile on our system. If you're interested, you can check it out here. Though it still doesn't work with HPMC and i can't really guarantee that changes i've made aren't breaking :) Anyway, i hope you find it useful

joaander commented 2 years ago

Feel free to submit a pull request even it if only partially improves support for AMD GPUs. Our situations hasn't changed, the core HOOMD-blue developers currently have no access to any AMD GPU systems so we need to rely on community support to keep it functioning.

vvsteg commented 2 years ago

@niktre , could you please make a try with the fork of v3.0.0-beta.12 made by @Dann239 ?

This fork works on our MI50 equipped cluster under ROCm 3.7. Unfortunately, it is not easy for us at the moment to upgrade ROCm to the newest version.

git clone -b hip-workaround --recursive https://github.com/Dann239/hoomd-blue.git

cd hoomd-blue; mkdir build; cd build

export HCC_AMDGPU_TARGET=gfx906

export HIP_PLATFORM=hcc

cmake -DENABLE_MPI=on -DENABLE_GPU=on -DENABLE_MPI_CUDA=on -DCMAKE_CUDA_COMPILER=hipcc -DBUILD_HPMC=off -DBUILD_TESTING=off ..

make -j6

make install