1: Good Performance on a Multicore Machine - Try OpenMP?
I have most of the parallel computing books out there so I am sort of a collector of sorts. Most focus on either the basics of parallel programming, MPI, OpenMP, both, or some other less popular (yet) paradigm e.g. PFortran, TBB, etc. With every parallel-computing wanna be buying a multicore machine dual, quad, dual-quad, etc., the parallel computing software "industry" is in flux. No longer will MPI on a cluster be enough. It still remains to be seen whether the slower memory bus on quad core machines will allow for speedups without major code overhaul or a new paradigm. Anyway, this book is a welcome addition to my collection. For one, it is current e.g. 2008 and also it is focussed on OpenMP (but does treat dual MPI/OpenMP programming). It is well written (I am about 100 pages in since I just got my copy last week) and has one tantalizing chapter entitled "How to get good performance by using OpenMP" - which is really timely since my new 72 core machine (9 dual Intel quad cores) seems to give slower performance for a major commercial CFD code than the equivalent number of dual-core nodes). I hope it helps me. Based on the rapid growth of multicore machines and the lack of a simple programming solution, I recommend this book to all those wanting to try and get their codes running fast on multicore machines. The only downsides in this book so far is the lack of downloadable code (you have to type it in yourself) and it is hard to test the code fragments because they are just that - fragments. A nice feature of the book is the 50/50 emphasis on Fortran/C codes - which are the still the mainstay in large-scale scientific computing.
|