4 ms·
Curious whether you've compared it to https://github.com/chriselrod/LoopVectorization.jl https://github.com/chriselrod/LoopVectorization.jl ? Which if I underst
by improbable22 7y ago
Curious whether you've compared it to https://github.com/chriselrod/LoopVectorization.jl https://github.com/chriselrod/LoopVectorization.jl ? Which if I understand right is a pure-Julia attempt to use many of the same tricks.
- celrod 7y agoCompare my username with that of the author of that library ;). For special functions, LoopVectorization relies on SLEEFPirates.jl, which is a fork of SLEEF.jl, a Julia port of version 2 of SLEEF. Most of the changes in SLEEFPirates are so that it works when you use llvm-vectors as arguments, but I also switched to using Estrin's rather than Horner's method of evaluating polynomials for a few functions (which more recent SLEEF versions did as well). The code is pure Julia (or Julia + LLVM call; either way it does not need any external dependencies aside from Julia itself). It does need performance work, but I have many higher priorities at the moment.
- improbable22 7y agoHah! Sorry, didn't cross my mind. And thanks for the details.