Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Tommy_AP
Beginner
519 Views

GROMACS 2020.3 and Intel mpiicc, always stuck on "Disabling Thread-MPI"

Hi,
I am trying to build Gromacs 2020.3 using Intel MPI Compiler bundled from Intel Parallel Studio XE 2020.2.
At the initial cmake-ing step, it always stuck whenever it hits "-- MPI is not compatible with thread-MPI. Disabling thread-MPI." without no apparent error, according to the GROMAC's cmake output.

But if i try to compile it with GCC (v 9.3.0), the said problem won't happen. Also, In my build attempt using Intel Compiler, i am including MKL as the FFT library and Intel's OpenMP, while in the GCC, i am only using MKL.

And here is the CMake args

cmake \
 -S ../gromacs-2020.3 \
 -B $MadeDir \
 -DCMAKE_INSTALL_PREFIX="${InstallDir}" \
 -DCMAKE_C_COMPILER=mpiicc \
 -DCMAKE_C_FLAGS="-march=broadwell -no-multibyte-chars -xCORE-AVX2" \
 -DCMAKE_CXX_COMPILER=mpiicpc \
 -DCMAKE_CXX_FLAGS="-march=broadwell -no-multibyte-chars -xCORE-AVX2" \
 -DGMX_MPI=on \
 -DGMX_GPU=off \
 -DGMX_OPENMP=on \
 -DGMC_SIMD=AVX2_256 \
 -DGMX_CYCLE_SUBCOUNTERS=ON \
 -DGMX_HWLOC=OFF \
 -DGMX_FFT_LIBRARY=mkl \
 -DMKL_INCLUDE_DIR="${MKLROOT}/include" \
 -DMKL_LIBRARIES="${MKLROOT}/lib/intel64/libmkl_intel_lp64.so;${MKLROOT}/lib/intel64/libmkl_intel_thread.so;${MKLROOT}/lib/intel64/libmkl_core.so;" \
 -DOpenMP_C_FLAGS="-qopenmp" \
 -DOpenMP_C_LIB_NAMES="libiomp5" \
 -DOpenMP_CXX_FLAGS="-qopenmp" \
 -DOpenMP_CXX_LIB_NAMES="libiomp5" \
 -DOpenMP_libiomp5_LIBRARY="${IntelCompLibs}/libiomp5.so" &&

CMake logs are output are attached below, any suggestion and help appreciated.

Thank you.

Labels (1)
0 Kudos
5 Replies
AbhishekD_Intel
Moderator
488 Views

Hi,

 

Thanks for reaching out to us.

We are able to build Gromacs 2020.3 using the latest Intel MPI and also with the latest Intel C Compiler.

 

From your Error logs, we can see that the errors are from the gcc heders. It seems that those headers are not from usuall /usr/include but it is taking from the some different path ie /opt/ohpc/pub/easybuild/software/GCCcore/9.3.0/include/.

 

So we think that this issue is due to your gcc environment, you can try giving the -I<include_path> as a compiler flag or try to locate those headers which are giving errors and try manually giving path to those headers.

 

Hope this will help, let us know if you need some help.

 

 

Warm Regards,

Abhishek

 

Tommy_AP
Beginner
480 Views

Hi Abhishek

Thanks for your response.

If i understand this correctly, i have to explicitly use the -I flag and point it to Intel Compiler's include path, yes ? Then, what is the common path in Linux system for this include(s) ?

Thank you

AbhishekD_Intel
Moderator
461 Views

Hi,


Please go through your CMakeError.log you will find that for some headers you are getting error as couldn't find source files. Those headers are basically from the installed gcc include files, so you can try giving the path of those headers while building your application.


We also couldn't see any problem with Intel MPI and Intel C compiler which you are using.



Warm Regards,

Abhishek


AbhishekD_Intel
Moderator
429 Views

Hi,


Please update us on your issue related to this thread.


Thank You


AbhishekD_Intel
Moderator
391 Views

Hi,


We are assuming that the solution provided helped and would no longer be monitoring this issue. Please raise a new thread if you have further issues.


Thank You.


Reply