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 484, Tue Nov 23 16:51:51 2010 UTC revision 485, Fri Dec 10 16:06:03 2010 UTC
# Line 38  Line 38 
38  We are building a compiler for this design and expect that the design will  We are building a compiler for this design and expect that the design will
39  evolve as we get experience with the implementation.  evolve as we get experience with the implementation.
40  Also, the design is conservative, in that it does not provide all of the features that  Also, the design is conservative, in that it does not provide all of the features that
41  we plan to provide (<i>e.g.</i>, actor-actor interactions).  we plan to provide (<i>e.g.</i>, interactions between strands).
42  </p>  </p>
43    
44  <h4>Types</h4>  <h4>Types</h4>
# Line 65  Line 65 
65  <p>A Diderot program is organized into three logical sections:</p>  <p>A Diderot program is organized into three logical sections:</p>
66  <ol>  <ol>
67    <li>Global declarations define global values, such as fields, as well as the inputs to the program.</li>    <li>Global declarations define global values, such as fields, as well as the inputs to the program.</li>
68    <li>Actor definitions define the computational agents that implement the program</li>    <li>Strand definitions define the computational agents that implement the program</li>
69    <li>Initialization defines the initial set of actors and their structure</li>    <li>Initialization defines the initial set of strands and their structure</li>
70  </ol>  </ol>
71    
72  <h4>Actors</h4>  <h4>Strands</h4>
73  <p>  <p>
74  An <em>actor</em> represents a mostly autonomous computation with local state, which includes  A <em>strand</em> represents a mostly autonomous computation with local state, which includes
75  their <em>position</em> in world space.  its <em>position</em> in world space.
76  An actor definition consists of declared state variables and methods.  A strand definition consists of declared state variables and methods.
77  All actors must have an <em>update</em> method and may optionally have a <em>stabilize</em>  All strands must have an <em>update</em> method and may optionally have a <em>stabilize</em>
78  method.  method.
79  </p>  </p>
80    <p>
81    Note that we used use the term <em>actor</em> for the computational entities, but that led to some
82    confusion with actor-languages, so we have changed the name to strand.
83    </p>
84    
85  <h4>Execution model</h4>  <h4>Execution model</h4>
86  <p>The Diderot execution model is <em>bulk synchronous</em>.  <p>The Diderot execution model is <em>bulk synchronous</em>.
87  At each iteration, the update methods of all active actors are invoked, resulting in a new  At each iteration, the update methods of all active strands are invoked, resulting in a new
88  configuration.  configuration.
89  </p>  </p>
90    
# Line 111  Line 115 
115  <span class="code-type">image(3)[]</span> img = load (dataFile);  <span class="code-type">image(3)[]</span> img = load (dataFile);
116  <span class="code-type">field#1(3)[]</span> F = img ⊛ bspln3;  <span class="code-type">field#1(3)[]</span> F = img ⊛ bspln3;
117    
118  <span class="code-kw">actor</span> RayCast (<span class="code-type">int</span> row, <span class="code-type">int</span> col)  <span class="code-kw">strand</span> RayCast (<span class="code-type">int</span> row, <span class="code-type">int</span> col)
119  {  {
120      <span class="code-type">vec3</span> pos = orig + <span class="code-type">real</span>(row)*rVec + <span class="code-type">real</span>(col)*cVec;      <span class="code-type">vec3</span> pos = orig + <span class="code-type">real</span>(row)*rVec + <span class="code-type">real</span>(col)*cVec;
121      <span class="code-type">vec3</span> dir = (pos - eye)/|pos - eye|;      <span class="code-type">vec3</span> dir = (pos - eye)/|pos - eye|;
# Line 174  Line 178 
178    
179  <h3>Support</h3>  <h3>Support</h3>
180  <p>  <p>
181  We thank the <a href="http://research.nvidia.com/content/academic-partnership-program">NVIDIA</a> for a donation of hardware.  We thank <a href="http://research.nvidia.com/content/academic-partnership-program">NVIDIA</a>
182    for hardware and financial support.
183  </p>  </p>
184    
185  <hr />  <hr />
186  Last modified: November 23, 2010.  Last modified: December 10, 2010.
187  <hr />  <hr />
188    
189  </body>  </body>

Legend:
Removed from v.484  
changed lines
  Added in v.485

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