Changes between Version 9 and Version 10 of DataParallel/WorkPlan
 Timestamp:
 Jan 30, 2009 5:53:07 AM (7 years ago)
Legend:
 Unmodified
 Added
 Removed
 Modified

DataParallel/WorkPlan
v9 v10 1 1 2 2 == Work plan for implementing Data Parallel Haskell == 3 4 === Milestones === 5 6 0. '''DUE 6 March.''' Solve major performance and scalability problems for our current benchmarks. Try to get a performance advantage over plain Haskell on !LimitingFactor (i.e., 8 cores). 7 0. '''DUE 30 March.''' Presentation for ''Microsoft External Research Symposium''. 3 8 4 9 === Task assignments === 5 10 6 11 ''Roman'':: 7 '''Replicate''' & '''Recycling'''12 '''Replicate''' & #2984 & '''Recycling''' 8 13 – status: partly implemented, but still needs serious work 14 * To use the special representation of task '''Replicate''' most effectively, we would ''again'' need different views on arrays together with a cost function and optimisation rules taking the cost function into account. That requires a lot of work! 15 * We decided that, for the moment, Roman will first try to integrate the replication representation directly and see how far that gets us. Maybe it helps at least with some examples and gives us something somewhat usable more quickly. 9 16 10 17 ''Simon'':: 11 ''' !CoreToStg''' & '''Code blow up'''18 '''Code blow up''' 12 19 – status: unknown 13 20 14 21 ''Gabi'':: 15 '''Hierarchical matrix representation''' 22 '''Hierarchical matrix representation''' & '''Benchmark status''' 16 23 – status: just started 17 24 … … 24 31 Category: ''Bugs'' 25 32 26 * '''!CoreToStg''': Compiling package dph with the HEAD currently results in `ASSERT failed! file stgSyn/CoreToStg.lhs line 239` (with a DEBUG compiler).33 * #2984 27 34 28 35 Category: ''Efficiency'' (improve scalability and/or baseline performance of generated code): … … 56 63 * '''Hierarchical matrix representation:''' Sparse matrices can be spaceefficiently represented by recursively decomposing them into four quadrants. Decomposition stops if a quadrant is smaller than a threshold or contains only zeros. Multiplication of such matrices is straight forward using Strassen's divideandconquer scheme, which is popular for parallel implementations. Other operations, such as transposing a matrix, can also be efficiently implemented. The plan is to experiment with the implementation of some BLAS routines using this representation. 57 64 65 * '''Benchmark status:''' Update and complete [wiki:DataParallel/BenchmarkStatus]. 66 58 67 * '''Nbody:''' Get a fully vectorised nbody code to run and scale well on !LimitingFactor. 68 69  70 71 === Done === 72 73 * '''!CoreToStg''': Compiling package dph with the HEAD currently results in `ASSERT failed! file stgSyn/CoreToStg.lhs line 239` (with a DEBUG compiler). 74