[Swift-commit] r8470 - www/Swift-T

wozniak at ci.uchicago.edu wozniak at ci.uchicago.edu
Mon Jul 27 10:48:26 CDT 2015


Author: wozniak
Date: 2015-07-27 10:48:26 -0500 (Mon, 27 Jul 2015)
New Revision: 8470

Modified:
   www/Swift-T/guide.html
Log:
Fix for floor/ceil/round types


Modified: www/Swift-T/guide.html
===================================================================
--- www/Swift-T/guide.html	2015-07-23 21:57:35 UTC (rev 8469)
+++ www/Swift-T/guide.html	2015-07-27 15:48:26 UTC (rev 8470)
@@ -536,7 +536,7 @@
 
 
 
-/* SWIFT/T GUIDE CUSTOMIZATIONS */
+/* Swift/T guide customizations */
 
 a:visited {
   color: gray;
@@ -544,7 +544,6 @@
 h5 {
   font-size: 0.8em;
 }
-
 </style>
 <script type="text/javascript">
 /*<![CDATA[*/
@@ -758,10 +757,10 @@
 </div>
 </div>
 <div class="sect1">
-<h2 id="_support">1. Support</h2>
+<h2 id="support">1. Support</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>An overview of Swift/T may be found at the ExM project site:</p></div>
-<div class="paragraph"><p><a href="https://sites.google.com/site/exmcomputing">https://sites.google.com/site/exmcomputing</a></p></div>
+<div class="paragraph"><p>An overview of Swift/T may be found at the main Swift site:</p></div>
+<div class="paragraph"><p><a href="http://swift-lang.org/Swift-T">http://swift-lang.org/Swift-T</a></p></div>
 <div class="paragraph"><p>The Swift/T user discussion mailing list is found here:</p></div>
 <div class="paragraph"><p><a href="http://lists.mcs.anl.gov/mailman/listinfo/exm-user">http://lists.mcs.anl.gov/mailman/listinfo/exm-user</a></p></div>
 </div>
@@ -779,6 +778,8 @@
 for specific systems.</p></div>
 <div class="sect2">
 <h3 id="_installation_of_prerequisites">2.1. Installation of Prerequisites</h3>
+<div class="paragraph"><p>All Swift/T prerequisites can be installed using the appropriate
+package manager for your system.</p></div>
 <div class="olist arabic"><ol class="arabic">
 <li>
 <p>
@@ -787,24 +788,30 @@
 <div class="ulist"><ul>
 <li>
 <p>
-On compute clusters, an MPI will almost certainly be pre-installed
+On maintained compute clusters, an MPI implementation
+   will almost certainly be pre-installed.
 </p>
 </li>
 <li>
 <p>
 Many operating systems provide packages with MPI implementations
-  that are usable, but often outdated.
-  E.g. the <code>mpich2</code> package on Debian/Ubuntu.
+   that are usable, but often outdated.
+   E.g. the <code>mpich2</code> package on Debian/Ubuntu.
 </p>
 </li>
 <li>
 <p>
 See <a href="http://www.mpich.org">MPICH Guides</a> for information on installing the
-  latest version of MPICH.
+   latest version of MPICH.
 </p>
 </li>
 <li>
 <p>
+Installing MPICH from source is not difficult.
+</p>
+</li>
+<li>
+<p>
 Other MPI implementations are <a href="#Build_configuration">supported</a> as well.
 </p>
 <div class="paragraph"><p>Swift/T attempts to use MPI 3.0 functionality by default.  If you
@@ -822,49 +829,37 @@
 <div class="ulist"><ul>
 <li>
 <p>
-Tcl is available through the package manager on many systems.
-   You may need to install an additional Tcl development package
-   in addition to the standard tcl package,
-   e.g. <code>tcl8.6</code> plus <code>tcl8.6-dev</code> on Debian/Ubuntu systems.
+You may need to install an additional Tcl development package
+  in addition to the standard Tcl package,
+  e.g., <code>tcl8.6</code> plus <code>tcl8.6-dev</code> on Debian/Ubuntu (APT) systems.
 </p>
 </li>
 <li>
 <p>
 Source distributions are available at the <a href="http://www.tcl.tk">Tcl web
-site</a>
+  site</a>
 </p>
 </li>
 <li>
 <p>
-Tcl 8.5 is also acceptable.
+Tcl 8.5 is also acceptable.  (Swift/T optionally uses Tcl 8.6
+  features to produce cleaner error messages.)
 </p>
 </li>
 </ul></div>
 </li>
 <li>
 <p>
-Install or locate SWIG
+Ensure you have these third-party software development tools (APT
+   packages are denoted in parentheses):
+   SWIG (<code>swig</code>), ZSH (<code>zsh</code>), Apache Ant (<code>ant</code>), a Java Development
+   Kit (<code>default-jdk</code>), Make (<code>make</code>), and GCC for C (<code>gcc</code>).
 </p>
-<div class="ulist"><ul>
-<li>
-<p>
-You can check if SWIG is installed by running <code>swig -version</code>
-</p>
 </li>
-<li>
-<p>
-SWIG is available through the package manager on many systems.
-</p>
-</li>
-<li>
-<p>
-Source distributions are available at
-   the <a href="http://swig.org">SWIG web site</a>
-</p>
-</li>
-</ul></div>
-</li>
 </ol></div>
+<div class="paragraph"><p>Swift/T is primarily tested with OpenJDK+GCC and IBM Java+XLC
+   (on the IBM Blue Gene).  If you have difficulties with other
+   compilers, please <a href="#support">contact us</a>.</p></div>
 </div>
 <div class="sect2">
 <h3 id="_installation_of_swift_t_from_source">2.2. Installation of Swift/T from Source</h3>
@@ -2358,7 +2353,7 @@
 <div class="paragraph"><p><strong>Import:</strong> <code>math</code></p></div>
 <div class="dlist"><dl>
 <dt class="hdlist1">
-<code>floor(float) → int</code>
+<code>floor(float) → float</code>
 </dt>
 <dd>
 <p>
@@ -2366,7 +2361,7 @@
 </p>
 </dd>
 <dt class="hdlist1">
-<code>ceil(float) → int</code>
+<code>ceil(float) → float</code>
 </dt>
 <dd>
 <p>
@@ -2374,7 +2369,7 @@
 </p>
 </dd>
 <dt class="hdlist1">
-<code>round(float) → int</code>
+<code>round(float) → float</code>
 </dt>
 <dd>
 <p>
@@ -3325,9 +3320,86 @@
 to the <a href="http://swift-lang.org/docs/">Swift/K documentation</a>.</p></div>
 </div>
 <div class="sect2">
-<h3 id="_external_scripting_support">14.5. External scripting support</h3>
+<h3 id="_custom_app_executors_advanced">14.5. Custom App Executors (Advanced)</h3>
+<div class="paragraph"><p>It is possible to extend Swift/T with additional app executors.
+To implement an executor, you need to write C code implementing the
+<code>turbine_executor</code> interface (defined in <code>turbine/executors/exec_interface.h</code>).
+Your <code>turbine_executor</code> implementation is registered at runtime by calling the
+<code>turbine_add_async_exec</code> function.  The details of the interface
+are documented in <code>exec_interface.h</code>.</p></div>
+<div class="paragraph"><p>You also need to register the
+executor with Swift by adding a <code>appexecdef</code> statement in your
+Swift source code, typically in a module that is imported to enable your
+executor.  The <code>appexecdef</code> statement provides a Tcl template that is
+used to start jobs in your executor.  You must implement this Tcl function
+as part of implementing the executor.  For example, the coaster executor is
+defined as follows:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>pragma appexecdef COASTER "turbine" "0.8.0"
+    "turbine::async_exec_coaster <<cmd>> <<args>> <<stage_in>> <<stage_out>> <<props>> <<success>> <<failure>>";</code></pre>
+</div></div>
+<div class="paragraph"><p>The arguments are:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>cmd</code>
+</dt>
+<dd>
+<p>
+a string with the executable to run
+</p>
+</dd>
+<dt class="hdlist1">
+<code>args</code>
+</dt>
+<dd>
+<p>
+a list of command-line arguments to pass to the executable
+</p>
+</dd>
+<dt class="hdlist1">
+<code>stage_in</code>
+</dt>
+<dd>
+<p>
+a list of files to stage in (currently unused)
+</p>
+</dd>
+<dt class="hdlist1">
+<code>stage_out</code>
+</dt>
+<dd>
+<p>
+a list of files to stage out (currently unused)
+</p>
+</dd>
+<dt class="hdlist1">
+<code>props</code>
+</dt>
+<dd>
+<p>
+a Tcl dictionary of properties to pass to the executor.
+          This includes <code>stdin</code>, <code>stdout</code>, <code>stderr</code> for input/output
+          redirects and any executor-specific options.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>success</code>/<code>failure</code>
+</dt>
+<dd>
+<p>
+Tcl code that is executed on success or failure.
+          Your executor implementation only needs to save these values
+          and return them once the app completes (this is documented
+          in <code>exec_interface.h</code>).
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_external_scripting_support">14.6. External scripting support</h3>
 <div class="sect3">
-<h4 id="_calling_python">14.5.1. Calling Python</h4>
+<h4 id="_calling_python">14.6.1. Calling Python</h4>
 <div class="paragraph"><p>You can evaluate arbitrary Python code from within Swift/T.  For
 example, you can perform processing with a Python library.
 Once you have that working, you can use Swift/T to coordinate
@@ -3413,7 +3485,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="_calling_r">14.5.2. Calling R</h4>
+<h4 id="_calling_r">14.6.2. Calling R</h4>
 <div class="paragraph"><p>Consider the following Swift script:</p></div>
 <div class="listingblock">
 <div class="content">
@@ -3462,7 +3534,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="_calling_julia">14.5.3. Calling Julia</h4>
+<h4 id="_calling_julia">14.6.3. Calling Julia</h4>
 <div class="paragraph"><p>Consider the following Swift script:</p></div>
 <div class="listingblock">
 <div class="content">
@@ -4112,6 +4184,16 @@
 </p>
 </dd>
 <dt class="hdlist1">
+<code>ADLB_PLACEMENT</code>
+</dt>
+<dd>
+<p>
+Change the placement policy.  Alternatives are:
+      random (place data on a random server - the default) and
+      local (place data on the local server).
+</p>
+</dd>
+<dt class="hdlist1">
 <code>VALGRIND</code>
 </dt>
 <dd>
@@ -4524,7 +4606,7 @@
 <div id="footnotes"><hr /></div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2015-04-06 10:41:00 CDT
+Last updated 2015-07-27 10:46:37 CDT
 </div>
 </div>
 </body>




More information about the Swift-commit mailing list