SSAGESproject / SSAGES

Software Suite for Advanced General Ensemble Simulations
GNU General Public License v3.0
81 stars 28 forks source link

Build Issues with M3 Chip #51

Open mansigokani opened 3 months ago

mansigokani commented 3 months ago

I am having issues compiling SSAGES when I run the make. My cmake line is cmake -DGROMACS=2018.3 .. -DGMX_BUILD_OWN_FFTW=ON -DGMX_SIMD=AVX2_256 -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++. I am building on an iMac with an M3 chip. With the current cmake line, I run into issues regarding AVX support. Removing the -DGMX_SIMD=AVX2_256 results in errors relating to hwloc support, with I believe is related to the version of GROMACS. How do I go about resolving this?

Thank you! (and hello from Ashely Guo's lab)

pabloferz commented 3 months ago

Hi @mansigokani. This is most likely an issue with GROMACS. M3s are too new. I can't get a hold on one to figure out how to solve this, but you can try over the GROMACS issue tracker: https://gitlab.com/gromacs/gromacs/-/issues

al42and commented 3 months ago

Hi! For the GROMACS installation questions, GROMACS forums is a better place to ask.

-DGMX_SIMD=AVX2_256 would definitely not work on Apple Silicon chips, since AVX2 is an x86-only instruction set. -DGMX_SIMD=ARM_NEON_ASIMD would be the correct flag. That said, GROMACS 2018 was released years before Apple M1 chip and is also long out of support, so it might not work out-of-the-box on M3. GROMACS 2022 and newer definitely works on Apple Silicon chips (with Apple GPU support added in 2023) , but, from what I can tell, SSAGES only have patches for GROMACS up to 2019 :(

@pabloferz: GROMACS is currently working on improving its API to simplify integration of various external tools for advanced sampling (e.g., here's a summary of a recent discussion). It does not look like SSAGES is in active development at the moment, but FYI, there's a place to voice your wishes for the API, hopefully removing the need to patch GROMACS source code.

pabloferz commented 2 months ago

Hi @al42and, thanks for chiming in. Most recent developments here are being done for our python implementation (though we'll try support maintenance of SSAGES as well), so the discussions you link are relevant for us anyway.

al42and commented 2 months ago

Most recent developments here are being done for our python implementation

Glad to hear the project is alive and well!

so the discussions you link are relevant for us anyway.

Feel free to comment there (or on our issues tracker) with your thoughts. There is a broad interest in making GROMACS easier to use for the developers of external enhanced sampling tools, so your feedback can influence the development plans (but I am not directly involved in the API work so I can't give any promises that we will definitely 100% do everything SSAGES needs).