Software Archive
Read-only legacy content

Regarding GROMACS installation on using MIC

Prasanna_Kumar_N_
935 Views

 

Hi guys,

i am installing GROMACS using MIC and got the following error while using cmake to compile. I have tried with icc and ifort (even with mpicc and mpiifort), but still the same problem occurred. The following error detail given below.

cmake .. -DCMAKE_C_COMPILER=/opt/intel/composer_xe_2015/bin/icc -DCMAKE_EXE_LINKER_FLAGS="-L/home/prasanna/zlib-path/lib" -DCMAKE_C_FLAGS="-O3 –mmic -I/home/prasanna/zlib-path/include" -DCMAKE_CXX_COMPILER=/opt/intel/composer_xe_2015/bin/icpc -DCMAKE_CXX_FLAGS="-O3 –mmic -I/home/prasanna/zlib-path/include" -DGMX_MPI=ON -DGMX_PREFER_STATIC_LIBS=ON -DCMAKE_INSTALL_PREFIX=/home/prasanna/gromacs-mic -DGMX_OPENMP=ON -DGMX_FFT_LIBRARY=mkl -DGMX_XML=OFF -DGMX_SOFTWARE_INVSQRT=OFF -DGMX_SKIP_DEFAULT_CFLAGS=ON -DGMX_BUILD_MDRUN_ONLY=ON
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- Check for working C compiler: /opt/intel/composer_xe_2015/bin/icc
-- Check for working C compiler: /opt/intel/composer_xe_2015/bin/icc -- broken
CMake Error at /opt/onama/Onama_Installed/Application_Dependencies/share/cmake-3.0/Modules/CMakeTestCCompiler.cmake:61 (message):
  The C compiler "/opt/intel/composer_xe_2015/bin/icc" is not able to compile
  a simple test program.

  It fails with the following output:

   Change Dir: /home/prasanna/gromacs-5.0-rc1/mic-build/CMakeFiles/CMakeTmp

 

  Run Build Command:"/usr/bin/gmake" "cmTryCompileExec2503639587/fast"

  /usr/bin/gmake -f CMakeFiles/cmTryCompileExec2503639587.dir/build.make
  CMakeFiles/cmTryCompileExec2503639587.dir/build

  gmake[1]: Entering directory
  `/home/prasanna/gromacs-5.0-rc1/mic-build/CMakeFiles/CMakeTmp'

  /opt/onama/Onama_Installed/Application_Dependencies/bin/cmake -E
  cmake_progress_report
  /home/prasanna/gromacs-5.0-rc1/mic-build/CMakeFiles/CMakeTmp/CMakeFiles 1

  Building C object
  CMakeFiles/cmTryCompileExec2503639587.dir/testCCompiler.c.o

  /opt/intel/composer_xe_2015/bin/icc -O3 –mmic
  -I/home/prasanna/zlib-path/include -o
  CMakeFiles/cmTryCompileExec2503639587.dir/testCCompiler.c.o -c
  /home/prasanna/gromacs-5.0-rc1/mic-build/CMakeFiles/CMakeTmp/testCCompiler.c


  icc: error #10236: File not found: '–mmic'

  gmake[1]: *** [CMakeFiles/cmTryCompileExec2503639587.dir/testCCompiler.c.o]
  Error 1

  gmake[1]: Leaving directory
  `/home/prasanna/gromacs-5.0-rc1/mic-build/CMakeFiles/CMakeTmp'

  gmake: *** [cmTryCompileExec2503639587/fast] Error 2

 

 

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:41 (project)


-- Configuring incomplete, errors occurred!
See also "/home/prasanna/gromacs-5.0-rc1/mic-build/CMakeFiles/CMakeOutput.log".
See also "/home/prasanna/gromacs-5.0-rc1/mic-build/CMakeFiles/CMakeError.log".

0 Kudos
1 Solution
Kevin_D_Intel
Employee
935 Views

However the -mmic option was added to the -DCMAKE_CXX_FLAGS argument it appears to contain either an additional hyphen or strange character not representing the required leading hyphen for the option so the compiler is not interpreting that option as -mmic. Maybe that string of options was cut-n-pasted from somewhere?

Either use the shell command-line history buffer to recall that cmake command and then delete what appears to be the leading hyphen from -mmic and re-type the hyphen, or re-enter the complete cmake command-line but make sure if you cut-n-paste those compiler options again that you edit and re-type that leading hyphen on the -mmic option.

View solution in original post

0 Kudos
12 Replies
Kevin_D_Intel
Employee
936 Views

However the -mmic option was added to the -DCMAKE_CXX_FLAGS argument it appears to contain either an additional hyphen or strange character not representing the required leading hyphen for the option so the compiler is not interpreting that option as -mmic. Maybe that string of options was cut-n-pasted from somewhere?

