Installation error on Haswell nodes on Cori at NERSC (failed AVX512 support)

82 views
Skip to first unread message

Stephen DeWitt

unread,
Jul 10, 2019, 9:56:00 AM7/10/19
to deal.II User Group
Hello,
I'm trying to install deal.II on the Haswell nodes on Cori at NERSC using the Intel compiler. I'm using deal.II version 9.0, because support for a few of the function calls I make were dropped in v9.1 and I haven't had a chance to modify the sections of the code. In my CMake command, I'm adding either the -xHASWELL or -xCORE-AVX2 flags to get the right level of vectorization for this architecture (AVX). The CMake output is what I expect:

-- Performing Test DEAL_II_HAVE_SSE2
-- Performing Test DEAL_II_HAVE_SSE2 - Success
-- Performing Test DEAL_II_HAVE_AVX
-- Performing Test DEAL_II_HAVE_AVX - Success
-- Performing Test DEAL_II_HAVE_AVX512
-- Performing Test DEAL_II_HAVE_AVX512 - Failed
-- Performing Test DEAL_II_HAVE_OPENMP_SIMD
-- Performing Test DEAL_II_HAVE_OPENMP_SIMD - Success

However, when I try to compile I get this error:

[ 32%] Built target obj_umfpack_DL_STORE_release
[ 34%] Built target obj_amd_global_release
[ 35%] Built target obj_amd_long_release
[ 36%] Built target obj_amd_int_release
[ 37%] Built target obj_muparser_release
[ 37%] Built target obj_sundials_inst
Scanning dependencies of target obj_sundials_release
[ 37%] Building CXX object source/sundials/CMakeFiles/obj_sundials_release.dir/arkode.cc.o
[ 37%] Building CXX object source/sundials/CMakeFiles/obj_sundials_release.dir/ida.cc.o
[ 37%] Building CXX object source/sundials/CMakeFiles/obj_sundials_release.dir/copy.cc.o
[ 38%] Building CXX object source/sundials/CMakeFiles/obj_sundials_release.dir/kinsol.cc.o
[ 38%] Built target obj_sundials_release
[ 38%] Generating data_out_dof_data.inst

Please verify that both the operating system and the processor support Intel(R) AVX512F, ADX, AVX512ER, AVX512PF and AVX512CD instructions.

source/numerics/CMakeFiles/obj_numerics_inst.dir/build.make:91: recipe for target 'source/numerics/data_out_dof_data.inst' failed
make[2]: *** [source/numerics/data_out_dof_data.inst] Error 1
CMakeFiles/Makefile2:1860: recipe for target 'source/numerics/CMakeFiles/obj_numerics_inst.dir/all' failed
make[1]: *** [source/numerics/CMakeFiles/obj_numerics_inst.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

It seems to me that it is looking for AVX512 support and generating an error when it doesn't find it. But why would it look for AVX512 support if DEAL_II_HAVE_AVX512 failed? I haven't had this issue when installing on other machines that support AVX but not AVX512.

Thanks for any insight you have,
Steve

Martin Kronbichler

unread,
Jul 10, 2019, 10:04:32 AM7/10/19
to dea...@googlegroups.com

Dear Steve,

From what I can see the failure is for the expand_instantiations script of deal.II, which is compiled as part of deal.II. It uses slightly different flags as the full install, but assuming that you either passed -xHASWELL or -xCORE-AVX2 to CMAKE_CXX_FLAGS it should not generate that code. Before we look into the flags used for compilation, a basic question: Did you start with a clean build directory without any file left over from a more advanced architecture with AVX512 support?

Best,
Martin

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dealii+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/b36fd46d-2dff-41f4-8762-8ffad6ad4da1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Stephen DeWitt

unread,
Jul 12, 2019, 1:50:31 PM7/12/19
to deal.II User Group
Dear Martin,
Thank you for your response. I deleted everything in my build directory and then it worked. I thought that deleting the CMakeCache.txt file and CMakeFiles would be enough (in other cases it has been), but evidently it wasn't enough here.

Thanks again,
Steve
To unsubscribe from this group and stop receiving emails from it, send an email to dea...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages