[CP2K:9178] Re: LIBXSMM (cp2kflags?)

Dominik 'Rathann' Mierzejewski rat... at gmail.com
Fri Jun 30 08:37:11 UTC 2017

Hello, Hans.

On Friday, 30 June 2017 at 10:29, Hans Pabst wrote:
> Hello Dominik,
> I just wanted to add to Nico's nice explanation, and give some details 
> about what the various libraries are meant for:
>    - *libxsmm*: LIBXSMM's main library, and typically sufficient to link 
>    with. *CP2K+LIBXSMM needs to link against libxsmm.a*.
>    - *libxsmmf*: only needed for FORTRAN code, which uses the libxsmm.mod 
>    file. *CP2K+LIBXSMM needs to link against libxsmmf.a*.
>    - libxsmmext: contains functions with internal OpenMP-based threading. 
>    CP2K+LIBXSMM uses OpenMP-threads by itself (xSMP builds), and there is *no 
>    need* to link against libxsmmext.a.
>    - libxsmmgen: contains LIBXSMM's code generator (backend), and the 
>    library can be used if only the low-level code generator is used. This 
>    library is also used to organize LIBXSMM's code, and is actually contained 
>    by libxsmm.a. There is *no need* for CP2K+LIBXSMM to link against 
>    libxsmmgen.a.
>    - libxsmmnoblas: dummy library to deliver BLAS symbols if it is certain 
>    that LIBXSMM does not fallback to BLAS. CP2K+LIBXSMM should not link 
>    against libxsmmnoblas.a, and there is *no need*.

Thank you!

That's an excellent explanation and very useful to packagers.
Could you have it added to CP2K documentation?


Fedora http://fedoraproject.org/wiki/User:Rathann
RPMFusion http://rpmfusion.org
"Faith manages."
        -- Delenn to Lennier in Babylon 5:"Confessions and Lamentations"

More information about the CP2K-user mailing list