About compiling cp2k
nadler
rod... at gmx.ch
Tue Apr 17 09:48:40 UTC 2012
Hi Phil,
Try to reduce the optimization flags, this helped me to get rid of the
segmentation faults with earlier versions of ifort. Start with -O0 and if
the error disappears, try -O2 which should be enough. Then also, if you use
the arch file as you've posted it you should move the part
MKL = /usr/local/intel/composer_xe_2011_sp1.9.293/mkl
MKL_INC = $(MKL)/include/fftw
MKL_LIB = $(MKL)/lib/intel64
INTEL_MKL_LIB=$(HOME)/cp2k/fftw3xf
to the top of the file. Otherwise -I$(MKL_INC) has nothing to include.
With the new Intel compilers the FFTW is now contained in the MKL library
directly and there is no need to build the wrapper:
http://software.intel.com/en-us/articles/build-cp2k-using-intel-fortran-compiler-professional-edition/
I hope this helps.
Regards,
Roger
On Monday, April 16, 2012 9:27:47 PM UTC+2, Phil Song wrote:
>
> Hi, all:
>
> I am trying to compile cp2k serial version with the newest intel
> fortran compiler (64 Compiler XE Version 12.1.3.293 Build 20120212).
> And I have used a config file (attached later) for compiling, where I
> have compiled the fftw3 that comes with the intel MKL library and put
> it on $(HOME)/cp2k/fftw3xf for linking (because I am not the
> administrator of the cluster). Both the compiling and linking went
> smoothly.
>
> However, when I tried to run one of the test example in the cp2k/tests/
> QS directory. The program crashed in the middle of the run after
> display "QUICKSTEP" with a segmentation fault (SIGSEGV). I have tried
> to open up a debugger to see what happened and I have found that the
> segmentation fault was originated from the following stack:
>
> ===========================================================================
>
> #0 0x00007f575fcfb985 in mkl_blas_dgemm_mscale () in /usr/local/intel/
> composer_xe_2011_sp1.9.293/mkl/lib/intel64/libmkl_mc3.so
> #1 0x00007f576245b9a5 in mkl_blas_dgemm_mscale () in /usr/local/intel/
> composer_xe_2011_sp1.9.293/mkl/lib/intel64/libmkl_core.so
> #2 0x00007f575ffa5313 in mkl_blas_xdgemm () in /usr/local/intel/
> composer_xe_2011_sp1.9.293/mkl/lib/intel64/libmkl_mc3.so
> #3 0x00007f576245d369 in mkl_blas_xdgemm () in /usr/local/intel/
> composer_xe_2011_sp1.9.293/mkl/lib/intel64/libmkl_core.so
> #4 0x00007f5763485dff in mkl_blas_dgemm () in /usr/local/intel/
> composer_xe_2011_sp1.9.293/mkl/lib/intel64/libmkl_sequential.so
> #5 0x00007f5763bbf11b in dgemm () in /usr/local/intel/
> composer_xe_2011_sp1.9.293/mkl/lib/intel64/libmkl_intel_ilp64.so
> #6 0x0000000000ecdb8a in basis_set_types_mp_init_orb_basis_set_ ()
> in /home/ysong/cp2k/cp2k-2.2/exe/Linux-x86-64-intel/cp2k.sopt
> #7 0x0000000000eaf716 in atomic_kind_types_mp_init_atomic_kind_set_
> () in /home/ysong/cp2k/cp2k-2.2/exe/Linux-x86-64-intel/cp2k.sopt
> #8 0x0000000001629043 in qs_environment_mp_qs_init_subsys_ () in /
> home/ysong/cp2k/cp2k-2.2/exe/Linux-x86-64-intel/cp2k.sopt
> #9 0x000000000163023f in qs_environment_mp_qs_init_ () in /home/ysong/
> cp2k/cp2k-2.2/exe/Linux-x86-64-intel/cp2k.sopt
> #10 0x000000000085b35c in qs_main_mp_quickstep_create_force_env_ ()
> in /home/ysong/cp2k/cp2k-2.2/exe/Linux-x86-64-intel/cp2k.sopt
> #11 0x0000000000465341 in f77_interface_mp_create_force_env_ () in /
> home/ysong/cp2k/cp2k-2.2/exe/Linux-x86-64-intel/cp2k.sopt
> #12 0x000000000040bc8a in cp2k_runs_mp_cp2k_run_ () in /home/ysong/
> cp2k/cp2k-2.2/exe/Linux-x86-64-intel/cp2k.sopt
> #13 0x000000000040ae44 in cp2k_runs_mp_run_input_ () in /home/ysong/
> cp2k/cp2k-2.2/exe/Linux-x86-64-intel/cp2k.sopt
> #14 0x0000000000407a06 in MAIN__ () in /home/ysong/cp2k/cp2k-2.2/exe/
> Linux-x86-64-intel/cp2k.sopt
> ===========================================================================
>
>
> I was trying to further debug the cp2k source code to figure out where
> the problems came from. But it seemed that the parameters passed to
> basis_set_types_mp_init_orb_basis_set seemed all right. Therefore, I
> am very confused. Could this be a problem with the newest MKL, which I
> think is unlikely? Or could this be a bug in the cp2k source? Or could
> I did not compile and link the program correctly?
>
> I have spent quite a long time look at this and still could not solve
> it. I hope someone can help me with this and any suggestion will be
> greatly appreciated.
>
> Thanks a lot!
>
> Best,
> Phil Song
>
> The machine that I have used to compile cp2k is equipped with a quad
> core i7 920.
>
> The config file Linux-x86-64-intel.sopt for compilation is attached as
> follow.
>
> ===========================================================================
>
> CC = icc
> CPP =
> FC = ifort
> LD = ifort
> AR = xiar -r
> DFLAGS = -D__INTEL -D__FFTSG -D__FFTW3 -D__FFTMKL
> CPPFLAGS = -C -traditional $(DFLAGS) -I$(MKL_INC)
> FCFLAGS = $(DFLAGS) -I$(MKL_INC) -O3 -xHost -heap-arrays 64 -fpp -
> free
> FCFLAGS2 = $(DFLAGS) -I$(MKL_INC) -O1 -xHost -heap-arrays 64 -fpp -
> free
> LDFLAGS = $(FCFLAGS)
>
> MKL = /usr/local/intel/composer_xe_2011_sp1.9.293/mkl
> MKL_INC = $(MKL)/include/fftw
> MKL_LIB = $(MKL)/lib/intel64
>
> INTEL_MKL_LIB=$(HOME)/cp2k/fftw3xf
>
> LIBS = -L$(MKL_LIB) -L$(INTEL_MKL_LIB) \
> -lfftw3xf_intel \
> -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -lm
>
> OBJECTS_ARCHITECTURE = machine_intel.o
>
> graphcon.o: graphcon.F
> $(FC) -c $(FCFLAGS2) $<
>
> qs_vxc_atom.o: qs_vxc_atom.F
> $(FC) -c $(FCFLAGS2) $<
> ===========================================================================
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20120417/d2096654/attachment.htm>
More information about the CP2K-user
mailing list