You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2020/08/28 02:28:26 UTC

[GitHub] [arrow] jianxind opened a new pull request #8071: ARROW-9877: [C++] Fix homebrew-cpp build fail on AVX512

jianxind opened a new pull request #8071:
URL: https://github.com/apache/arrow/pull/8071


   Apple Clang cannot unzip "-march=skylake-avx512" exactly.
   
   Also fix AVX512 detect to include AVX512F, AVX512BW, AVX512VL, AVX512CD, AVX512DQ
   
   Signed-off-by: Frank Du <fr...@intel.com>


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] jianxind commented on pull request #8071: ARROW-9877: [C++] Fix homebrew-cpp build fail on AVX512

Posted by GitBox <gi...@apache.org>.
jianxind commented on pull request #8071:
URL: https://github.com/apache/arrow/pull/8071#issuecomment-682465343


   @github-actions crossbow submit homebrew-cpp


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] jianxind removed a comment on pull request #8071: ARROW-9877: [C++] Fix homebrew-cpp build fail on AVX512

Posted by GitBox <gi...@apache.org>.
jianxind removed a comment on pull request #8071:
URL: https://github.com/apache/arrow/pull/8071#issuecomment-682410000


   I always has issue with "archery lint --cmake-format", not sure why:(


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] jianxind commented on pull request #8071: ARROW-9877: [C++] Fix homebrew-cpp build fail on AVX512

Posted by GitBox <gi...@apache.org>.
jianxind commented on pull request #8071:
URL: https://github.com/apache/arrow/pull/8071#issuecomment-682289580


   @github-actions crossbow submit homebrew-cpp


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] jianxind commented on a change in pull request #8071: ARROW-9877: [C++] Fix homebrew-cpp build fail on AVX512

Posted by GitBox <gi...@apache.org>.
jianxind commented on a change in pull request #8071:
URL: https://github.com/apache/arrow/pull/8071#discussion_r478897639



##########
File path: cpp/cmake_modules/SetupCxxFlags.cmake
##########
@@ -47,8 +47,8 @@ if(ARROW_CPU_FLAG STREQUAL "x86")
   else()
     set(ARROW_SSE4_2_FLAG "-msse4.2")
     set(ARROW_AVX2_FLAG "-mavx2")
-    # skylake-avx512 consists of AVX512F,AVX512BW,AVX512VL,AVX512CD,AVX512DQ
-    set(ARROW_AVX512_FLAG "-march=skylake-avx512 -mbmi2")
+    # Typical AVX512 subsets consists of AVX512F, AVX512BW, AVX512VL, AVX512CD, AVX512DQ
+    set(ARROW_AVX512_FLAG "-mavx512f -mavx512cd -mavx512vl -mavx512dq -mavx512bw -mbmi2")

Review comment:
       Yes. Most build use "-march=haswell" for AVX2, "-march=skylake-avx512" for AVX512.
   
   Thus we has to use "-mavx512f -mavx512cd -mavx512vl -mavx512dq -mavx512bw -march=skylake-avx512" for this issue, a little duplicated...




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] github-actions[bot] commented on pull request #8071: ARROW-9877: [C++] Fix homebrew-cpp build fail on AVX512

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on pull request #8071:
URL: https://github.com/apache/arrow/pull/8071#issuecomment-682465926


   Revision: e6a0aa6d5c23def7842774afc089ecc3a13f18ef
   
   Submitted crossbow builds: [ursa-labs/crossbow @ actions-501](https://github.com/ursa-labs/crossbow/branches/all?query=actions-501)
   
   |Task|Status|
   |----|------|
   |homebrew-cpp|[![TravisCI](https://img.shields.io/travis/ursa-labs/crossbow/actions-501-travis-homebrew-cpp.svg)](https://travis-ci.org/ursa-labs/crossbow/branches)|


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] github-actions[bot] commented on pull request #8071: ARROW-9877: [C++] Fix homebrew-cpp build fail on AVX512

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on pull request #8071:
URL: https://github.com/apache/arrow/pull/8071#issuecomment-682292096


   Revision: e5000021bdf33ccae2d9f2c89c71247ca4eba5b9
   
   Submitted crossbow builds: [ursa-labs/crossbow @ actions-500](https://github.com/ursa-labs/crossbow/branches/all?query=actions-500)
   
   |Task|Status|
   |----|------|
   |homebrew-cpp|[![TravisCI](https://img.shields.io/travis/ursa-labs/crossbow/actions-500-travis-homebrew-cpp.svg)](https://travis-ci.org/ursa-labs/crossbow/branches)|


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] nealrichardson closed pull request #8071: ARROW-9877: [C++] Fix homebrew-cpp build fail on AVX512

Posted by GitBox <gi...@apache.org>.
nealrichardson closed pull request #8071:
URL: https://github.com/apache/arrow/pull/8071


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] jianxind commented on pull request #8071: ARROW-9877: [C++] Fix homebrew-cpp build fail on AVX512

Posted by GitBox <gi...@apache.org>.
jianxind commented on pull request #8071:
URL: https://github.com/apache/arrow/pull/8071#issuecomment-682305713


   cc @nealrichardson @pitrou 
   
   homebrew-cpp is green now. Seems apple clang doesn't extract "-march=skylake-avx512" to "-mavx512f -mavx512cd -mavx512vl -mavx512dq -mavx512bw"。


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] github-actions[bot] commented on pull request #8071: ARROW-9877: [C++] Fix homebrew-cpp build fail on AVX512

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on pull request #8071:
URL: https://github.com/apache/arrow/pull/8071#issuecomment-682291899


   https://issues.apache.org/jira/browse/ARROW-9877


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] pitrou commented on a change in pull request #8071: ARROW-9877: [C++] Fix homebrew-cpp build fail on AVX512

Posted by GitBox <gi...@apache.org>.
pitrou commented on a change in pull request #8071:
URL: https://github.com/apache/arrow/pull/8071#discussion_r478879104



##########
File path: cpp/cmake_modules/SetupCxxFlags.cmake
##########
@@ -47,8 +47,8 @@ if(ARROW_CPU_FLAG STREQUAL "x86")
   else()
     set(ARROW_SSE4_2_FLAG "-msse4.2")
     set(ARROW_AVX2_FLAG "-mavx2")
-    # skylake-avx512 consists of AVX512F,AVX512BW,AVX512VL,AVX512CD,AVX512DQ
-    set(ARROW_AVX512_FLAG "-march=skylake-avx512 -mbmi2")
+    # Typical AVX512 subsets consists of AVX512F, AVX512BW, AVX512VL, AVX512CD, AVX512DQ
+    set(ARROW_AVX512_FLAG "-mavx512f -mavx512cd -mavx512vl -mavx512dq -mavx512bw -mbmi2")

Review comment:
       Should we also keep `-march=...` to benefit from modern code selection choices?
   (also should we add `-march=something` to other flags above?)




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] jianxind commented on a change in pull request #8071: ARROW-9877: [C++] Fix homebrew-cpp build fail on AVX512

