- STAFF PICKS
- GIFTS + GIFT CARDS
- SELL BOOKS
- FIND A STORE
New Trade Paper
Ships in 1 to 3 days
Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programmingby Simon Marlow
Synopses & Reviews
If you have a working knowledge of Haskell, this hands-on book shows you how to use the languages many APIs and frameworks for writing both parallel and concurrent programs. Youll learn how parallelism exploits multicore processors to speed up computation-heavy programs, and how concurrency enables you to write programs with threads for multiple interactions.
Author Simon Marlow walks you through the process with lots of code examples that you can run, experiment with, and extend. Divided into separate sections on Parallel and Concurrent Haskell, this book also includes exercises to help you become familiar with the concepts presented:
This book covers the breadth of Haskell's diverse selection of programming APIs for concurrent and parallel programming. It is split into two parts. The first part, on parallel programming, covers the techniques for using multiple processors to speed up CPU-intensive computations, including methods for using parallelism in both idiomatic Haskell and numerical array-based algorithms, and for running computations on a GPU. The second part, on concurrent programming, covers techniques for using multiple threads, including overlapping multiple I/O operations, building concurrent network servers, and distributed programming across multiple machines.
About the Author
One of the lead developers of GHC, by far the most-used Haskell compiler in the world. Simon implemented virtually all the technology that the book would be covering. He taught a summer school on this material last year, and is teaching another one this year http://www-hpc.cea.fr/SummerSchools2012-CS.htm
Simon is a lead figure in the Haskell community. He chaired the Haskell 2010 committee, and is the editor of the Haskell 2010 report, the latest revision of the language.
Table of Contents
PrefaceChapter 1: IntroductionParallel HaskellChapter 2: Basic Parallelism: The Eval MonadChapter 3: Evaluation StrategiesChapter 4: Dataflow Parallelism: The Par MonadChapter 5: Data Parallel Programming with RepaChapter 6: GPU Programming with AccelerateConcurrent HaskellChapter 7: Basic Concurrency: Threads and MVarsChapter 8: Overlapping Input/OutputChapter 9: Cancellation and TimeoutsChapter 10: Software Transactional MemoryChapter 11: Higher-Level Concurrency AbstractionsChapter 12: Concurrent Network ServersChapter 13: Parallel Programming Using ThreadsChapter 14: Distributed ProgrammingChapter 15: Debugging, Tuning, and Interfacing with Foreign CodeColophon
What Our Readers Are Saying
Computers and Internet » Computer Architecture » Parallel