Either use the shell command-line history buffer to recall that cmake command and then delete what appears to be the leading hyphen from -mmic and re-type the hyphen, or re-enter the complete cmake command-line but make sure if you cut-n-paste those compiler options again that you edit and re-type that leading hyphen on the -mmic option.

0 Kudos
Prasanna_Kumar_N_
935 Views

Thanks for the quick reply Kelvin and the pre compilation was successful. It still even i gave the flag  -DGMX_MPI=ON in cmake, but have something like

"-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- MPI is not compatible with thread-MPI. Disabling thread-MPI.
-- Checking for MPI_IN_PLACE
-- Performing Test MPI_IN_PLACE_COMPILE_OK
-- Performing Test MPI_IN_PLACE_COMPILE_OK - Success
-- Checking for MPI_IN_PLACE - yes

 

Please how to use this and remove this line while compilation.

 

0 Kudos
Kevin_D_Intel
Employee
935 Views

I'm sorry, I don't know about the MPI message. From some quick Googling it does not seem to suggest that it will necessarily prevent building but it may. It is something specific to GROMACS and suggests whatever MPI was detected that it was not fully compatible with whatever the thread-MPI feature(?) is. Sorry I could not be of more help with that.

0 Kudos
Prasanna_Kumar_N_
935 Views

okey i will look into that but actually another problem arises after configuration done and when i gave make command, the following error came:

make -j 4 2>&1 | tee log
Scanning dependencies of target tng_compress
[  1%] Building C object src/external/tng_io/src/compression/CMakeFiles/tng_compress.dir/bwlzh.c.o
Scanning dependencies of target gmock
Scanning dependencies of target onlinehelp-test-shared
[  1%] [  1%] Building CXX object src/external/gmock-1.7.0/CMakeFiles/gmock.dir/src/gmock-all.cc.o
Building CXX object src/gromacs/onlinehelp/tests/CMakeFiles/onlinehelp-test-shared.dir/mock_helptopic.cpp.o
Scanning dependencies of target mdrun_objlib
[  1%] Building C object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/pme_loadbal.c.o
[  1%] Building C object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/membed.c.o
[  1%] Building C object src/external/tng_io/src/compression/CMakeFiles/tng_compress.dir/bwt.c.o
In file included from /home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/helptopic.h(49),
                 from /home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/tests/mock_helptopic.h(48),
                 from /home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/tests/mock_helptopic.cpp(42):
/home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/../utility/uniqueptr.h(81): error: namespace "std" has no member "move"
  using std::move;
             ^

In file included from /home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/helptopic.h(49),
                 from /home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/tests/mock_helptopic.h(48),
                 from /home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/tests/mock_helptopic.cpp(42):
/home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/../utility/uniqueptr.h(85): error: qualified name is not allowed
      typedef std::unique_ptr<T> type;
              ^

In file included from /home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/helptopic.h(49),
                 from /home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/tests/mock_helptopic.h(48),
                 from /home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/tests/mock_helptopic.cpp(42):
/home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/../utility/uniqueptr.h(85): error #303: explicit type is missing ("int" assumed)
      typedef std::unique_ptr<T> type;
              ^

In file included from /home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/helptopic.h(49),
                 from /home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/tests/mock_helptopic.h(48),
                 from /home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/tests/mock_helptopic.cpp(42):
/home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/../utility/uniqueptr.h(85): error: expected a ";"
      typedef std::unique_ptr<T> type;
                             ^

In file included from /home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/helptopic.h(51),
                 from /home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/tests/mock_helptopic.h(48),
                 from /home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/tests/mock_helptopic.cpp(42):
/home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/helptopicinterface.h(115): error: class "gmx::gmx_unique_ptr<gmx::HelpTopicInterface>" has no member "type"
  typedef gmx_unique_ptr<HelpTopicInterface>::type HelpTopicPointer;
                                              ^

In file included from /home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/tests/mock_helptopic.h(48),
                 from /home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/tests/mock_helptopic.cpp(42):
/home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/helptopic.h(208): error: class "gmx::gmx_unique_ptr<gmx::AbstractCompositeHelpTopic>" has no member "type"
  typedef gmx_unique_ptr<AbstractCompositeHelpTopic>::type
                                                      ^

