Difference between revisions of "Parallel"
Jump to navigation
Jump to search
m (category) |
(→Documentation: Added link to "Parallel and Concurrent Programming in Haskell") |
||
(33 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
+ | __NOTOC__ |
||
⚫ | |||
⚫ | |||
− | == Getting started == |
||
Haskell supports both pure parallelism and explicit concurrency. How would you like to begin? |
Haskell supports both pure parallelism and explicit concurrency. How would you like to begin? |
||
# Speed up your code by making it run on multicore: |
# Speed up your code by making it run on multicore: |
||
− | #: Start with Control.Parallel (''' |
+ | #: Start with Control.Parallel ('''par''', '''pseq''') 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, then try using [[Applications_and_libraries/Network#Libraries|network protocol libraries]] like HTTP or zeromq. |
||
− | #: Distributed programming is still ongoing research. See below for current efforts. |
||
+ | #: 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 == |
||
+ | * Ask questions on [[Mailing lists|Haskell Cafe]] |
||
− | * |
+ | * See what [https://groups.google.com/group/parallel-haskell parallel-haskell] researchers and developers are working on |
+ | * Get the latest from the [[Parallel GHC Project]] |
||
* Follow [http://twitter.com/#!/parallelhaskell @parallelhaskell] on Twitter [[image:Twitter-mini.png]] |
* Follow [http://twitter.com/#!/parallelhaskell @parallelhaskell] on Twitter [[image:Twitter-mini.png]] |
||
* StackOverflow on Haskell [http://stackoverflow.com/questions/tagged/haskell%2bparallel parallelism] and [http://stackoverflow.com/questions/tagged/haskell%2bconcurrency concurrency] |
* StackOverflow on Haskell [http://stackoverflow.com/questions/tagged/haskell%2bparallel parallelism] and [http://stackoverflow.com/questions/tagged/haskell%2bconcurrency concurrency] |
||
== News == |
== News == |
||
+ | |||
+ | * 2012-04-20 [http://www.well-typed.com/blog/65 Parallel Haskell Digest 9] |
||
+ | * 2012-03-02 [http://www.well-typed.com/blog/64 Parallel Haskell Digest 8] |
||
+ | * 2011-12-24 [http://www.well-typed.com/blog/62 Parallel Haskell Digest 7] |
||
+ | * 2011-11-21 [http://www.haskell.org/pipermail/haskell-cafe/2011-November/097008.html Job Opportunity at Parallel Scientific] |
||
== Tools == |
== Tools == |
||
− | * [ |
+ | * [[ThreadScope]] - parallel programs not getting faster? Use the Threadscope debugger and watch sparks fly. |
* Comprehensive list of [[Applications_and_libraries/Concurrency_and_parallelism|Parallelism and Concurrency libraries]] |
* Comprehensive list of [[Applications_and_libraries/Concurrency_and_parallelism|Parallelism and Concurrency libraries]] |
||
== Documentation == |
== Documentation == |
||
+ | * [[Parallel/Glossary|Glossary]] |
||
* [[Parallel/Reading|Parallel Haskell reading]] |
* [[Parallel/Reading|Parallel Haskell reading]] |
||
+ | * [[Parallel/Research|Current research]] |
||
− | * [[Research papers/Parallelism and concurrency|Research papers on parallelism and concurrency]] |
||
+ | * [http://chimera.labs.oreilly.com/books/1230000000929/index.html Parallel and Concurrent Programming in Haskell] (online book) |
||
− | |||
− | === Tips and tutorials === |
||
− | |||
− | * [[Performance/Concurrency|Concurrency performance]] |
||
[[Category:Parallel]] |
[[Category:Parallel]] |
Revision as of 15:17, 6 September 2013
Parallelism and Concurrency in Haskell
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 (par, pseq) and refine with Strategies
- Find out more about parallelism basics
- Manage simultaneous IO actions (eg. multiple connections on a web server)
- Start with Concurrent Haskell (forkIO, MVar)
- Find out more about concurrency basics
- Work with clusters or do distributed programming
- Learn about concurrency first, then try using network protocol libraries like HTTP or zeromq.
- Meanwhile look out for ongoing research into distributed Haskell.
Community
- Ask questions on Haskell Cafe
- See what parallel-haskell researchers and developers are working on
- Get the latest from the Parallel GHC Project
- Follow @parallelhaskell on Twitter
- StackOverflow on Haskell parallelism and concurrency
News
- 2012-04-20 Parallel Haskell Digest 9
- 2012-03-02 Parallel Haskell Digest 8
- 2011-12-24 Parallel Haskell Digest 7
- 2011-11-21 Job Opportunity at Parallel Scientific
Tools
- ThreadScope - parallel programs not getting faster? Use the Threadscope debugger and watch sparks fly.
- Comprehensive list of Parallelism and Concurrency libraries