alamb commented on issue #12821:
URL: https://github.com/apache/datafusion/issues/12821#issuecomment-2408961671

   > Can we use nightly rust that enable std::simd for vectorization? Although 
in arrow-rs, the simd code is rewritten with auto-vectorization, but when I 
check the generated asm, I didn't see vector instruction for all the function 
(some exists, some doesn't). I think it would be nice to have explicitly simd 
to ensure the code is always vectorized and not disappear because of the code 
change or the llvm change.
   
   I think @tustvold  found that using manually written simd kernels is quite 
hard to get faster than the auto vectorized code (aka using the vector 
instructions) made by LLVM and also harder to maintain
   
   If possible I would suggest we instead focus on improving the code so that 
LLVM has a greater likelihood of being able to auto vectorize code. This is 
some combination of looking at the resulting assembly code, and then making the 
inner loops simpler (e.g. via `#[inline]` and removing bounds checks 
`get_unchecked`, special cases for not checking `Option`, etc)


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to