Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Leon_W_1
Beginner
379 Views

Error occurred while Compile LAMMPS with intel+phi

Dear there,

I tried to compile LAMMPS on our group cluster which consist of CPUs and Coprocessors. However, I got an error message which cannot be figured out. Any suggestion and help will be highly appreciated.

x86_64-k1om-linux-ld: relocation error: /usr/lib64/libc.so.6: symbol _dl_starting_up, version GLIBC_PRIVATE not defined in file ld-linux-x86-64.so.2 with link time reference
make[1]: *** [../lmp_intel_phi] Error 127
make[1]: Leaving directory `/home/xxxgroup/Shared/xxx/LAMMPS_xxx/lammps-16Feb16/src/Obj_intel_phi'
make: *** [intel_phi] Error 2

Following is the basic system info. If you need extra ones, please let me know.
1. CentOS Linux release 7.0.1406 (Core)
2. Linux version:3.10.0-123.el7.x86_64
3. Intel XEON Romley E5-2630 CPU 
4. Intel XEON Phi Coprocessor 5110P
5. Four nodes each of which has 24 cores and 2 Coprocessors.
6. Intel compiler.
7. LAMMPS will be installed in the Shared directory to use these four nodes.

 

Best regards,
Leon

 

0 Kudos
13 Replies
Kevin_D_Intel
Employee
379 Views

I don't know if either of these may help.

There's a similar report here. The resolution for that case it not entirely clear but it may have occurred related to not having one's environment setup properly to use the compiler.

You may have already see this too. There is a code recipe in the article LAMMPS* for Intel® Xeon Phi™ Coprocessor.

Leon_W_1
Beginner
379 Views

Dear Kevin,

Thank you for your message. I did try that solution before I posted this topic. It did not work. Anyway, I appreciate your message and links.

Appreciatively,

Leon

Ravi_N_Intel
Employee
379 Views

Linker should not be using /usr/lib64.  Should have been /usr/linux-k1om-4.7/linux-k1om/lib64
which means your env is not set up correctly.  What is your MIC_LIBRARY_PATH set to.

Leon_W_1
Beginner
379 Views

Dear Ravi,

You may be right. This cluster was set by somebody else. I tried to compile LAMMPS which can use CPU + Coprocessor. Below is the MIC library path. Any suggestion will be highly appreciated.

MIC_LIBRARY_PATH=/home/xxxgroup/Shared/intel/composer_xe_2013_sp1.2.144/tbb/lib/mic

 

Best,
Leon

 

Leon_W_1
Beginner
379 Views

Dear Ravi,

Actually, I don't understand this error at all. Any further information or website to recommend?

Thanks,
Leon

Ravi_N_Intel
Employee
379 Views

My recommendation would be to source the compilervar.sh from where the compiler is installed.
eg:  source /opt/intel/compilers_and_libraries_xxxx/linux/bin/compilervars.sh intel64
 

You can confirm after source that MIC_LIBRARY_PATH is set correctly. If you have your own libraries used in the app   add its location to MIC_LIBRARY_PATH

Ravi_N_Intel
Employee
379 Views

Actually, I don't understand this error at all. Any further information or website to recommend?

The error you got is during linking phase of the Xeon Phi code.  The libraries on the host  aka /usr/lib64 are not binary compatible with Xeon Phi binaries.Should be using the libraries that came with the MPSS package.  MIC_LIBRARY_PATH provides the location of the Xeon Phi libraries which will be during linking of Phi binary.

Leon_W_1
Beginner
379 Views

Dear Ravi,


Thank you for your solutions. I have following two questions:
Please forgive my ignorance. 
1. What is the difference between path of  /usr/linux-k1om-4.7/linux-k1om/lib64 and  /opt/intel/compilers_and_libraries_xxxx/linux/bin/...?
     You mentioned the linux-k1om in your first answer, while you give me another path in your second answer. I did a trial for your second answer and get the same error message. However, I do not know how to set MIC_LIBRARY_PATH using linux-k1om.
2. For the linker, what should I do please?

I highly appreciate your time.

Appreciatively,
Leon
     

 

Ravi_N_Intel
Employee
379 Views

In order to compile a program for phi you need the MPSS and the compiler
MPSS provides the system and gcc libraries.
The MPSS libraries are install in /usr/linux-k1om-4.7/linux-k1om/lib64 and the compiler package in /opt/intel/compilers_and_libraries_xxxx/linux/
assuming you are using the default installation. If you installed in different location then you have to use that location.
When you source the compilervars.sh in /opt/intel/compilers_and_libraries_xxxx/Linux/bin/compilervars.sh all the env variables like MIC_LIBRARY_PATH are set up by the script, again I am assuming they are installed in the default location.

JJK
New Contributor III
379 Views

to be a little more precise:

you don't need the full MPSS stack installed and running to build code for the Xeon Phi (v1). What is needed are the RPM packages intel-composerxe-compat-k1om and mpss-sdk-k1om which come with the MPSS software.

 

 

Leon_W_1
Beginner
379 Views

Dear Rave and JJK,

Thank you for your valuable suggestion. Now, I got new problems which were unable to get solutions from the internet. attached is the error message. Any suggestion will be highly appreciated.

Appreciatively,

Leon

 

JJK
New Contributor III
379 Views

hi,

you seem to be using a real old version of the Intel compiler (2013_sp1.2) , which does not support the mm512_sincos macros. The easiest solution is to upgrade to a more recent version of the Intel compiler suite.

As an alternative you could download an older version of the lammps code (e.g. from 2013) to see how they handled the Xeon Phi stuff back then.

 

Leon_W_1
Beginner
379 Views

Dear JJK,

Thank you so much! You are right. Actually, I downloaded the new version compiler. Unfortunately, I cannot compile the new version LAMMPS because our operating system also need to upgrade. I highly appreciate your time. I am working on it to figure it out.

Best,
Leon

Reply