Difference between revisions of "Parallel"

From HaskellWiki
Jump to navigation Jump to search
Line 7: Line 7:
 
# Speed up your code by making it run on multicore:
 
# Speed up your code by making it run on multicore:
 
#: Start with Control.Parallel ('''pseq''', '''par''') and refine with Strategies
 
#: Start with Control.Parallel ('''pseq''', '''par''') and refine with Strategies
  +
#: ''Find out more about [[Parallelism|parallelism basics]]''
 
# Manage simultaneous IO actions (eg. multiple connections on a web server)
 
# Manage simultaneous IO actions (eg. multiple connections on a web server)
 
#: Start with Concurrent Haskell ('''forkIO''', '''MVar''')
 
#: Start with Concurrent Haskell ('''forkIO''', '''MVar''')
  +
#: ''Find out more about [[Concurrency|concurrency basics]]''
 
# Work with clusters or do distributed programming
 
# Work with clusters or do distributed programming
 
#: Learn about concurrency first and then use the Haskell MPI bindings.
 
#: Learn about concurrency first and then use the Haskell MPI bindings.

Revision as of 12:01, 20 April 2011

Parallelism and Concurrency in Haskell

Getting started

Haskell supports both pure parallelism and explicit concurrency. How would you like to begin?

  1. Speed up your code by making it run on multicore:
    Start with Control.Parallel (pseq, par) and refine with Strategies
    Find out more about parallelism basics
  2. Manage simultaneous IO actions (eg. multiple connections on a web server)
    Start with Concurrent Haskell (forkIO, MVar)
    Find out more about concurrency basics
  3. Work with clusters or do distributed programming
    Learn about concurrency first and then use the Haskell MPI bindings.
    Meanwhile look out for ongoing research into distributed Haskell.

Community

News

Tools

Documentation