Posted by GitBox <gi...@apache.org>.
jianxind commented on a change in pull request #8071:
URL: https://github.com/apache/arrow/pull/8071#discussion_r478941556



##########
File path: cpp/src/arrow/util/cpu_info.h
##########
@@ -71,8 +78,8 @@ class ARROW_EXPORT CpuInfo {
   /// Returns all the flags for this cpu
   int64_t hardware_flags();
 
-  /// Returns whether of not the cpu supports this flag
-  bool IsSupported(int64_t flag) const { return (hardware_flags_ & flag) != 0; }
+  /// Returns whether of not the cpu supports the flags

Review comment:
       done




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] github-actions[bot] commented on pull request #8071: ARROW-9877: [C++] Fix homebrew-cpp build fail on AVX512

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on pull request #8071:
URL: https://github.com/apache/arrow/pull/8071#issuecomment-682483973


   Revision: 2d1c8a970c1822a71704c4360814291905e8a287
   
   Submitted crossbow builds: [ursa-labs/crossbow @ actions-502](https://github.com/ursa-labs/crossbow/branches/all?query=actions-502)
   
   |Task|Status|
   |----|------|
   |homebrew-cpp|[![TravisCI](https://img.shields.io/travis/ursa-labs/crossbow/actions-502-travis-homebrew-cpp.svg)](https://travis-ci.org/ursa-labs/crossbow/branches)|


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] jianxind commented on pull request #8071: ARROW-9877: [C++] Fix homebrew-cpp build fail on AVX512

Posted by GitBox <gi...@apache.org>.
jianxind commented on pull request #8071:
URL: https://github.com/apache/arrow/pull/8071#issuecomment-682410000


   I always has issue with "archery lint --cmake-format", not sure why:(


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] pitrou commented on a change in pull request #8071: ARROW-9877: [C++] Fix homebrew-cpp build fail on AVX512

Posted by GitBox <gi...@apache.org>.
pitrou commented on a change in pull request #8071:
URL: https://github.com/apache/arrow/pull/8071#discussion_r478880260



##########
File path: cpp/cmake_modules/SetupCxxFlags.cmake
##########
@@ -47,8 +47,8 @@ if(ARROW_CPU_FLAG STREQUAL "x86")
   else()
     set(ARROW_SSE4_2_FLAG "-msse4.2")
     set(ARROW_AVX2_FLAG "-mavx2")
-    # skylake-avx512 consists of AVX512F,AVX512BW,AVX512VL,AVX512CD,AVX512DQ
-    set(ARROW_AVX512_FLAG "-march=skylake-avx512 -mbmi2")
+    # Typical AVX512 subsets consists of AVX512F, AVX512BW, AVX512VL, AVX512CD, AVX512DQ
+    set(ARROW_AVX512_FLAG "-mavx512f -mavx512cd -mavx512vl -mavx512dq -mavx512bw -mbmi2")

Review comment:
       According to https://stackoverflow.com/a/55371559/10194, it's recommended to tune for a modern micro-architecture.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] jianxind commented on pull request #8071: ARROW-9877: [C++] Fix homebrew-cpp build fail on AVX512

Posted by GitBox <gi...@apache.org>.
jianxind commented on pull request #8071:
URL: https://github.com/apache/arrow/pull/8071#issuecomment-682483304


   @github-actions crossbow submit homebrew-cpp


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] pitrou commented on a change in pull request #8071: ARROW-9877: [C++] Fix homebrew-cpp build fail on AVX512

Posted by GitBox <gi...@apache.org>.
pitrou commented on a change in pull request #8071:
URL: https://github.com/apache/arrow/pull/8071#discussion_r478881032



##########
File path: cpp/src/arrow/util/cpu_info.h
##########
@@ -71,8 +78,8 @@ class ARROW_EXPORT CpuInfo {
   /// Returns all the flags for this cpu
   int64_t hardware_flags();
 
-  /// Returns whether of not the cpu supports this flag
-  bool IsSupported(int64_t flag) const { return (hardware_flags_ & flag) != 0; }
+  /// Returns whether of not the cpu supports the flags

Review comment:
       "all the flags"?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org