CP2K Intel Compiler Build Issues
Alfio Lazzaro
alfio.... at gmail.com
Mon Mar 26 09:20:04 UTC 2018
Dear Zeke,
Let me summarize:
1) You are using CP2K 5.1
2) You are using Intel 17.0.4
OK, as Nico said, your arch file contains old flags that you can remove. It
is strange that the official arch doesn't work for you
(https://sourceforge.net/p/cp2k/code/18346/tree//trunk/cp2k/arch/Linux-x86-64-intel.popt
). Which problem do you get?
Anway, I'm putting here a "clean" version of your latest arch file:
CC = icc
CPP =
FC = mpiifort
LD = mpiifort
AR = ar -r
MKLROOT=/panfs/pfs.local/software/install/intel/17.4/mkl
MKL_LIB = $(MKLROOT)/lib/intel64
DFLAGS = -D__MKL -D__FFTW3 -D__parallel -D__SCALAPACK
-D__STATM_RESIDENT -D__HAS_NO_SHARED_GLIBC
CFLAGS = $(DFLAGS) -O2
FCFLAGS = $(DFLAGS) -O2 -funroll-loops -fpp -free -fp-model precise
FCFLAGS += -I$(MKLROOT)/include -I$(MKLROOT)/include/fftw
LDFLAGS = $(FCFLAGS) -static-intel
LDFLAGS_C = $(FCFLAGS) -static-intel -nofor_main
LIBS += $(MKL_LIB)/libmkl_scalapack_lp64.a -Wl,--start-group \
$(MKL_LIB)/libmkl_intel_lp64.a ${MKL_LIB}/libmkl_sequential.a \
$(MKL_LIB)/libmkl_core.a \
${MKL_LIB}/libmkl_blacs_intelmpi_lp64.a -Wl,--end-group \
-lpthread -lm
# Required due to memory leak that occurs if high optimisations are used
mp2_optimize_ri_basis.o: mp2_optimize_ri_basis.F
$(FC) -c $(subst O2,O0,$(FCFLAGS)) $<
In this arch file I'm assuming that you have Intel MPI (or MPICH).
Otherwise, you can change the libs (you can
use https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor
). I didn't test it, probably there are typos (sorry in advance). My
feeling about the error you showed is that there was something wrong in the
linking of MKL (it mentions AVX, but you were compiling with SSE2 support).
Please, try and let me know.
BTW, I would suggest to use LIBXSMM to get performance...
Alfio
Il giorno venerdì 23 marzo 2018 21:30:35 UTC+1, Zeke P ha scritto:
>
> Hi Nico,
>
> Thanks for your response. I am indeed using that version of the intel
> compiler.
>
> With a new arch file (provided to me after my original post) - I was able
> to compile cp2k again. I didn't have much luck with the arch file that you
> linked. This time - I am getting a segmentation fault when I run the
> executable for any input. This is probably due to a small mistake in the
> arch file.
>
> Here is the segfault output:
>
> ---
>
> forrtl: severe (174): SIGSEGV, segmentation fault occurred
>
> Image PC Routine Line Source
>
>
> cp2k.popt 00000000061CEDD4 Unknown Unknown
> Unknown
>
> libpthread-2.12.s 00002AFB6C88A710 Unknown Unknown
> Unknown
>
> cp2k.popt 00000000060C5B41 mkl_lapack_ps_avx Unknown
> Unknown
>
> cp2k.popt 0000000005FE4287 Unknown Unknown
> Unknown
>
> cp2k.popt 0000000002F9F719 Unknown Unknown
> Unknown
>
> cp2k.popt 0000000002DC42D4 Unknown Unknown
> Unknown
>
> cp2k.popt 0000000002A9B519 Unknown Unknown
> Unknown
>
> cp2k.popt 0000000000CBE12C Unknown Unknown
> Unknown
>
> cp2k.popt 0000000000787E2A Unknown Unknown
> Unknown
>
> cp2k.popt 00000000007842BC Unknown Unknown
> Unknown
>
> cp2k.popt 0000000000599F37 Unknown Unknown
> Unknown
>
> cp2k.popt 00000000005999F3 Unknown Unknown
> Unknown
>
> cp2k.popt 000000000045B876 Unknown Unknown
> Unknown
>
> cp2k.popt 0000000000450C38 Unknown Unknown
> Unknown
>
> cp2k.popt 0000000006232E02 Unknown Unknown
> Unknown
>
> libc-2.12.so 00002AFB6E219D5D __libc_start_main Unknown
> Unknown
>
> cp2k.popt 0000000000450229 Unknown Unknown
> Unknown
> ---
>
> Here is the arch file:
>
> -----
>
> CC = icc
>
> CPP =
>
> FC = mpiifort
>
> LD = mpiifort
>
> AR = ar -r
>
> MKLROOT=/panfs/pfs.local/software/install/intel/17.4/mkl
>
> INTEL_LIB = $(MKLROOT)/lib/intel64
>
>
>
> DFLAGS = -D__INTEL -D__FFTSG -D__parallel -D__BLACS -D__SCALAPACK
> -D__FFTSG -D__MAX_CONTR=3 -D__HAS_NO_GETLOG -D__STATM_RESIDENT
> -D__HAS_NO_SHARED_GLIBC
>
> FCFLAGS = -D__INTEL -D__FFTSG -D__parallel -D__BLACS -D__SCALAPACK
> -D__FFTSG -D__MAX_CONTR=3 -D__HAS_NO_GETLOG -D__STATM_RESIDENT
> -D__HAS_NO_SHARED_GLIBC
>
> FCFLAGS = $(DFLAGS) -I$ -O3 -msse2 -heap-arrays 64 -funroll-loops -fpp
> -free -nofor_main
>
> FCFLAGS2 = $(DFLAGS) -O1 -msse2 -heap-arrays 64 -fpp -free
>
> CPPFLAGS = $(FCFLAGS)
>
> LDFLAGS = $(FCFLAGS)
>
> LIBS = -L$(INTEL_LIB) -lstdc++
> ${MKLROOT}/lib/intel64/libmkl_blas95_ilp64.a
> ${MKLROOT}/lib/intel64/libmkl_lapack95_ilp64.a
> ${MKLROOT}/lib/intel64/libmkl_scalapack_ilp64.a -Wl,--start-group
> ${MKLROOT}/lib/intel64/libmkl_intel_ilp64.a
> ${MKLROOT}/lib/intel64/libmkl_intel_thread.a
> ${MKLROOT}/lib/intel64/libmkl_core.a
> ${MKLROOT}/lib/intel64/libmkl_blacs_intelmpi_ilp64.a -Wl,--end-group
> -liomp5 -lpthread -lm -ldl
>
> OBJECTS_ARCHITECTURE = machine_intel.o
>
>
>
> graphcon.o: graphcon.F
>
> $(FC) -c $(FCFLAGS2) $<
>
> mao_methods.o: mao_methods.F
>
> $(FC) -c $(FCFLAGS2) $<
>
>
> -----
>
>
> Do you have any thoughts on where the issue might be?
>
>
> Would it be better if I gave up on the intel compiler for now and switched
> to trying to compile with gcc?
>
>
> I really appreciate your response.
>
>
> Thanks,
>
> Zeke
>
>
> On Thursday, March 22, 2018 at 11:40:25 AM UTC-5, Nico Holmberg wrote:
>>
>> Hi,
>>
>> Which version of the Intel compiler suite/MKL are you using? Only version
>> 17.0.4 20170411 currently works without issues, see
>> https://www.cp2k.org/dev:compiler_support and earlier discussions on the
>> Google groups forum.
>>
>> I am no expert on Intel compiling but I think there are some issues with
>> the arch-file, compare yours e.g. with this one
>> https://sourceforge.net/p/cp2k/code/18346/tree//trunk/cp2k/arch/Linux-x86-64-intel.popt
>> from the CP2K repository. For instance, I don't think the -D__FFTMKL
>> flag exists (?), use -D__MKL for MKL linear algebra/FFT. Also, setting
>> -fp-model precise to FCFLAGS might help.
>>
>> The error/note you mentioned is harmless.
>>
>> - Nico
>>
>>
>>
>> torstai 22. maaliskuuta 2018 16.20.54 UTC+2 Zeke P kirjoitti:
>>>
>>> Hello,
>>>
>>> I have been trying to work with our cluster support people here to
>>> install CP2K with intel compilers and I have been having difficulty getting
>>> an executable that passes the regtest.
>>>
>>> Here are the regtest results I am getting:
>>>
>>> -----
>>>
>>> Summary of the regression tester run from 2018-03-21_17-21-50 using
>>> Linux-x86-64-intel-ku popt
>>>
>>> Number of FAILED tests 165
>>>
>>> Number of WRONG tests 1003
>>>
>>> Number of CORRECT tests 1524
>>>
>>> Number of NEW tests 10
>>>
>>> Total number of tests 2702
>>>
>>>
>>> -----
>>>
>>>
>>> We have compiled CP2K/5.1 using the following arch makefile (created by
>>> our cluster support)
>>>
>>>
>>> -----
>>>
>>>
>>> INTEL_INC = $(MKL_ROOT)/include/fftw
>>>
>>> INTEL_LIB = $(MKL_ROOT)/lib/intel64
>>>
>>> CC = mpiicc
>>>
>>> FC = mpiifort
>>>
>>> LD = mpiifort
>>>
>>> AR = xiar -r
>>>
>>> DFLAGS = -D__INTEL -D__FFTSG -D__FFTW3 -D__FFTMKL -D__parallel -D__BLACS
>>> -D__SCALAPACK
>>>
>>> CPPFLAGS = -C -traditional $(DFLAGS) -I$(INTEL_INC)
>>>
>>> FCFLAGS = $(DFLAGS) -I$(INTEL_INC) -O2 -xHost -heap-arrays 64 -fpp -free
>>> -unroll -pc 64 -convert big_endian -nofor_main
>>>
>>> LDFLAGS = $(FCFLAGS)
>>>
>>> LIBS = -L$(INTEL_LIB) -lmkl_intel_lp64 -lmkl_sequential -lmkl_core
>>> -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64
>>>
>>> OBJECTS_ARCHITECTURE = machine_intel.o
>>>
>>>
>>> -----
>>>
>>>
>>> That being said - we aren't having much success. During compilation we
>>> are getting remark 8291 which states "Recommended relationship between
>>> field width 'W' and the number of fractional digits 'D' in this edit
>>> descriptor is 'W>=D+7'." Could this be causing the problem? I am
>>> attaching the error summary output by the regtest in case that would help.
>>>
>>>
>>> I would appreciate any suggestions you may have - it is very likely that
>>> we are missing something stupid that is causing the compilation trouble.
>>>
>>>
>>> Thanks so much,
>>>
>>> Zeke Piskulich
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20180326/07f7a6ad/attachment.htm>
More information about the CP2K-user
mailing list