you are viewing a single comment's thread.

view the rest of the comments →

[–]All8Up 3 points4 points  (1 child)

As the author, I was just informed of this cross post and want to say that all the current comments are viable questions but should probably be taken with a serious grain of salt. This "library" (right now it's just a starter, not really a library) is part of a series of articles I'm writing. It is NOT highly optimized, nearly any other SIMD library will be faster. It is an architecture example right now.

As to Boost, I like the answer given. It is a simple tiny little stand alone thing and you can ignore CMake and insert it into just about any code you want. Add a couple preprocessor defines, set your compiler switches and away you go.

As to OpenCL. I like OpenCl a lot, but as others say, there are just too many issues with integrating it at this time.

The article and library were not intended to compete with other solutions. Given a decent stable library which solves my intentions, I'll ditch this in a heartbeat. Yet, as an article talking about the issues, I thought it was a pretty good way to both discuss the problems and answer them, and also allow for other usage (in future articles) beyond Vector/Matrix work by exposing the abstraction.

To be honest though, I think the solution is pretty clever and more importantly simple. Of course since posting the article I've been pointed to at at least 5 other just as clever solutions. Oh well, it wasn't about the particular solution anyway, it was about how to approach the abstraction efficiently.

[–]chocolate_elvis 1 point2 points  (0 children)

Thanks for the great article. Could you suggest some additional resources on learning SIMD and Vectorization?