Conference call notes 20171011 - easybuilders/easybuild GitHub Wiki

(back to Conference calls)

Notes on the 87th EasyBuild conference call, Wednesday October 11th 2017 (5pm - 5.30pm CEST)

Attendees

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)

Agenda

  • update on next EasyBuild release
  • enabling vectorisation in GCC
  • override architecture flags in easyconfig files
  • Q&A

Notes

Outlook to next EasyBuild release
Enabling vectorization in GCC
Override architecture flags in easyconfig files
  • 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.
  • 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
Other
  • 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