compilation aborted for /home/prasanna/gromacs-5.0-rc1/src/gromacs/onlinehelp/tests/mock_helptopic.cpp (code 2)
make[2]: *** [src/gromacs/onlinehelp/tests/CMakeFiles/onlinehelp-test-shared.dir/mock_helptopic.cpp.o] Error 2
make[1]: *** [src/gromacs/onlinehelp/tests/CMakeFiles/onlinehelp-test-shared.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[  1%] Building C object src/external/tng_io/src/compression/CMakeFiles/tng_compress.dir/coder.c.o
[  1%] Building C object src/external/tng_io/src/compression/CMakeFiles/tng_compress.dir/dict.c.o
[  1%] Building C object src/external/tng_io/src/compression/CMakeFiles/tng_compress.dir/fixpoint.c.o
[  1%] Building C object src/external/tng_io/src/compression/CMakeFiles/tng_compress.dir/huffman.c.o
[  1%] Building C object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/runner.c.o
[  1%] Building C object src/external/tng_io/src/compression/CMakeFiles/tng_compress.dir/huffmem.c.o
[  2%] Building C object src/external/tng_io/src/compression/CMakeFiles/tng_compress.dir/lz77.c.o
[  2%] Building C object src/external/tng_io/src/compression/CMakeFiles/tng_compress.dir/merge_sort.c.o
[  2%] Building C object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/md.c.o
[  3%] Building C object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/repl_ex.c.o
[  3%] Building C object src/external/tng_io/src/compression/CMakeFiles/tng_compress.dir/mtf.c.o
[  3%] Building C object src/external/tng_io/src/compression/CMakeFiles/tng_compress.dir/rle.c.o
[  3%] Building C object src/external/tng_io/src/compression/CMakeFiles/tng_compress.dir/tng_compress.c.o
[  3%] Building CXX object src/external/gmock-1.7.0/CMakeFiles/gmock.dir/gtest/src/gtest-all.cc.o
[  3%] Building CXX object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/mdrun.cpp.o
In file included from /home/prasanna/gromacs-5.0-rc1/src/gromacs/legacyheaders/update.h(45),
                 from /home/prasanna/gromacs-5.0-rc1/src/gromacs/legacyheaders/sim_util.h(43),
                  from /home/prasanna/gromacs-5.0-rc1/src/gromacs/legacyheaders/mdrun.h(45),
                 from /home/prasanna/gromacs-5.0-rc1/src/programs/mdrun/mdrun.cpp(50):
/home/prasanna/gromacs-5.0-rc1/src/gromacs/legacyheaders/vec.h(493): error: identifier "rsqrtf" is undefined
      return gmx_invsqrt(norm2(a));
             ^

In file included from /home/prasanna/gromacs-5.0-rc1/src/gromacs/legacyheaders/update.h(45),
                 from /home/prasanna/gromacs-5.0-rc1/src/gromacs/legacyheaders/sim_util.h(43),
                 from /home/prasanna/gromacs-5.0-rc1/src/gromacs/legacyheaders/mdrun.h(45),
                 from /home/prasanna/gromacs-5.0-rc1/src/programs/mdrun/mdrun.cpp(50):
/home/prasanna/gromacs-5.0-rc1/src/gromacs/legacyheaders/vec.h(498): error: identifier "rsqrtf" is undefined
      return gmx_invsqrt(dnorm2(a));
             ^

In file included from /home/prasanna/gromacs-5.0-rc1/src/gromacs/legacyheaders/update.h(45),
                 from /home/prasanna/gromacs-5.0-rc1/src/gromacs/legacyheaders/sim_util.h(43),
                 from /home/prasanna/gromacs-5.0-rc1/src/gromacs/legacyheaders/mdrun.h(45),
                 from /home/prasanna/gromacs-5.0-rc1/src/programs/mdrun/mdrun.cpp(50):
/home/prasanna/gromacs-5.0-rc1/src/gromacs/legacyheaders/vec.h(531): error: identifier "rsqrtf" is undefined
          cosval = ip*gmx_invsqrt(ipab);  /*  7 */
                      ^

In file included from /home/prasanna/gromacs-5.0-rc1/src/gromacs/legacyheaders/update.h(45),
                 from /home/prasanna/gromacs-5.0-rc1/src/gromacs/legacyheaders/sim_util.h(43),
                 from /home/prasanna/gromacs-5.0-rc1/src/gromacs/legacyheaders/mdrun.h(45),
                 from /home/prasanna/gromacs-5.0-rc1/src/programs/mdrun/mdrun.cpp(50):
/home/prasanna/gromacs-5.0-rc1/src/gromacs/legacyheaders/vec.h(806): error: identifier "rsqrtf" is undefined
      linv     = gmx_invsqrt(norm2(src));
                 ^

compilation aborted for /home/prasanna/gromacs-5.0-rc1/src/programs/mdrun/mdrun.cpp (code 2)
make[2]: *** [src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/mdrun.cpp.o] Error 2
make[1]: *** [src/programs/CMakeFiles/mdrun_objlib.dir/all] Error 2
[  3%] Building C object src/external/tng_io/src/compression/CMakeFiles/tng_compress.dir/vals16.c.o
[  3%] Building C object src/external/tng_io/src/compression/CMakeFiles/tng_compress.dir/warnmalloc.c.o
[  4%] Building C object src/external/tng_io/src/compression/CMakeFiles/tng_compress.dir/widemuldiv.c.o
[  4%] Building C object src/external/tng_io/src/compression/CMakeFiles/tng_compress.dir/xtc2.c.o
[  4%] Building C object src/external/tng_io/src/compression/CMakeFiles/tng_compress.dir/xtc3.c.o
Linking C static library ../../../../../lib/libtng_compress.a
[  4%] Built target tng_compress
Linking CXX static library ../../../lib/libgmock.a
[  4%] Built target gmock
make: *** [all] Error 2

 

0 Kudos
Kevin_D_Intel
Employee
935 Views

Are you following GROMACS for Intel® Xeon Phi™ Coprocessor recipe?

If so and these problems arose then I will contact the author of the article for help.

0 Kudos
Prasanna_Kumar_N_
935 Views

Yes Kevin, Actually i am following the same installation process that was given in the link that you given. As the article promised about performance, so i started using it, but it is showing those above errors. So if you have any solutions regarding that then it's very useful for me.

0 Kudos
Kevin_D_Intel
Employee
935 Views

Ok, I'll contact the author about lending some help.

While I'm awaiting his reply, it will be helpful knowing details of your configuration in comparison to details listed in the article under the Testing Platforms Configuration section, specifically compiler, MPSS, host OS. I noted from your earlier post that you are using the IPS XE 2015 (15.0 compiler) release, so:

  • what is version of MPSS do you have?
  • what Linux OS release & version is on your host?
0 Kudos
Prasanna_Kumar_N_
935 Views

Thanks for the help, but i need some more help from you guys.

On Host :::::::::

MPSS Version            : 3.3

Linux OS release : CentOS release 6.5 (Final)

0 Kudos
Mikhail_P_Intel
Employee
935 Views

Hi,

There were problems of g++ 4.7/4.8 compatililty with ICC 14.0, fixed in update 2. Please report your version of compiler (icc -V) and g++. Also, compile GROMACS with "make -j 1 VERBOSE=1" and provide compilation log. I will see what we can do.

Regards, Mikhail

0 Kudos
Prasanna_Kumar_N_
935 Views

Hi Mikhail,

This all gave you all the info that you asked i guess...

icc -v

icc version 15.0.0 (gcc version 4.4.7 compatibility)

g++ --version

g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)

