Changes between Version 19 and Version 20 of DataParallel/WorkPlan


Ignore:
Timestamp:
Mar 27, 2009 10:57:21 AM (6 years ago)
Author:
chak
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DataParallel/WorkPlan

    v19 v20  
    88 * '''Code blow up:''' what do we do about dictionary instances, their inlining, floating, and sharing?
    99
    10  * What the status of using TH for generating library boilerplate?
     10 * What is the status of using TH for generating library boilerplate?
    1111
    1212=== Milestones ===
     
    1818
    1919 ''Roman''::
    20    '''Template Haskell''' & '''Recycling for joinD'''
     20   '''Code blow up''', '''Generate boilerplate with TH''' & '''Recycling for joinD'''
    2121   – status: partly implemented, but still needs serious work
    22    * However, before any further major changes to the library, Roman needs to first re-arrange things such that the library boilerplate is generated, instead of being hardcode; otherwise, changes require a lot of tiresome code editing.  This is partially done.
     22   * We still don't have the code blow up under control.
     23   * Before any further major changes to the library, Roman needs to first re-arrange things such that the library boilerplate is generated, instead of being hardcode; otherwise, changes require a lot of tiresome code editing.  This is partially done.
    2324
    2425 ''Simon''::
     
    6869 * '''Prelude:''' Extend vectorisation to the point, where it can compile the relevant pieces of the standard Prelude, so that we can remove the DPH-specific mini-Prelude.  (Requires: '''Unboxed values''')
    6970
     71Category:  ''Refactoring and similar'' (improve compile times):
     72
     73 * '''Generate boilerplate with TH:''' Use Template Haskell to automate boilerplate generation.
     74
    7075Category: ''Case studies'' (benchmarks and example applications):
    7176
     
    8489=== Done ===
    8590
     91 * '''Template Haskell support for type families and INLINE pragmas''' . [Implemented.]
     92
    8693 * '''More expressive rewrite rules:''' It seems that with more expressive rewrite rules may enable us to handle many of the problems with replicate an friends using rules.  (At least when the proper inlining happens.)  Much of this is needed to optimise shape computations, which in turn enables subsequent optimisations. [Further investigation suggested the following approach: We want to handle some functions (until their are inlined) like data constructors during rule matching, so that they also match rule arguments when they are bound to a variable.  This is, for example, important to optimise `repeat` in `smvm`.  (GHC now supports `INLINE CONLIKE` pragmas.)]
    8794
    8895 * '''Scaling:''' Investigate the scaling problems that we are seeing with vectorised code at the moment.  ('''Replicate''' and '''Recycling''' play a role here, but it is unclear whether that's all.  Some benchmarks are simply memory-bandwidth limited.)  [So far, we only found scaling problems due to memory bandwidth of the tested architecture.  Scaling on the Sun T2 is excellent.]
    8996
    90  * '''DUE 9 March.''' Poster for ''Microsoft External Research Symposium''.  [Submitted to MER.]
     97 * '''DUE 9 March.''' Poster for ''Microsoft External Research Symposium''.  [Submitted to MER.]
    9198
    9299 * '''Benchmark status:''' Update and complete [wiki:DataParallel/BenchmarkStatus]; at the same time clean up the benchmark portion of the repo.  [Completed a first sweep through this with updated benchmark results for !SumSq, DotP, and SMVM, cleaned up code, and a much better idea of what the most important work items from now on are.]