You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Daniel Jewell (Jira)" <ji...@apache.org> on 2020/12/20 19:07:00 UTC

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

     [ https://issues.apache.org/jira/browse/ARROW-10992?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Jewell updated ARROW-10992:
----------------------------------
    Description: 
Compiler support for Intel ICC/ICPC was added in ARROW-10489

However, there are still a few cases where 
{code:java}
-march=<haswell|skylake-avx512>{code}
 

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:  

 
{code:java}
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'
    

{code}
 

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]

 

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

However, there are still a few cases where 
{code:java}
-march=<haswell|skylake-avx512>{code}
 

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:  

 
{code:java}
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'
    

{code}
 

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]

 


> [C++] Arrow Cmake/-march compile flags conflict with Intel compiler (icc/icpc)
> ------------------------------------------------------------------------------
>
>                 Key: ARROW-10992
>                 URL: https://issues.apache.org/jira/browse/ARROW-10992
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++
>    Affects Versions: 2.0.0
>            Reporter: Daniel Jewell
>            Priority: Minor
>
> Compiler support for Intel ICC/ICPC was added in ARROW-10489
> However, there are still a few cases where 
> {code:java}
> -march=<haswell|skylake-avx512>{code}
>  
> 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:  
>  
> {code:java}
> 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'
>     
> {code}
>  
> 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]
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)