-
Notifications
You must be signed in to change notification settings - Fork 145
Conference call notes 20171011
Kenneth Hoste edited this page Oct 11, 2017
·
7 revisions
(back to Conference calls)
Notes on the 87th EasyBuild conference call, Wednesday October 11th 2017 (5pm - 5.30pm CEST)
Alphabetical list of attendees (6):
- Damian Alvarez (JSC, Germany)
- Alan O'Cais (JSC, Germany)
- Markus Geimer (JSC, Germany)
- Fotis Georgatos (Illumina, UK)
- Kenneth Hoste (HPC-UGent, Belgium)
- Davide Vanzo (Vanderbilt University)
- update on next EasyBuild release
- enabling vectorisation in GCC
- override architecture flags in easyconfig files
- Q&A
- ETA: EasyBuild v3.4.1 by mid next week
- only a couple of minor things to be taken care of
- Damian: auto-vectoriser is not enabled at -O2 for GCC
- Intel does enable auto-vectoriser at -O2
- no loop vectorisation being done for GCC without asking for it...
- -ftree-vectorize (enabled automatically with -O3)
- currently best option is to include it via --optarch
- not enabled by -march=native
- should we enable it by default?
- important for Skylake, KNL, ... (AVX512)
- or allow site-specific config to always have it enabled
- should there be a toolchain option for it?
- how to test this?
- benchmarks like Prime95?
- https://www.mersenne.org/download/
- Damian has plans to test this...
- configuration option to control/augment compiler flags used by EasyBuild
- --cflags, --cxxflags, --fflags + also --optflags for generic flags
- flags will be compiler-specific, see also how this is handled for --optarch (http://easybuild.readthedocs.io/en/latest/Controlling_compiler_optimization_flags.html#setting-architecture-flags-for-different-compilers-via-optarch-compiler-flags-compiler-flags)
- way to opt-out for specific software packages?
- Damian: equivalent to --optarch for use in easyconfigs?
- use case:
- using KNL builds on Haswell (for example for instrumentation with Score-P, etc.)
- doesn't work if binary was built for KNL (AVX512)
- cfr. check injected by Intel compilers
- Fotis: can we support logic rather than hardcoded values?
- allow passing a Python module that determines arch flags to use
- shouldn't be too hard... (famous last words)
- also ties in with request to support plugins/hooks
- Markus: for reproducibility, the archived easyconfigs should have hardcoded values in them
- first step would be to add support 'optarch' easyconfig parameter anyway?
- another option is to support providing a configuration file to --optarch
- with additional filter for software packages, etc.
- allow passing a Python module that determines arch flags to use
- Markus: for some packages, you'd like to enable arch-specific flags for some binaries, but not for others...
- hard to do without proper support from build procedure used by package
- -axHost vs xHost compiler option
- Damian: results in 'fat' binaries with checks per function
- X11: clean up way autogen.sh is called, avoid conditional?
- see discussion on mailing list, subject "xorg-macros error install"
- Fotis: march target reported by GCC is not sufficient, better way?
- changes between versions...
- self-picked tags like 'sandybridge' may be sufficient?
- Davide: interesting in good ways to 'tag' architectures
- code provided by Fotis:
CPU_FLAGS_LIST="lm sse sse4_2 f16c avx avx2 avx512 avx512f avx512dq avx512cd avx512bw avx512vl eagerfpu epb ida epb fma"
## expand as needed
cpuflags="$(grep ^flags /proc/cpuinfo |uniq|cut -d: -f2-|xargs -n1|sort|comm -1 -2 - <(echo $CPU_FLAGS_LIST|xargs -n1|sort)|xargs|sed 's/ /:/g;s/$/:/g;s/^/:/g')"
march="$(gcc -march=native -Q --help=target | awk 'BEGIN { march="NA" } ; /^\ *-march= / { march= } END { print march }')" ## changes among GCC/4.8 vs 4.9
unset CPU_FLAGS_LIST
- Markus: anyone working on supporting the Clang Fortran compiler?
- not really, other than briefly looking at it...
-
https://github.com/flang-compiler/flang
- separate project for now, under development, aim is to include it in Clang
- PGI Fortran frontend integrated with Clang, code generation done by LLVM backend
- alternative to dragonegg LLVM plugin
- Davide: presentation area at SC17 at Vanderbilt booth, could set up EasyBuild presentations
- also social meetup?
- will contact mailing list