Going Multicore with C++
Asynchronous and Parallel Programming using C++11
Going Parallel with C++ is designed for undergraduate students or developers who need to learn the key skill of parallel programming. Both hardware and software are increasingly dependent on parallel computing techniques - every modern computer is a multicore, and key applications - big data, computational science, cloud computing, mobile computing, image processing, games, modeling and more - are all inherently parallel. Educators are now teaching parallel computing earlier in the CS curriculum and are searching for resources that approach it as a fundamental skill rather than a secondary discipline that only comes after traditional, linear programming skills.
Concurrency expert Joe Hummel explains not only parallel computing but also the new functions implemented with platform-neutral C++11 (released in 2011) that make it the platform of choice poised to replace outdated, proprietary tools. All major C++ compilers are moving to support the new features of C++11. Hummel takes a demo-oriented approach, with numerous examples that give the book a practical feel as opposed to more theoretical competitors. To facilitate adoption for courses, the book will include exercises built from the examples, solutions, and working source code on an ancillary page.
Professional developers or hobbyists interested in parallel, multicore CPU programming in C++, as well as undergrad students studying these disciplines. Presumes some C++ but not any background in parallel computing. Instructors who declined to adopt Pacheco may prefer Hummel.