Some problem during compiling cp2k-4.1 using intel compiler
Tianshu Jiang in Beijing
jts2t... at gmail.com
Sat Apr 14 12:17:18 UTC 2018
Thanks Alfio, it works!
在 2018年4月12日星期四 UTC+8下午4:26:46,Alfio Lazzaro写道:
>
> The error message is that you cannot link to BLAS.
> My first question is that you are using ACML, which has a BLAS
> implementation, and then you are linking to librefblas.a?
> I tried your arch file on my local CP2K installation.
> I have removed ACML and reordered the library in the linking. Note that I
> did a change in scalapack and lapack (in my case, I have installed
> lapack through scalapack).
>
> CC = gcc
> CPP =
> FC = mpif90
> LD = mpif90
> AR = ar -r
>
> FFTW_INC =
> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/fftw-3.3.4/include
> FFTW_LIB =
> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/fftw-3.3.4/lib
> LIBINT_INC =
> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/libint-1.1.4/include
> LIBINT_LIB =
> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/libint-1.1.4/lib
> LIBXC_INC =
> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/libxc-2.2.2/include
> LIBXC_LIB =
> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/libxc-2.2.2/lib
> SCALAPACK_LIB =
> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/scalapack-2.0.2/
>
> DFLAGS = -D__FFTW3 -D__LIBINT -D__LIBXC2 -D__MPI_VERSION=2\
> -D__LIBINT_MAX_AM=7 -D__LIBDERIV_MAX_AM1=6 -D__MAX_CONTR=4\
> -D__parallel -D__SCALAPACK
> CPPFLAGS =
> FCFLAGS = $(DFLAGS) -O2 -ffast-math -ffree-form
> -ffree-line-length-none\
> -fopenmp -ftree-vectorize -funroll-loops\
> -mtune=native
> FCFLAGS += -I$(FFTW_INC) -I$(LIBINT_INC) -I$(LIBXC_INC)
> LDFLAGS = $(FCFLAGS) -dynamic-libgfortran
> LIBS = -L$(FFTW_LIB) -lfftw3 -lfftw3_omp
> LIBS += -L$(LIBINT_LIB) -lderiv -lint
> LIBS += -L$(LIBXC_LIB) -lxcf03 -lxc
> LIBS += -L$(SCALAPACK_LIB) -lscalapack -lreflapack -lrefblas
>
> Could you try if it links in your case?
> It is definitely a problem with the library linking, so you have to check
> there...
>
> I hope it helps to solve your problem.
>
> Alfio
>
>
>
>
>
>
> Il giorno mercoledì 11 aprile 2018 15:35:56 UTC+2, Tianshu Jiang in
> Beijing ha scritto:
>>
>> Hi Alfio,
>> Sorry to bother you again. After I changed my arch file. The original
>> error disappear. But there exists some new error.
>>
>> /share/home/tshjiang/cp2k-4.1/lib/Linux-x86-64-gfortran/psmp/libdbcsrmm.a(dbcsr_mm_hostdrv.o):
>> In function `__dbcsr_mm_hostdrv_MOD_blas_process_mm_stack_s':
>> dbcsr_mm_hostdrv.F:(.text+0xc2): undefined reference to `sgemm_'
>> dbcsr_mm_hostdrv.F:(.text+0x14e): undefined reference to `sgemm_'
>> dbcsr_mm_hostdrv.F:(.text+0x1cd): undefined reference to `sgemm_'
>> dbcsr_mm_hostdrv.F:(.text+0x246): undefined reference to `sgemm_'
>> /share/home/tshjiang/cp2k-4.1/lib/Linux-x86-64-gfortran/psmp/libdbcsrmm.a(dbcsr_mm_hostdrv.o):
>> In function `__dbcsr_mm_hostdrv_MOD_blas_process_mm_stack_d':
>> dbcsr_mm_hostdrv.F:(.text+0x332): undefined reference to `dgemm_'
>> dbcsr_mm_hostdrv.F:(.text+0x3be): undefined reference to `dgemm_'
>> dbcsr_mm_hostdrv.F:(.text+0x43d): undefined reference to `dgemm_'
>> dbcsr_mm_hostdrv.F:(.text+0x4b6): undefined reference to `dgemm_'
>> /share/home/tshjiang/cp2k-4.1/lib/Linux-x86-64-gfortran/psmp/libdbcsrmm.a(dbcsr_mm_hostdrv.o):
>> In function `__dbcsr_mm_hostdrv_MOD_blas_process_mm_stack_c':
>> dbcsr_mm_hostdrv.F:(.text+0x5a2): undefined reference to `cgemm_'
>> dbcsr_mm_hostdrv.F:(.text+0x62e): undefined reference to `cgemm_'
>> dbcsr_mm_hostdrv.F:(.text+0x6ad): undefined reference to `cgemm_'
>> dbcsr_mm_hostdrv.F:(.text+0x726): undefined reference to `cgemm_'
>>
>> But I have no idea why there exist such error.
>> The arch file is here
>>
>> CC = gcc
>> CPP =
>> FC = mpif90
>> LD = mpif90
>> AR = ar -r
>> ACML_INC =
>> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/acml-5.3.1/gfortran64/include
>> ACML_LIB =
>> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/acml-5.3.1/gfortran64/lib
>> FFTW_INC =
>> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/fftw-3.3.4/include
>> FFTW_LIB =
>> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/fftw-3.3.4/lib
>> LIBINT_INC =
>> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/libint-1.1.4/include
>> LIBINT_LIB =
>> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/libint-1.1.4/lib
>> LIBXC_INC =
>> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/libxc-2.2.2/include
>> LIBXC_LIB =
>> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/libxc-2.2.2/lib
>> DFLAGS = -D__FFTW3 -D__LIBINT -D__LIBXC2 -D__MPI_VERSION=2\
>> -D__LIBINT_MAX_AM=7 -D__LIBDERIV_MAX_AM1=6 -D__MAX_CONTR=4\
>> -D__parallel -D__SCALAPACK
>> CPPFLAGS =
>> FCFLAGS = $(DFLAGS) -O2 -ffast-math -ffree-form
>> -ffree-line-length-none\
>> -fopenmp -ftree-vectorize -funroll-loops\
>> -mtune=native\
>> -I$(ACML_INC) -I$(FFTW_INC) -I$(LIBINT_INC) -I$(LIBXC_INC)
>> LDFLAGS = $(FCFLAGS) -dynamic-libgfortran
>> LIBS =
>> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/scalapack-2.0.2/libscalapack.a\
>>
>> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/acml-5.3.1/gfortran64/lib/libacml.a\
>>
>> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/lapack-3.5.0/liblapack.a\
>>
>> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/lapack-3.5.0/librefblas.a\
>> $(FFTW_LIB)/libfftw3.a\
>> $(FFTW_LIB)/libfftw3_threads.a\
>> $(LIBXC_LIB)/libxcf90.a\
>> $(LIBXC_LIB)/libxc.a\
>> $(LIBINT_LIB)/libderiv.a\
>> $(LIBINT_LIB)/libint.a
>>
>>
>>
>> 在 2018年4月7日星期六 UTC+8下午2:06:17,Alfio Lazzaro写道:
>>>
>>> Note that Intel 17.0.1 is not supported (see
>>> https://www.cp2k.org/dev:compiler_support ). Make sure that your CP2K
>>> installation goes through the regtest (
>>> https://www.cp2k.org/dev:regtesting ).
>>>
>>> Alfio
>>>
>>>
>>>
>>> Il giorno venerdì 6 aprile 2018 14:11:57 UTC+2, Tianshu Jiang in Beijing
>>> ha scritto:
>>>>
>>>> Dear all,
>>>>
>>>> I have been compiling cp2k-4.1 using intel compiler for several days
>>>> but there is always problems.
>>>> I edit both Linux-x86-64-gfortran.psmp and Linux-x86-64-intel-mic.psmp
>>>> file according to the tutorial searched from the internet.
>>>> But in my latest trial, the beginning is OK, then the error emerge.
>>>> The compiling environment is on our cluster, the version of Intel
>>>> compiler is 17.0.1, libint 1.1.4 and libxc 2.2.2.
>>>> The error information is as follows
>>>>
>>>>
>>>> mpiifort -c -D__MKL -D__FFTW3 -D__LIBINT -D__LIBXC2 -D__MPI_VERSION=3 -
>>>> D__LIBINT_MAX_AM=7 -D__LIBDERIV_MAX_AM1=6 -D__MAX_CONTR=4 -D__parallel
>>>> -D__SCALAPACK -O2 -g -traceback -fpp -free -I/soft/intel_2017/
>>>> compilers_and_libraries_2017/linux/mkl/include -I/soft/intel_2017/
>>>> compilers_and_libraries_2017/linux/mkl/include/fftw -I/share/home/
>>>> tshjiang/intel_cp2k/tools/toolchain/install/libint-1.1.4/include -I/
>>>> share/home/tshjiang/intel_cp2k/tools/toolchain/install/libxc-2.2.2/include
>>>> -D__COMPILE_ARCH="\"Linux-x86-64-gfortran\"" -D__COMPILE_DATE="\"Fri
>>>> Apr 6 19:45:36 CST 2018\"" -D__COMPILE_HOST="\"ln02\"" -
>>>> D__COMPILE_REVISION="\"svn:17462\"" -D__DATA_DIR=
>>>> "\"/share/home/tshjiang/intel_cp2k/data\"" -D__SHORT_FILE__=
>>>> "\"eri_mme/eri_mme_lattice_summation.F\"" /share/home/tshjiang/
>>>> intel_cp2k/src/eri_mme/eri_mme_lattice_summation.F
>>>> ld: group ended before it began (--help for usage)
>>>> make[3]: *** [/share/home/tshjiang/intel_cp2k/exe/Linux-x86-64-gfortran
>>>> /graph.psmp] Error 1
>>>> make[3]: *** Waiting for unfinished jobs....
>>>> make[2]: *** [all] Error 2
>>>> make[1]: *** [psmp] Error 2
>>>> make: *** [all] Error
>>>>
>>>>
>>>>
>>>> I even can not figure out where is the error. The command of make is:
>>>>
>>>> make -j 8 ARCH=Linux-x86-64-gfortran VERSION=psmp
>>>>
>>>> the arch file looks like
>>>>
>>>> # Tested with: GFortran 4.9.2, MPICH 3.1, LAPACK 3.5.0, ScaLAPACK 2.0.2
>>>> CC = icc
>>>> CPP =
>>>> FC = mpiifort
>>>> LD = mpiifort
>>>> AR = ar -r
>>>>
>>>> LIBINT_INC = /share/home/tshjiang/intel_cp2k/tools/toolchain/install/
>>>> libint-1.1.4/include
>>>>
>>>> LIBINT_LIB = /share/home/tshjiang/intel_cp2k/tools/toolchain/install/
>>>> libint-1.1.4/lib
>>>> LIBXC_INC = /share/home/tshjiang/intel_cp2k/tools/toolchain/install/
>>>> libxc-2.2.2/include
>>>> LIBXC_LIB = /share/home/tshjiang/intel_cp2k/tools/toolchain/install/
>>>> libxc-2.2.2/lib
>>>> DFLAGS = -D__MKL -D__FFTW3 -D__LIBINT -D__LIBXC2 -D__MPI_VERSION=3\
>>>> -D__LIBINT_MAX_AM=7 -D__LIBDERIV_MAX_AM1=6 -D__MAX_CONTR=4
>>>> \
>>>> -D__parallel -D__SCALAPACK
>>>> CFLAGS = $(DFLAGS)
>>>> CPPFLAGS =
>>>> MKLROOT = /soft/intel_2017/compilers_and_libraries_2017/linux/mkl
>>>> FCFLAGS = $(DFLAGS) -O2 -g -traceback -fpp -free \
>>>> -I$(MKLROOT)/include -I$(MKLROOT)/include/fftw -I$(
>>>> LIBINT_INC) -I$(LIBXC_INC)
>>>> FCFLAGS2 = $(DFLAGS) -O0 -g -traceback -fpp -free \
>>>> -I$(MKLROOT)/include -I$(MKLROOT)/include/fftw -I$(
>>>> LIBINT_INC) -I$(LIBXC_INC)
>>>> LDFLAGS = $(FCFLAGS) -static-intel
>>>> LDFLAGS_C = $(FCFLAGS) -static-intel -nofor_main
>>>> LIBS = $(MKLROOT)/lib/intel64/libmkl_scalapack_lp64.a \
>>>> -WI,--start-group $(MKLROOT)/lib/intel64/libmkl_intel_lp64
>>>> .a \
>>>> $(MKLROOT)/lib/intel64/libmkl_sequential.a \
>>>> $(MKLROOT)/lib/intel64/libmkl_core.a \
>>>> $(MKLROOT)/lib/intel64/libmkl_blacs_intelmpi_lp64.a -Wl,--
>>>> end-group \
>>>> -lpthread -lm \
>>>> -L$(LIBXC_LIB) -lxcf90 -lxc \
>>>> $(LIBINT_LIB)/libderiv.a \
>>>> $(LIBINT_LIB)/libint.a -lstdc++
>>>> mp2_optimize_ri_basis.o:mp2_optimize_ri_basis.F
>>>> $(FC) -c $(FCFLAGS2) $<
>>>> hfx_contraction_methods.o:hfx_contraction_methods.F
>>>> $(FC) -c $(FCFLAGS2) $<
>>>>
>>>> Can anyone encounter the similar situation and give some advice.
>>>> I will be appreciated for your suggestion.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20180414/05c0bc81/attachment.htm>
More information about the CP2K-user
mailing list