[CP2K-user] [CP2K:11555] WAS: intel gnu toolchain fails NOW: OMP problem with intel toolchain

Hans Pabst hf.... at gmail.com
Tue May 21 12:13:55 UTC 2019


In addition, the latest ARCH files avoid this problem even if IPO/LTO is 
enabled. Please note that LTO is enabled by default when using the GNU 
toolchain. Apparently, LTO is not as exercised as the regular build/link 
flow and there are occassionally issues related to LTO when building 
complex applications.



Am Dienstag, 21. Mai 2019 13:53:40 UTC+2 schrieb Hans Pabst:
>
> This issue occassionally happens depending on the toolchain. It may have 
> something to do with the version of Bintools. The problem can be avoided 
> with adding IPO=0 to the make-command (no edit of the Make/Arch file 
> needed).
>
> Am Freitag, 12. April 2019 15:53:36 UTC+2 schrieb Ronald Cohen:
>>
>> I got the code to build with the following change to the arch file:
>>
>>     ifneq (0,$(IPO))
>>       OPTFLAGS += -flto -Wl,-flto -Wno-lto-type-mismatch
>>     else
>>       OPTFLAGS += -fno-lto -Wl,-fno-lto -Wno-lto-type-mismatch
>>     endif
>>
>> However, now a new problem, with gcc6.3 and with 8.2 and 8.3:
>>
>>   /   
>> \                                                                      *
>>  * 
>> [ABORT]                                                                     
>> *
>>  *  \___/                        Thread number has 
>> changed                     *
>>  *    
>> |                                                                        *
>>  *  
>> O/|                                                                        *
>>  * /| 
>> |                                                                        *
>>  * / \                                                
>> dbcsr_dist_methods.F:519 *
>>
>>  *******************************************************************************
>>
>>
>>  ===== Routine Calling Stack ===== 
>>
>>            10 dbcsr_create_new
>>             9 build_overlap_matrix
>>             8 build_core_hamiltonian_matrix
>>             7 qs_energies_init_hamiltonians
>>             6 qs_energies
>>             5 qs_forces
>>             4 cp_eval_at
>>             3 geoopt_bfgs
>>             2 cp_geo_opt
>>             1 CP2K
>> For some reason it works tith the gnu toolchainj but always have this 
>> problem with gnu compilers but intel toolchain.
>> It seems like OMP_GET_NUM_THREADS()
>> always reports 1 thread though there are 4.
>>
>> Ron
>>
>>
>>
>>
>> On Monday, April 8, 2019 at 5:38:41 PM UTC-4, Ronald Cohen wrote:
>>>
>>> Thank you, but to be clear I am using gnu compilers, as called by the 
>>> intel distribution, using the intel tool chain with GNU=1. I am properly 
>>> sourcing the intel variable scripts and the correct compilers are being 
>>> used. Still I get the reported error. Thanks,
>>>
>>> Ron 
>>>
>>> Sent from my iPhone
>>>
>>> On Apr 8, 2019, at 17:14, Mohammad Shakiba wrote:
>>>
>>> Dear Ronald,
>>>
>>> I had problems with compiling CP2K with intel compilers too. I want to 
>>> share my experience about compiling CP2K with intel. Some of them works 
>>> properly and some not. The recommended versions are included in the 
>>> following links:
>>>
>>> https://www.cp2k.org/dev:compiler_support
>>>
>>> https://xconfigure.readthedocs.io/en/latest/cp2k/
>>>
>>> Use the links above which are good for compiling locally on clusters. 
>>> First, you're gonna have to recompile libxsmm yourself in the $HOME 
>>> directory (use the link in xconfigure and the rest). Then based on your CPU 
>>> (type 'lscpu' to find out what kind of cpu you got, for example I have 
>>> Xeon-E5-v4) you have to source to the intel compiler:
>>>
>>> source 
>>> /opt/intel/compilers_and_libraries_yourversion/linux/bin/compilervas.sh 
>>> intel64
>>>
>>> Always source to intel compiler like above before using CP2K. You can 
>>> check that by typing for example 'mpirun --version'. Also, check if your 
>>> CP2K version pass the regtests, for example it compiles with intel 17.0.1 
>>> but with wrong answers.
>>>
>>> Hope you find it useful.
>>>
>>>
>>> On Monday, April 8, 2019 at 6:27:05 PM UTC+4:30, Ronald Cohen wrote:
>>>>
>>>> I am trying to use the intel gnu toolchain on my KNL cluster using GNU, 
>>>> and it always faiuls for every version of the intel suite I can find with 
>>>> the following:
>>>>
>>>>
>>>> make   ARCH=Linux-x86-64-intelx ELPAROOT=/home/rcohen/gnu/gcc6.3/  
>>>> AVX=3 OMP=1 GNU=1 MKL=2 MIC=1 VERSION=psmp
>>>>
>>>> to1: fatal error: multiple prevailing defs for 
>>>> ?libxsmm_gemm_auto_prefetch_default?
>>>> compilation terminated.
>>>> lto-wrapper: fatal error: gfortran returned 1 exit status
>>>> compilation terminated.
>>>> /usr/bin/ld: error: lto-wrapper failed
>>>> collect2: error: ld returned 1 exit status
>>>> /home/rcohen/CP2K/cp2k/obj/Linux-x86-64-intelx/psmp/all.dep:86: recipe 
>>>> for target '/home/rcohen/CP2K/cp2k/exe/Linux-x86-64-intelx/graph.psmp' 
>>>> failed
>>>> make[3]: *** 
>>>> [/home/rcohen/CP2K/cp2k/exe/Linux-x86-64-intelx/graph.psmp] Error 1
>>>> make[3]: *** Waiting for unfinished jobs....
>>>>
>>>>
>>>> I cannot find a fix for the "multiple prevaiing ..." or that anyone 
>>>> else has reported it. Any help is appreciated.
>>>>
>>>> The gnu toolchain built find, but without elpa or mkl. I was trying to 
>>>> add in elpa and mkl.
>>>>
>>>> Ron Cohen
>>>>
>>>>
>>>> -- 
>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20190521/cd6e9197/attachment.htm>


More information about the CP2K-user mailing list