Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

Compiling Issue

vishal_b_
Beginner
1,222 Views

Hi,

I am compiling Gromacs-5.0.6 with intel compiler but i am getting following error.

.....................................

In file included from /usr/local/cuda-7.0/include/crt/host_runtime.h(70),
                 from /opt/intel/composer_xe_2015.3.187/compiler/include/stddef.h(45):
/usr/local/cuda-7.0/include/crt/storage_class.h(141): remark #7: unrecognized token
  #define __storage_auto__surf__ @@@ COMPILER @@@ ERROR @@@
                                                         ^

In file included from /usr/local/cuda-7.0/include/crt/host_runtime.h(70),
                 from /opt/intel/composer_xe_2015.3.187/compiler/include/stddef.h(45):
/usr/local/cuda-7.0/include/crt/storage_class.h(141): remark #7: unrecognized token
  #define __storage_auto__surf__ @@@ COMPILER @@@ ERROR @@@

...........................................................................................................

SYSTEM DETAILS

Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHz (HASWELL ARCHITECTURE)

icc -v === icc version 15.0.3 (gcc version 4.4.7 compatibility)

mpiicc -v
mpiicc for the Intel(R) MPI Library 5.0 Update 3 for Linux*
Copyright(C) 2003-2015, Intel Corporation.  All rights reserved.
icc version 15.0.3 (gcc version 4.4.7 compatibility)

CUDA-7.0 version

I am not able to find cause for this error. Please tell me where is the error?

Thanks

0 Kudos
11 Replies
KitturGanesh
Employee
1,222 Views

Hi Vishal,
I downloaded the Gromacs-5.0.6 version and compiled with the latest version (16.0.0) of compiler released just last week directly with icc instead of MPI (and parallel build).  So, try doing that and see if it compiles fine. Then do so with mpicc and if it doesn't then it's an mpi issue and we can ask mpi folks to investigate the issue. Since mpi wrapper just calls icc i think this new version of the compiler should work. Let me know how it goes - thanks.

++++++++++++++++++++++++++
% icc -V

Intel(R) C Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 16.0.0.109 Build 20150815

%export CC=icc
%export CXX=icpc
%cmake ..
...
...

[ 97%] Building C object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/pme_loadbal.c.o
[ 97%] Building C object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/membed.c.o
[ 98%] Building C object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/repl_ex.c.o
[ 98%] Building CXX object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/mdrun.cpp.o
[ 98%] Built target mdrun_objlib
Scanning dependencies of target gmx
[100%] Building CXX object src/programs/CMakeFiles/gmx.dir/gmx.cpp.o
[100%] Building CXX object src/programs/CMakeFiles/gmx.dir/legacymodules.cpp.o

Linking CXX executable ../../bin/gmx
[100%] Built target gmx
======================================

_Kittur 

 

0 Kudos
Judith_W_Intel
Employee
1,222 Views

 

These are not errors -- they are just remarks which are not even enabled by default. Are you compiling with the -w3 switch?

These are harmless remarks but if they are bothering you then you can disable them with the switch -diag-disable:7

Or you can treat the cuda headers as system headers by including them with -isystem instead of -I (that will suppress all warnings and remarks coming from them).

The remark is pointing out the "@" is not a valid token in C.

Judy

 

0 Kudos
KitturGanesh
Employee
1,222 Views

Good point, Judy! I didn't pay close attention to it and yes indeed they are remarks and your suggestions makes sense.

Vishal, let us know if you still bump into any issues (meaning compilation errors per-se!)

_Kittur

0 Kudos
vishal_b_
Beginner
1,222 Views

hi Kittur Ganesh . thank you for you valuable reply . 

I want to build with mpi (mpiicc) version . i tried with mpicc , but same  warnings .

my build command is

cmake ../  -DCMAKE_INSTALL_PREFIX=/home/test/GROMACS/install_gpu -DGMX_OPENMP=ON -DBUILD_SHARED_LIBS=ON -DGMX_PREFER_STATIC_LIBS=OFF   -DGMX_FFT_LIBRARY=mkl   -DCMAKE_C_COMPILER=/opt/intel/impi_5.0.3/bin64/mpiicc -DCMAKE_CXX_COMPILER=/opt/intel/impi_5.0.3/bin64/mpiicpc  -DGMX_MPI=ON -DGMX_GPU=ON -DCMAKE_INCLUDE_PATH="/opt/intel/impi_5.0.3/include64/;/home/test/GROMACS/boost_1_58_0" -DCMAKE_LIBRARY_PATH="/opt/intel/impi_5.0.3/lib64/;/home/test/GROMACS/boost_1_58_0/stage/lib"  -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-7.0/

I have attached the log file .

I had build it with gcc + /opt/intel/impi_5.0.3/bin64/mpicc and it built successfully , also i did run with it and it was successfull.

But now i want to build it with intel compilers only . so could me please help regarding the same?

thank you

0 Kudos
vishal_b_
Beginner
1,222 Views

hi Judith ward , thank you for your reply .

I tried with the flags as you suggested and the warnings which i mentioned disappeared , but same error is persisting yet. 

the error is :

/tmp/iccL2nKilas_.s: Assembler messages:
/tmp/iccL2nKilas_.s:5113: Error: suffix or operands invalid for `vpxor'
/tmp/iccL2nKilas_.s:5116: Error: suffix or operands invalid for `vpaddd'
/tmp/iccL2nKilas_.s:5118: Error: suffix or operands invalid for `vpaddd'
/tmp/iccL2nKilas_.s:5122: Error: suffix or operands invalid for `vpaddd'
.....................................................................................
....................................................................................

CMake Error at gpu_utils_generated_memtestG80_core.cu.o.cmake:264 (message):
  Error generating file
  /home/test/GROMACS/gromacs-5.0.5/build/src/gromacs/gmxlib/gpu_utils/CMakeFiles/gpu_utils.dir//./gpu_utils_generated_memtestG80_core.cu.o


make[2]: *** [src/gromacs/gmxlib/gpu_utils/CMakeFiles/gpu_utils.dir/./gpu_utils_generated_memtestG80_core.cu.o] Error 1
make[1]: *** [src/gromacs/gmxlib/gpu_utils/CMakeFiles/gpu_utils.dir/all] Error 2
make: *** [all] Error 2

Please suggest for this error .

thank you

0 Kudos
KitturGanesh
Employee
1,222 Views

Hi Vishal,
The errors above indicates that the system you're building has an older version of GNU binutils which is not supporting Haswell instructions set. You will have to install the latest binutils on your system or try to build on another system that supports it, thanks.
_Kittur

0 Kudos
vishal_b_
Beginner
1,222 Views

Hi  Kittur Ganesh,

ok. Thank you . I will try with updated binutils.
 

0 Kudos
KitturGanesh
Employee
1,222 Views

Vishal,  binutils 2.22 and above should work, fyi.  -Kittur

0 Kudos
KitturGanesh
Employee
1,222 Views

@Vishal: I assume the suggestion earlier should have worked for you and assume this issue is resolved. Please update otherwise, thanks.

_Kittur

0 Kudos
vishal_b_
Beginner
1,222 Views

@Kittur: The issue is resolved. thanks

0 Kudos
KitturGanesh
Employee
1,222 Views

Great to hear Vishal. Thanks for your confirmation, appreciate much.
_Kittur

0 Kudos
Reply