Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-10992

[C++] Arrow Cmake/-march compile flags conflict with Intel compiler (icc/icpc)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 2.0.0
    • None
    • C++
    • None

    Description

      Compiler support for Intel ICC/ICPC was added in ARROW-10489

      However, there are still a few cases where 

      -march=<haswell|skylake-avx512>

       

      is being added to C/CXXFLAGS. While this kinda-sorta works, for icc/icpc there is different set of optimization options (I use " -xCORE-AVX2" typically). The list of optimization options is quite verbose (well beyond what just the flags show) and this really needs the eyes of someone who is an expert on just what exactly happens to the generated code with the specific flags. 

       

      Specific warnings:  

       

      icpc: command line warning #10121: overriding '-xCORE-AVX2' with '-march=skylake-avx512'
      icpc: command line warning #10121: overriding '-xCORE-AVX2' with '-march=skylake-avx512'
      icpc: command line warning #10006: ignoring unknown option '-mbmi2'
      icpc: command line warning #10121: overriding '-xCORE-AVX2' with '-march=haswell'
      icpc: command line warning #10121: overriding '-xCORE-AVX2' with '-march=haswell'
          
      
      

       

      The haswell warning appears to come from the compilation of cpp/src/arrow/util/bpacking_avx2.cc

       

      See: https://software.intel.com/content/www/us/en/develop/articles/performance-tools-for-software-developers-intel-compiler-options-for-sse-generation-and-processor-specific-optimizations.html

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            danieldjewell Daniel Jewell
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: