ROOT 6.26/04: Compilation failure related to AVX512 on Ubuntu 14.04

Hello experts,

I am trying to compile ROOT 6.26/04 on ubuntu14.04. I am running into a issue with compiling root/roofit/batchcompute code. The compiler throws out a bunch of invalid register operand errors that lists avx512 related instructions. I am able to circumvent this and compile successfully by going into root/roofit/batchcompute/CMakeLists.txt and commenting the following lines:

  # AVX512 is only supported in gcc 6+
  # We focus on AVX512 capable processors that support at least the skylake-avx512 instruction sets.
    ROOT_LINKER_LIBRARY(RooBatchCompute_AVX512  src/RooBatchCompute.cxx src/ComputeFunctions.cxx TYPE SHARED DEPENDENCIES RooBatchCompute)
    target_compile_options(RooBatchCompute_AVX512  PRIVATE ${common-flags} -march=skylake-avx512 -DRF_ARCH=AVX512)

Is this the correct way to address the problem? What else can be done without altering the source code?


ROOT Version: 6.26/04
Platform: Ubuntu 14.04
Compiler: GCC 11.3.0, C++17

Welcome to the ROOT Forum! And yes, I think it’s the only way to address the issue

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.