Open zhejiangxiaomai opened 1 year ago
Did velox make some changes that caused the compilation to fail? cc: @oerling @mbasmanova
CC: @Yuhta @kgpai @majetideepak
This is by design, some code is not adapted to AVX512. You can add some individual compilation unit to be compiled with AVX512 enabled, but adding it globally requires some work.
@Yuhta @mbasmanova @majetideepak Are there plans for implementing full AVX512 support? I just can tell that the gain seems massive as compared with ARROW - instructions execute at least an order of magnitude faster so it would be kind of game-changer - having in mind that engines like Presto won't utilize the Java 18: Vector API
soon, as there is no special effort put in porting it for Java higher then version 11, Spark seems closer to this - theoretically supports JAVA 17.
This speed-up can be achieved in most data-centers running on Intel Xeons for example :-).
edit: xsimd and xxHash have full support for avx512 currently so there is also a question - how big the effort would be to add this to Velox?
@Mionsz We did some experiments back a while and AVX512 was exhibiting downclocking behavior on our servers, making the overall gain very little. That is why we deprioritize adopting of AVX512. You can try add support for it if you have time, it should not be too hard but it's also not trivial.
We have not seen any great win from avx512 over avx2. Maybe 1.3x is the highest we have been notified about. Gather for example, last time we checked, did worse than avx2. But could have changed since. Most but not all servers have this. AMD Milan does not.
So, where is there an order of magnitude? What about dropping clock frequency for avx512?
Thanks
Orri
From: Miłosz Linkiewicz @.> Sent: Saturday, March 18, 2023 7:37 PM To: facebookincubator/velox @.> Cc: oerling @.>; Mention @.> Subject: Re: [facebookincubator/velox] Compile error when build velox with -mavx512f flag (Issue #4267)
@Yuhta https://github.com/Yuhta @mbasmanova https://github.com/mbasmanova @majetideepak https://github.com/majetideepak Are there plans for implementing full AVX512 support? I just can tell that the gain seems massive as compared with ARROW - instructions execute at least an order of magnitude faster so it would be kind of game-changer - having in mind that engines like Presto won't utilize the Java 18: Vector API soon, as there is no special effort put in porting it for Java higher then version 11, Spark seems closer to this - theoretically supports JAVA 17.
This speed-up can be achieved in most data-centers running on Intel Xeons for example :-).
— Reply to this email directly, view it on GitHub https://github.com/facebookincubator/velox/issues/4267#issuecomment-1475077902 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AKPPPT4RSQE3UDELN2HGR5DW4ZWLDANCNFSM6AAAAAAVYVKP6A . You are receiving this because you were mentioned.Message ID: @.***>
Problem description
Here is my CMAKE_CXX_FLAGS opinion. Setting CMAKE_CXX_FLAGS=-mavx2 -mfma -mavx -mf16c -mlzcnt -std=c++17 -mbmi2 -mavx512f
System information
Velox System Info v0.0.2 Commit: 94644c62f34daf966d32dadb5a0e059530eeaff9 CMake Version: 3.16.3 System: Linux-5.4.0-144-generic Arch: x86_64 C++ Compiler: /usr/bin/c++ C++ Compiler Version: 9.4.0 C Compiler: /usr/bin/cc C Compiler Version: 9.4.0 CMake Prefix Path: /usr/local;/usr;/;/usr;/usr/local;/usr/X11R6;/usr/pkg;/opt
Conda Env
CMake log
No response