Hi,

Thanks for this information.

I can obviously add the patches to my local copy of the EasyConfig, but
is that the right way forward?  Do some of these changes belong in the
EasyBlock for CP2K?  Not having much experience with CP2K I am somewhat
out of my depth here.

I also wonder what the best way to deal with variants, such as 'psmp',
is.  It seems like having an EasyConfig for each variant would lead to
quite a bit of "module clutter", which is why I went for setting the
type in a local hook.  Would it be reasonable just to build all the
variants by default (and maybe suppress unwanted variants via a hook).
Are there other programs which have analogous variants for which a
general approach in EasyBuild has already been developed?

Cheers,

Loris

Thomas Mueller <th.muel...@fz-juelich.de> writes:

> On Tue, 5 Oct 2021, Strube, Alexandre wrote:
>
>   Hi,
>
>  actually, I have not much of a clue what this CP2K-7.1-foss-2020b.eb/cp2k.py
> are specifically referring to
>  combined with a pretty meaningless error message.
>  Anyway, Alain is probably right that the DFLAGS are incorrectly
>  set in this CP2K-7.1-foss-2020b.eb/cp2k.py .
>
>  But a few remarks might by in place:
>
>   *  it is fairly useless to automatically add values to the DFLAGS
>      (cp2k.py), if these values are never referenced (D__FFTMKL,
>      -D__BLACS -D__FFTSG).
>      They occasionally change and are not fixed for ethernity.
>
>   *  the correct DFLAGS are
>      DFLAGS =  -D__parallel  -D__SCALAPACK  -D__LIBXSMM
>      -D__LIBINT -D__LIBXC -D__INTEL -D__FFTW3 -D__PLUMED2 -D__ELPA=202011
>
>      if linked to libint, libxc, libxsmm , mkl (with fftw3), plumed and
>      elpa and scalapack; __MKL is defined via mkl.
>
>   *  you need to apply the attached patch, otherwise
>      you might end up in a runtime error.
>
>   * Finally, dbcsr is no longer integrated into cp2k.
>     Hence, one has to make sure that it is copied into the
>     correct directory and patch defaults in the local
>     dbcsr makefile (for 2.1.0 it is attached).
>
>
>  Best,
>
>  Thomas
>
>
>> Our local CP2K expert, Dr. Thomas Müller, has a number of remonstrances 
>> about easybuild’s cp2k build- Perhaps it would be
>> interesting if he join the discussion, so I’m CC’ing him.
>>
>>       On 5. Oct 2021, at 09:32, Alan O'Cais <a.oc...@fz-juelich.de> wrote:
>>
>> I think Åke is right from looking at 
>> https://groups.google.com/g/cp2k/c/H7K8vR3vEto . You probably need that flag 
>> to
>> trigger the linking to the fftw3_threads library.
>>
>> On Tue, 5 Oct 2021 at 09:16, Åke Sandgren <ake.sandg...@hpc2n.umu.se> wrote:
>>       You do know that there is a CP2K-7.1-foss-2020b-psmp.eb available 
>> already?
>>
>>       that one also have toolchainopts openmp=true
>>
>>       On 10/5/21 8:58 AM, Loris Bennett wrote:
>>       > Hi,
>>       >
>>       > I am trying to build CP2K 7.1 via
>>       >
>>       >   CP2K-7.1-foss-2020b.eb
>>       >
>>       > whereby we use the following in a hook
>>       >
>>       >     # Build PSMP variant of CP2K 
>>       >     ##################################################
>>       >
>>       >     if self.name == 'CP2K':
>>       >         self.cfg['type'] = 'psmp'
>>       >         self.log.info("[pre-configure hook] Added type =\"=psmp\"")
>>       >         return
>>       >
>>       > I get the following error:
>>       >
>>       >  
>> /trinity/shared/easybuild/build/CP2K/7.1/foss-2020b/cp2k-7.1/lib/Linux-x86-64-foss/psmp/libcp2kfft.a(fftw3_lib.o):fftw3_lib.F90
>>       :function __fftw3_lib_MOD_fftw3_create_plan_3d: error: undefined 
>> reference to 'dfftw_plan_with_nthreads_'
>>       >
>>       > Any ideas what might be causing this?
>>       >
>>       > Cheers,
>>       >
>>       > Loris
>>       >
>>
>>       --
>>       Ake Sandgren, HPC2N, Umea University, S-90187 Umea, Sweden
>>       Internet: a...@hpc2n.umu.se   Phone: +46 90 7866134 Fax: +46 90-580 14
>>       Mobile: +46 70 7716134 WWW: http://www.hpc2n.umu.se
>>
>>
>>
>> --
>> Dr. Alan O'Cais
>> E-CAM Software Manager
>> Juelich Supercomputing Centre
>> Forschungszentrum Juelich GmbH
>> 52425 Juelich, Germany
>>
>> Phone: +49 2461 61 5213
>> Fax: +49 2461 61 6656
>> E-mail: a.oc...@fz-juelich.de
>> WWW:    http://www.fz-juelich.de/ias/jsc/EN
>>
>>
>> ------------------------------------------------------------------------------------------------
>> ------------------------------------------------------------------------------------------------
>> Forschungszentrum Juelich GmbH
>> 52425 Juelich
>> Sitz der Gesellschaft: Juelich
>> Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
>> Vorsitzender des Aufsichtsrats: MinDir Volker Rieke
>> Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
>> Karsten Beneke (stellv. Vorsitzender), Dr. Astrid Lambrecht,
>> Prof. Dr. Frauke Melchior
>> ------------------------------------------------------------------------------------------------
>> ------------------------------------------------------------------------------------------------
>>
>>
>>
>>
>
> -----------------------------------------------------------
> Dr. Thomas Mueller
> Institute for Advanced Simulation (IAS)
> Juelich Supercomputing Centre (JSC)
>
> Phone:  +49-2461-61-3175
> Fax:    +49-2461-61-6656
> E-mail: th.muel...@fz-juelich.de
> WWW:    http://www.fz-juelich.de/jsc/
>
> JSC is the coordinator of the
> John von Neumann Institute for Computing (NIC)
> and member of the
> Gauss Centre for Supercomputing (GCS)
> -----------------------------------------------------------
>
> --- src/pw/fft/fftw3_lib.F_orig       2020-01-24 11:26:42.751462151 +0100
> +++ src/pw/fft/fftw3_lib.F    2020-01-24 11:26:08.503738878 +0100
> @@ -119,6 +119,7 @@
>  
>        ! Now check if we have a real FFTW3 library, or are using MKL wrappers
>  
> +#if  defined (__MKL) && defined (__FFTW3)
>  !$    IF (fftw3_is_mkl_wrapper() .and. omp_get_max_threads() .gt. 1) THEN
>  ! If we are not using the Intel compiler, there is no way to tell which
>  ! MKL version is in use, so fail safe...
> @@ -145,6 +146,7 @@
>  !$             "Now exiting..."
>  !$       ENDIF
>  !$    ENDIF
> +#endif
>  #else
>        MARK_USED(wisdom_file)
>  #endif
>
> --- dbcsr-2.1.0/.cp2k/Makefile.orig   2021-08-26 16:02:19.043671326 +0200
> +++ dbcsr-2.1.0/.cp2k/Makefile        2021-08-26 16:06:18.547637870 +0200
> @@ -53,8 +53,7 @@
>  MAKEFILE     := $(DBCSRCP2K)/Makefile
>  LIBDIR       := $(DBCSRHOME)/lib
>  OBJDIR       := $(DBCSRHOME)/obj
> -TOOLSDIR     := $(DBCSRHOME)/tools
> -FYPPEXE      := $(TOOLSDIR)/build_utils/fypp/bin/fypp
> +FYPPEXE      := $(DBCSRHOME)/../../tools/build_utils/fypp
>  SRCDIR       := $(DBCSRHOME)/src
>  TESTSDIR     := $(DBCSRHOME)/tests
>  INCLUDEMAKE  :=
>
-- 
Dr. Loris Bennett (Hr./Mr.)
ZEDAT, Freie Universität Berlin         Email loris.benn...@fu-berlin.de

Reply via email to