3 ms·
I'm not sure what you mean. The Haskell vector library doesn't use any compiler side intelligence. If you mean loop merging, the Repa 4 library does something
by carterschonwald 13y ago
I'm not sure what you mean. The Haskell vector library doesn't use any compiler side intelligence.
If you mean loop merging, the Repa 4 library does something pretty interesting called series fusion. But it also needs a compiler plugin so that it can do that optimization internally.
I'm actually working on my own vectorization / fusion friendly numerical tools in Haskell. One philosophical point that's pretty darn important Is making it obvious and clear how to get good performance in a robust way. Many auto vectorization codes (eg try auto vectorization in clang) require a bit of work to tickle correctly. So in many ways, I think the best approach is to encourage idioms that don't require compiler smarts.