I also send the compilation error log after "make -j 1 VERBOSE=1". Please find the document here with mail.

0 Kudos
Mikhail_P_Intel
Employee
935 Views

Hi Kumar,

Do you make "source mpss_vars.sh" to set up MPSS environment?

Also, try compiler options from the recipe article:

DCMAKE_C_FLAGS="-std=gnu99 -O3 -mmic -vec-report1 -fno-alias -ip -funroll-all-loops -fimf-domain-exclusion=15 -g -DNDEBUG -I$ZLIB_DIR/include" \
DCMAKE_CXX_COMPILER=mpiicpc \
DCMAKE_CXX_FLAGS="-std=c++0x -O3 -mmic -vec-report1 -fno-alias -ip -funroll-all-loops -fimf-domain-exclusion=15 -g -DNDEBUG -I$ZLIB_DIR/include"

 

0 Kudos
Prasanna_Kumar_N_
935 Views

Hi  Mikhail,

No i did not do anything like  "source mpss_vars.sh" to set MPSS environment.

I also tried the options that you told me, still the error is coming.I am giving alt the details here with an attachment below.

cmake .. -DCMAKE_C_COMPILER=/opt/intel/impi/5.0.1.035/intel64/bin/mpiicc -DCMAKE_EXE_LINKER_FLAGS="-L/home/prasanna/zlib-path/lib" -DCMAKE_C_FLAGS="-std=gnu99 -O3 -mmic -vec-report1 -fno-alias -ip -funroll-all-loops -fimf-domain-exclusion=15 -g -DNDEBUG -I/home/prasanna/zlib-path/include" -DCMAKE_CXX_COMPILER=/opt/intel/impi/5.0.1.035/intel64/bin/mpiicpc -DCMAKE_CXX_FLAGS="-std=c++0x -O3 -mmic -vec-report1 -fno-alias -ip -funroll-all-loops -fimf-domain-exclusion=15 -g -DNDEBUG -I/home/prasanna/zlib-path/include" -DGMX_MPI=ON -DCMAKE_INSTALL_PREFIX=/home/prasanna/gromacs-mic -DGMX_OPENMP=ON -DGMX_FFT_LIBRARY=mkl -DGMX_SKIP_DEFAULT_CFLAGS=ON

make -j 4

0 Kudos
Reply