Difference between revisions of "Parallel"
Jump to navigation
Jump to search
(→Getting started: just link to research section) |
|||
Line 10: | Line 10: | ||
#: Start with Concurrent Haskell ('''forkIO''', '''MVar''') |
#: Start with Concurrent Haskell ('''forkIO''', '''MVar''') |
||
# 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. |
||
− | #: Distributed programming is still ongoing [[Parallel/Research|research]]. |
||
+ | #: Meanwhile look out for [[Parallel/Research|ongoing research]] into distributed Haskell. |
||
− | #: In the meantime, you could use the Haskell MPI bindings, which use Concurrent Haskell and the MPI library. |
||
== Community == |
== Community == |
Revision as of 16:26, 16 March 2011
Parallelism and Concurrency in Haskell
Getting started
Haskell supports both pure parallelism and explicit concurrency. How would you like to begin?
- Speed up your code by making it run on multicore:
- Start with Control.Parallel (pseq, par) and refine with Strategies
- Manage simultaneous IO actions (eg. multiple connections on a web server)
- Start with Concurrent Haskell (forkIO, MVar)
- 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
- The parallel-haskell mailing list
- Follow @parallelhaskell on Twitter
- StackOverflow on Haskell parallelism and concurrency
News
Tools
- Threadscope - parallel programs not getting faster? Use the Threadscope debugger and watch sparks fly.
- Comprehensive list of Parallelism and Concurrency libraries