cp2k build intel compilers

Alfio Lazzaro alfio.... at gmail.com
Wed Sep 19 22:51:31 CEST 2018


Probably all is too much...
You can use 

-check bounds -check pointers

(see ifort --help for more options).

At this point, I don't have any other suggestion. As a last comment, is 
there any reason why you want to use the intel compiler? CP2K shows good 
performance with GCC too (linking with MKL)...

Il giorno mercoledì 19 settembre 2018 20:46:29 UTC+2, Stanislav Šimko ha 
scritto:
>
> I tried the "-check all -g" flag and I got huge error log that I can not 
> interpret. Do you have any idea what could be going on?
>
> On Wednesday, September 19, 2018 at 8:01:08 PM UTC+2, Alfio Lazzaro wrote:
>>
>> Sorry, just to make sure, are you using the 17.0.4?
>>
>> From your stacktrace:
>>
>> cp2k.popt          000000000D7A6BDD  Unknown               Unknown  
>> Unknown
>> libpthread-2.17.s  00002AD8E6CFB680  Unknown               Unknown  
>> Unknown
>> cp2k.popt          0000000007411331  dbcsr_api_mp_dbcs         795  
>> dbcsr_api.F
>> cp2k.popt          000000000567834C  cp_dbcsr_operatio         944  
>> cp_dbcsr_operations.F
>>
>> It sees to me that this is a bug with some version of the Intel compiler, 
>> namely with Optional Pointer dummy arguments...
>> Second question, have you tried to run the CP2K regtests?
>> One more suggestion: you can use the flags "-check all -g", maybe you can 
>> get a better error message...
>>
>>
>> Il giorno mercoledì 19 settembre 2018 18:05:46 UTC+2, Stanislav Šimko ha 
>> scritto:
>>>
>>> Thank you Alfio for your suggestions. Unfortunately, it is still not 
>>> working - I compiled only support for fftw3, mkl, mpi (and even without 
>>> mpi) and I still get the same error. I tried contacting the system admins 
>>> and I shall see whether they have more luck compiling it. Nevertheless, I'm 
>>> still open to suggestions.
>>>
>>> Thank you.
>>>
>>> On Sunday, September 16, 2018 at 9:32:13 PM UTC+2, Alfio Lazzaro wrote:
>>>>
>>>> Hello  Stanislav,
>>>> I would suggest starting with a minimal CP2K installation, i.e. without 
>>>> any major library, lust MKL (with FFTW) and IntelMPI.
>>>> An arch file would be:
>>>>
>>>> CC       = cc
>>>> CPP      = 
>>>> FC       = mpiifort 
>>>> LD       = mpiifort 
>>>> AR       = ar -r
>>>>
>>>> CPPFLAGS =
>>>> DFLAGS   = -D__MKL -D__FFTW3 -D__parallel \
>>>>    -D__SCALAPACK
>>>> CFLAGS   = $(DFLAGS) 
>>>> MKLROOT = <path to MKL>
>>>> FCFLAGS  = $(DFLAGS) -O2 -g -traceback -fpp -free \
>>>>            -I$(MKLROOT)/include -I$(MKLROOT)/include/fftw
>>>> FCFLAGS2  = $(DFLAGS) -O0 -g -traceback -fpp -free \
>>>>            -I$(MKLROOT)/include -I$(MKLROOT)/include/fftw
>>>> LDFLAGS  = $(FCFLAGS) -static-intel 
>>>> LDFLAGS_C = $(FCFLAGS) -static-intel -nofor_main
>>>> LIBS     = $(MKLROOT)/lib/intel64/libmkl_scalapack_lp64.a \
>>>> -Wl,--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
>>>>
>>>> # Required due to memory leak that occurs if high optimisations are used
>>>> mp2_optimize_ri_basis.o: mp2_optimize_ri_basis.F
>>>> $(FC) -c $(FCFLAGS2) $<
>>>>
>>>> Concerning the compiler, please take a look at this page
>>>>
>>>> https://www.cp2k.org/dev:compiler_support
>>>>
>>>> Intel 17.0.2 is not tested by CP2K people, so I'm not sure if it works. 
>>>> It would be better to use 17.0.4 or 18.0.3. They are both well tested...
>>>> The best would be to run the CP2K regression test.
>>>>
>>>> Assuming that everything works fine, then I would move to include other 
>>>> libraries (libxsmm, ELPA, LIBXC, Libint).
>>>>
>>>> Cheers,
>>>>
>>>> Alfio
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Il giorno domenica 16 settembre 2018 01:33:30 UTC+2, Stanislav Šimko ha 
>>>> scritto:
>>>>>
>>>>> Well, it's unfortunately getting a lot messier. I got cp2k compiled on 
>>>>> 2 machines in the end, but I get bad results. On both machines, I use intel 
>>>>> 17.0.2 compilers. Results on both machines are different (and presumably 
>>>>> wrong) from each other. I also compared results of the input file to 
>>>>> results obtained by an older versions (4.1 compiled with gcc on one 
>>>>> machine, 3.0 compiled with some intel compilers on the second machine; 
>>>>> these two installations gave same results). All energies except the self 
>>>>> energy is different:
>>>>> "coorect"
>>>>>
>>>>>   Overlap energy of the core charge distribution:              
>>>>>  0.00000310201993
>>>>>   Self energy of the core charge distribution:              
>>>>> -1007.31897988265303
>>>>>   Core Hamiltonian energy:                                    
>>>>> 295.26625363987614
>>>>>   Hartree energy:                                            
>>>>>  418.52562360415197
>>>>>   Exchange-correlation energy:                              
>>>>>  -101.48179826891138
>>>>>
>>>>>   Total energy:                                              
>>>>> -395.00889780551631
>>>>>
>>>>>   outer SCF iter =    1 RMS gradient =   0.00E+00 energy =      
>>>>>  -395.0088978055
>>>>>   outer SCF loop converged in   1 iterations or   15 steps
>>>>>
>>>>>
>>>>>  ENERGY| Total FORCE_EVAL ( QS ) energy (a.u.):            
>>>>>  -395.008897805517336
>>>>>
>>>>>
>>>>> wrong output files are attached. I'm now trying to find out how to 
>>>>> test LIBINT, LIBXC, LIBXSMM and ELPA. Haven't had much luck yet.
>>>>>
>>>>> Thank you for any suggestions.
>>>>>
>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20180919/9ba1e7c2/attachment.html>


More information about the CP2K-user mailing list