Benchmarks Game/Parallel
From HaskellWiki
< Benchmarks Game(Difference between revisions)
m |
|||
| (3 intermediate revisions not shown.) | |||
| Line 1: | Line 1: | ||
Quad-core enabled parallel Haskell benchmark entries, for | Quad-core enabled parallel Haskell benchmark entries, for | ||
| - | the [http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=all 64 bit quad core | + | the [http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=all 64 bit quad core benchmarks game]. |
== Advice == | == Advice == | ||
| - | * Check the GC stats with +RTS -sstderr -RTS, if that number if over 5%, use - | + | * Check the GC stats with +RTS -sstderr -RTS, if that number if over 5%, use -HxxxM to set a better default heap size. (Note *this is probably not permitted by the "initial allocation area rule" for the binary-trees benchmark). |
| - | * Use N | + | * Use N capabilities for SMP, e.g. +RTS -N4 -RTS, for the quad core. |
| - | * Take the single threaded, fast programs and | + | * Take the single threaded, fast programs and parallelise them |
* Parallel strategies are the lightest way to add SMP capabilities. | * Parallel strategies are the lightest way to add SMP capabilities. | ||
* Contact dons or sbahra on #haskell for access to a quad or eight-way benchmark machine, before uploading. | * Contact dons or sbahra on #haskell for access to a quad or eight-way benchmark machine, before uploading. | ||
| Line 20: | Line 20: | ||
* [[/SpectralNorm]] | * [[/SpectralNorm]] | ||
* [[/ThreadRing]] | * [[/ThreadRing]] | ||
| + | * [[/Knucleotide]] | ||
== Not yet parallelised == | == Not yet parallelised == | ||
| Line 28: | Line 29: | ||
* [[/Pidigits]] (''note GHC 6.10.1 has a GC bug illustrated by this program'') | * [[/Pidigits]] (''note GHC 6.10.1 has a GC bug illustrated by this program'') | ||
* [[/ReverseComplement]] | * [[/ReverseComplement]] | ||
| - | |||
[[Category:Parallel]] | [[Category:Parallel]] | ||
Current revision
Quad-core enabled parallel Haskell benchmark entries, for the 64 bit quad core benchmarks game.
1 Advice
- Check the GC stats with +RTS -sstderr -RTS, if that number if over 5%, use -HxxxM to set a better default heap size. (Note *this is probably not permitted by the "initial allocation area rule" for the binary-trees benchmark).
- Use N capabilities for SMP, e.g. +RTS -N4 -RTS, for the quad core.
- Take the single threaded, fast programs and parallelise them
- Parallel strategies are the lightest way to add SMP capabilities.
- Contact dons or sbahra on #haskell for access to a quad or eight-way benchmark machine, before uploading.
- See if you can use the new parallel GC to good effect: no entries currently do.
2 Parallel Programs
- /BinaryTrees and /BinaryTreesDPH
- /Chameneos
- /Fannkuch
- /Mandelbrot
- /RegexDNA
- /SpectralNorm
- /ThreadRing
- /Knucleotide
3 Not yet parallelised
- /Fasta
- /MeteorContest
- /NBody
- /Pidigits (note GHC 6.10.1 has a GC bug illustrated by this program)
- /ReverseComplement
