Changes between Version 22 and Version 23 of DataParallel/BenchmarkStatus


Ignore:
Timestamp:
Mar 5, 2009 9:31:33 AM (5 years ago)
Author:
chak
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DataParallel/BenchmarkStatus

    v22 v23  
    77=== Overview over the benchmark programs === 
    88 
     9 [http://darcs.haskell.org/packages/dph/examples/sumsq/ SumSq]:: 
     10  Computes the sum of the squares from 1 to N using `Int`.  There are two variants of this program: (1) "primitives" is directly coded against the array primitives from package dph and (2) "vectorised" is a high-level DPH program transformed by GHC's vectoriser.  As a reference implementation, we have a sequential C program denoted by "ref C". 
    911 [http://darcs.haskell.org/packages/dph/examples/dotp/ DotP]:: 
    1012  Computes the dot product of two vectors of `Double`s.  There are two variants of this program: (1) "primitives" is directly coded against the array primitives from package dph and (2) "vectorised" is a high-level DPH program transformed by GHC's vectoriser.  In addition to these two DPH variants of the dot product, we also have two non-DPH reference implementations: (a) "ref Haskell" is a Haskell program using imperative, unboxed arrays and and (b) "ref C" is a C implementation using pthreads. 
     
    4446 
    4547|| '''Program''' || '''Problem size''' || '''sequential''' || '''P=1''' || '''P=2''' || '''P=4''' || '''P=8''' || '''P=16''' || '''P=32''' || '''P=64''' || 
     48|| !SumSq, primitives || 10M || 212/212 || 255/255 || 128/128 || 64/64 || 36/36 || 28/28 || 17/17 || 10/10 || 
     49|| !SumSq, vectorised || 10M || 1161/1161 || 1884/1884 ||950/950 ||499/499 || 288/288 || 254/254 || 193/193 || 337/377 || 
     50|| !SumSq, ref C ||10M || 130 || – || – || – || – || – || – || – || 
    4651|| DotP, primitives || 100M elements || 937/937 || 934/934 || 474/474 || 238/238 || 120/120 || 65/65 || 38/38 || 28/28 || 
    4752|| DotP, vectorised || 100M elements || 937/937 || 942/942 || 471/471 || 240/240 || 118/118 || 65/65 || 43/43 || 29/29 ||  
     
    5358 
    5459All results are in milliseconds, and the triples report best/worst execution time (wall clock) of three runs.  The column marked "sequential" reports times when linked against `dph-seq` and the columns marked "P=n" report times when linked against `dph-par` and run in parallel using the specified number of parallel OS threads. 
     60 
     61==== Comments regarding SumSq ==== 
     62 
     63The primitives scale nicely, but something is deeply wrong (lack of fusion, perhaps) with the vectorised version. 
    5564 
    5665==== Comments regarding DotP ====