libxsmm MNK, SSE and other inconsistencies

Alfio Lazzaro alfio.... at gmail.com
Sat Jan 16 13:41:21 UTC 2016


Hi Johannes,
the MNK values are not the same, libxsmm produces less kernels (probably 
related to specific benchmarks used by libxsmm developers). I cannot speak 
about LIBXSMM (you should ask in their git forum), however I would suggest 
to use what is in the toolchain for MNK, which is the most general case for 
CP2K kernels. Concerning the other parameters, depending on your system, I 
would suggest to change SSE in AVX=1 (sandybridge/ivydridge) or 2 
(haswell/broadwell) (AVX=3 is Intel KNL, so it doesn't not exist yet).

Alfio




Il giorno venerdì 15 gennaio 2016 16:33:11 UTC+1, Johannes Wagner ha 
scritto:
>
> hey all,
> I have a question regarding installing libxsmm. If downloaded from git (
> https://github.com/hfp/libxsmm/archive/1.1.1.tar.gz), the make.sh file 
> includes an -cp2k flag that sets MNK options to:
>
>  MNK=" \
>
>     23, \
>
>     6, \
>
>     14 16 29, \
>
>     14 32 29, \
>
>     5 32 13 24 26, \
>
>     9 32 22, \
>
>     64, \
>
>     78, \
>
>     16 29 55, \
>
>     32 29 55, \
>
>     12, \
>
>     4 5 7 9 13 25 26 28 32 45"
>
>
> along with 
>
> ALIGNED_LOADS=1 ALIGNED_STORES=1 PRECISION=2 SYM=1 SSE=3
>
>
> but the cp2k source's toolchain installer sets it to 
>
>
> MNK="1 4 5 6 8 9 13 16 17 22 23 24 26 32"
>
>
> along with
>
> SSE=1 JIT=1 PREFETCH=1
>
>
> Now why is this inconsistent? Which is the "correct" MNK options, or does 
> the former comprise all cases from the latter? And the option SSE=3 doesn't 
> even exist according to the Makefile.inc. Only SSE=1 or AVX=1|2|3 (which at 
> least is sort of what the libxsmm.pdf in the libxsmm documentation folder 
> says).
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20160116/ee193c3f/attachment.htm>


More information about the CP2K-user mailing list