3 ms·
Looks like it handles all important topics for sequential algorithms quite well. It even discusses quantum algorithms in the last chapter. What I really could
by ginko 14y ago
Looks like it handles all important topics for sequential algorithms quite well. It even discusses quantum algorithms in the last chapter.
What I really could need though is a reference book for parallel algorithms. Especially shared memory PRAM algorithms for OpenCL, OpenMP & co. Most current books only assign a chapter at most to this. I guess the main problem here is that parallel algorithms are still very much in their infancy compared to their sequential counterparts.
- ahelwer 14y agoThe use cases are much different. Once you get outside of the standard parallel sort/scan/reduce/map functions you can find in Thrust[1], you get into algorithms that have an entire enormous book[2] explaining the idea behind them. That gap is closing slowly as a lot of old algorithms are being remixed into highly parallel versions. This is noticeable in string pattern matching applications, driven by the need to analyze tons of DNA. More people would benefit from knowing how exactly to code efficiently on the GPU before jumping right in to writing algorithms on it; it's easy to lose multiples of throughput if you don't know what you're doing. As always it's becoming easier for programmers though; if you're new to the idea of GPU programming I really recommend checking out Microsoft's C++ AMP[3], which shipped with VS 2012. Removes a lot of the headaches of programming with CUDA and OpenCL. I've had a chance to play around with it, and it's excellent. [1] http://thrust.github.com/ http://thrust.github.com/ [2] http://books.google.ca/books/about/Computational_Electrodynamics.html?id=n2ViQgAACAAJ&redir_esc=y http://books.google.ca/books/about/Computational_Electrodyna... [3] http://msdn.microsoft.com/en-us/library/hh265137.aspx http://msdn.microsoft.com/en-us/library/hh265137.aspx