Changes between Version 13 and Version 14 of Status/Oct09


Ignore:
Timestamp:
Nov 4, 2009 3:53:08 AM (4 years ago)
Author:
chak
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Status/Oct09

    v13 v14  
    172172=== Data Parallelism === 
    173173 
    174 Data Parallel Haskell has seen few user-visible changes since the last report.  Nevertheless, Roman Leshchinskiy has been busy improving many of the fundamental building blocks behind the scenes.  These changes were necessary as DPH was able to generate very fast parallel code for simple examples, but the optimisation infrastructure was been too fragile — i.e., small changes to other parts of GHC (most notably, the Simplifier) or to the DPH libraries could lead to dramatic performance regressions.  Over the last few months, Roman has been working on making the system more robust, while Simon PJ improved and extended parts of GHC's existing optimisation infrastructure (such as the Inliner and other aspects of the Simplifier) to support Roman's efforts.  As a first consequence of these efforts, the divide-and-conquer quickhull benchmark (computing a convex hull) is now significantly faster than the corresponding list-based implementation [!QuickHull].  This is an important milestone as quickhull uses dynamically nested parallelism whose depth is not statically bound. 
     174Data Parallel Haskell has seen few user-visible changes since the last report.  Nevertheless, Roman Leshchinskiy has been busy improving many of the fundamental building blocks behind the scenes.  These changes were necessary as DPH was able to generate very fast parallel code for simple examples, but the optimisation infrastructure was been too fragile — i.e., small changes to other parts of GHC (most notably, the Simplifier) or to the DPH libraries could lead to dramatic performance regressions.  Over the last few months, Roman has been working on making the system more robust, while Simon PJ improved and extended parts of GHC's existing optimisation infrastructure (such as the Inliner and other aspects of the Simplifier) to support Roman's efforts.  As a first consequence of this recent work, the divide-and-conquer quickhull benchmark (computing a convex hull) is now significantly faster than the corresponding list-based implementation [!QuickHull].  This is an important milestone as quickhull uses dynamically nested parallelism whose depth is not statically bound. 
     175 
     176Gabriele Keller implemented a first prototype of a new library API for ''regular multi-dimensional'' arrays to complement the existing irregular, nested arrays.  For regular computations on dense matrices, relaxation methods and similar, regular arrays (as opposed to nested arrays) are more convenient and expose additional opportunities for optimisation.  Gabriele obtained very encouraging first results with a sequential version that uses a new fusion technique, which we are calling ''delayed arrays'' [!RegLibBench]. 
    175177 
    176178=== Code generation === 
     
    231233 * [!QuickHull] [http://darcs.haskell.org/packages/dph/examples/quickhull/QuickHullVect.hs] 
    232234 
     235 * [!RegLibBench] [http://www.scribd.com/doc/22091707/Delayed-Regular-Arrays-Sep09] 
     236 
    233237== Bibliography: wiki == 
    234238