Closed danpho closed 8 years ago
Thanks for bringing this to my attention.
I'd like to reproduce your error message. To do so, could you provide me with the version of the Intel Compiler and MPI that you're building with?
Note that right now, only ICC 15.0 onwards are tested.
If the error is caused by different features of an earlier compiler, I'll look into ways to resolve it. If the above is the entire error message, fixing it will be easy (replacing the _mm51_sincos_p[ds] with seperate calls), and I'll patch it soon.
Thank you for your response. Following is the basic system info. If you need extra ones, please let me know.
I could replicate your issue with ICC 14.0 on my side.
The problem disappears when compiling with 15.0 onwards (arguably the simplest solution).
I patched the code to mitigate this issue (315d97e3f1f39848a051b26ebda56f6a29fe34c4). While this code is compiling, and should absolutely be correct, I am unable to test it right now. If you are going to use the tersoff/intel style, you can test the code via the provided python test script:
cd test; python test.py path/to/binary
Thanks. I will test it on our cluster and update you on my progress. Thank you so much for your time and help.
Thank you for your batch file which solved one error I met. Now, I got following new errors related to pair_tersoff_intel.cpp, pari_tersoff_intel.h, and other files.
_NOTE: I HAVE DOWNLOAD THE pair_tersoff_intel.cpp and pair_tersoff_intel.h and put them in src/USER-INTEL/ directory. Because I am not familiar with Python tool, I only copy these files to the related directory to compile Lammps for intel+phi. _
../pair_tersoff_intel.cpp(5): error: expected a declaration <!DOCTYPE html> ^
../pair_tersoff_intel.cpp(8): warning #2221: too many characters in character literal -- extra leading characters ignored
^
../pair_tersoff_intel.cpp(26): error: extra text after expected end of number
^
../pair_tersoff_intel.cpp(26): error: unrecognized token
^
../pair_tersoff_intel.cpp(26): error: unrecognized token
^
../pair_tersoff_intel.cpp(137): error: missing closing quote
Clearly, you made a mistake when downloading the files.
pair_tersoff_intel.{cpp,h}
. The commit referenced above (315d97e) did not change them. Reset them using their copies in lammps-16Feb16/src/USER-INTEL
.intel_intrinsics.h
file. You need to download the raw file, i.e. intel_intrinsics.h
. You seem to have dowloaded the webpage instead. Place the correct file into the lammps-16Feb16/src
directory.TL;DR
$ cd lammps-16Feb16/src
$ cp USER-INTEL/pair_tersoff_intel.cpp pair_tersoff_intel.cpp
$ cp USER-INTEL/pair_tersoff_intel.h pair_tersoff_intel.h
$ wget https://raw.githubusercontent.com/HPAC/lammps-tersoff-vector/master/src/intel_intrinsics.h
$ make ...
Thanks for your help and sorry to make such stupid mistake.
Following your suggestion, I made little progress. Now I got new errors shown below. I do not have any idea right now. Any suggestion will be highly appreciated.
../neigh_half_bin_intel.cpp(945): error: operator "identifier" is unexpected
^
../neigh_half_bin_intel.cpp(945): error: invalid simd pragma
^
../neigh_half_bin_intel.cpp(1520): error: operator "identifier" is unexpected
^
../neigh_half_bin_intel.cpp(1520): error: invalid simd pragma
^
../neigh_half_bin_intel.cpp(2053): error: operator "identifier" is unexpected
^
../neigh_half_bin_intel.cpp(2053): error: invalid simd pragma
^
compilation aborted for ../neigh_half_bin_intel.cpp (code 2) make[1]: * [neigh_half_bin_intel.o] Error 2 make[1]: Leaving directory `/home/Shared/LAMMPS_wly/lammps-16Feb16/src/Obj_intel_phi' make: * [intel_phi] Error 2
This last error message originated outside of my code, so I did contact the original author. His fix has landed in the latest LAMMPS version, so compilation with ICC 14.0 should be possible now.
I tried to compile LAMMPS on our group cluster which has four nodes each of which has two coproccessors. Following the instruction, I received following error message: In file included from ../pair_tersoff_intel.cpp(61): ../intel_intrinsics.h(262): error: MIC identifier "_mm512_sincos_pd" is undefined return _mm512_sincos_pd(reinterpret_cast<__m512d *>(cos), a); ^
In file included from ../pair_tersoff_intel.cpp(61): ../intel_intrinsics.h(395): error: MIC identifier "_mm512_sincos_ps" is undefined return _mm512_sincos_ps(reinterpret_cast<__m512 *>(cos), a); ^
compilation aborted for ../pair_tersoff_intel.cpp (code 2) make[1]: * [pair_tersoff_intel.o] Error 2 make[1]: Leaving directory `/home/cormackgroup/Shared/wly/LAMMPS_wly/lammps-16Feb16/src/Obj_intel_phi' make: * [intel_phi] Error 2
Any suggestion or help will be highly appreciated.