wpleonardo commented on PR #1375:
URL: https://github.com/apache/orc/pull/1375#issuecomment-1427878821

   1.Refactor the way of unpacking about the default and AVX512. Added the 
dynamic dispatch function about AVX512 and default way. @wgtmac  
   https://github.com/apache/orc/pull/1375#discussion_r1067745787
   1.1 Separate the default unpacking way unrolledUnpackX from RLEv2.hh and 
RleDecoderV2.cc, and create new files "BpackingDefault.hh & .cc" to definite 
the default unpacking way.
   1.2 Also create new files "BpackingAvx512.hh & .cc" to definite the AVX512 
unpacking way.
   1.3 Create a new file "Dispatch.hh" to do dynamic dispatch.
   1.4 Create new file "Bpacking.hh & .cc" to have the different unpacking ways.
   2.Delete the file c++/src/DetectPlatform.hh, and chose the same way 
(CpuInfoUtil.cc) with Apache arrow to check if current CPU support avx512. 
@wgtmac 
   https://github.com/apache/orc/pull/1375#discussion_r1067729278
   https://github.com/apache/orc/pull/1375#discussion_r1067729882
   https://github.com/apache/orc/pull/1375#discussion_r1067729882
   3.Delete Env parameter "ENABLE_RUNTIME_AVX512", create an Env parameter 
"ORC_USER_SIMD_LEVEL" (value: NONE | AVX512) to change the status at the 
running time. @wgtmac 
   https://github.com/apache/orc/pull/1375#discussion_r1067743477
   4.In the CMakelists.txt and CpuInfoUtil.cc file, delete the definition about 
avx2 , sse_4_2 , neon, ppc, s390x and riscv64. Because currently CI doesn't 
support them, and in the future we also don't support them. @wgtmac 
   https://github.com/apache/orc/pull/1375#discussion_r1092785072
   https://github.com/apache/orc/pull/1375#discussion_r1092788112
   https://github.com/apache/orc/pull/1375#discussion_r1092788886
   5.AVX512 main function name changed from unrolledUnpackVectorX to 
vectorUnpackX. @wgtmac 
   https://github.com/apache/orc/pull/1375#discussion_r1092812660
   6.Optimiz the code comments, make them be more readable. @wgtmac 
   https://github.com/apache/orc/pull/1375#discussion_r1092798187
   7.Change the file name VectorDecoder.hh to BitUnpackerAvx512.hh @wgtmac 
   https://github.com/apache/orc/pull/1375#discussion_r1092835623
   8.In the testcase file c++/test/TestRleVectorDecoder.cc delete #include 
<inttypes.h> @wgtmac 
   https://github.com/apache/orc/pull/1375#discussion_r1092839029
   9.In the testcase file c++/test/TestRleVectorDecoder.cc, change the class 
name RleVectorTest to RleV2BitUnpackAvx512Test. @wgtmac 
   https://github.com/apache/orc/pull/1375#discussion_r1092839780
   10.Modified the CMakelists.txt to print the value of BUILD_ENABLE_AVX512, 
CXX_SUPPORTS_AVX512, ORC_RUNTIME_SIMD_LEVEL, ORC_HAVE_RUNTIME_AVX512 and 
ORC_SIMD_LEVEL in the cmake process. @stiga-huang 
   https://github.com/apache/orc/pull/1375#discussion_r1097305535


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to