Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /web/htdocs/index.html
ViewVC logotype

Diff of /web/htdocs/index.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 366, Thu Sep 30 13:01:12 2010 UTC revision 376, Mon Oct 4 12:56:40 2010 UTC
# Line 18  Line 18 
18  We are particularly interested in a class of algorithms that are programmed  We are particularly interested in a class of algorithms that are programmed
19  in terms of <em>continuous</em> scalar, vector, and tensor fields that  in terms of <em>continuous</em> scalar, vector, and tensor fields that
20  are reconstructed from the image data.  are reconstructed from the image data.
21    Our goals are to provide a high-level mathematical programming model for
22    these algorithms, while also providing high-performance implementations
23    on a variety of parallel hardware platforms.
24  </p>  </p>
25    
26  <h3>People</h3>  <h3>People</h3>
# Line 27  Line 30 
30    <li><a href="http://www.cs.uchicago.edu/people/lamonts">Lamont Samuels</a></li>    <li><a href="http://www.cs.uchicago.edu/people/lamonts">Lamont Samuels</a></li>
31  </ul>  </ul>
32    
33    <h3>Language overview</h3>
34    <p>
35    The following is an overview of our current preliminary design for Diderot.
36    We are building a compiler for this design and expect that the design will
37    evolve as we get experience with the implementation.
38    Also, the design is conservative, in that it does not provide all of the features that
39    we plan to provide (<i>e.g.</i>, actor-actor interactions).
40    </p>
41    
42    <h4>Types</h4>
43    <p>
44    The main type of computational value in Diderot is a <em>tensor</em>, which includes
45    reals (0-order tensors), vectors, and matrices.
46    In addition, Diderot provides booleans, integers, and strings.
47    Diderot also has three <em>abstract</em> types:
48    </p>
49    <dl>
50      <dt>images</dt>
51        <dd>are used to represent the data being analyzed, as well as other array data, such as transfer
52    functions.
53        </dd>
54      <dt>kernels</dt>
55        <dd>are separable convolution kernels</dd>
56      <dt>fields</dt>
57        <dd>are an abstraction of functions from 1D, 2D, or 3D space to some tensor type.
58        A field is defined by convolving an image with a kernel.
59        </dd>
60    </dl>
61    
62    <h4>Program structure</h4>
63    <p>A Diderot program is organized into three logical sections:</p>
64    <ol>
65      <li>Global declarations define global values, such as fields, as well as the inputs to the program.</li>
66      <li>Actor definitions define the computational agents that implement the program</li>
67      <li>Initialization defines the initial set of actors and their structure</li>
68    </ol>
69    
70    <h4>Actors</h4>
71    <p>
72    An <em>actor</em> represents a mostly autonomous computation with local state, which includes
73    their <em>position</em> in world space.
74    An actor definition consists of declared state variables and methods.
75    All actors must have an <em>update</em> method and may optionally have a <em>stabilize</em>
76    method.
77    </p>
78    
79    <h4>Execution model</h4>
80    <p>The Diderot execution model is <em>bulk synchronous</em>.
81    At each iteration, the update methods of all active actors are invoked, resulting in a new
82    configuration.
83    </p>
84    
85  <h3>Status</h3>  <h3>Status</h3>
86  <p>  <p>
87  We have a prototype language design that can handle simple examples, such as volume  We have a prototype language design that can handle simple examples, such as volume
# Line 34  Line 89 
89  This compiler will generate CUDA or OpenCL code for running on GPUs.  This compiler will generate CUDA or OpenCL code for running on GPUs.
90  </p>  </p>
91    
92    <h3>Further information</h3>
93    <p>
94    We have not published any papers on Diderot yet, but here are some unpublished documents that provide
95    additional details about the project.
96    </p>
97    <ul>
98      <li><a href="papers/msrc-talk-20100906.pdf"><em>Diderot: A parallel domain-specific language for image analysis</em></a>, talk
99      given at Microsoft Research --- Cambridge, September 6, 2010.
100      </li>
101    </ul>
102    
103  <hr />  <hr />
104  Last modified: September 30, 2010.  Last modified: October 4, 2010.
105  <hr />  <hr />
106    
107  </body>  </body>

Legend:
Removed from v.366  
changed lines
  Added in v.376

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0