[cig-commits] r5309 - mc/3D/CitcomS/trunk/doc/manual

leif at geodynamics.org leif at geodynamics.org
Thu Nov 16 18:24:52 PST 2006


Author: leif
Date: 2006-11-16 18:24:51 -0800 (Thu, 16 Nov 2006)
New Revision: 5309

Modified:
   mc/3D/CitcomS/trunk/doc/manual/citcoms.lyx
Log:
Revised everything having to do with runtime configuration:
launcher.xxx, scheduler.xxx, and job.xxx.

Lowered the prominence/importance given to .pml files...
and resisted my temptation to delete all reference to them :-)

(I think I'm pretty much done with the v2.1 manual at this point.
Reading the manual makes me tired, because it reminds me of how
much work remains to be done on the code itself.  Ease-of-use
could be substantially improved...)


Modified: mc/3D/CitcomS/trunk/doc/manual/citcoms.lyx
===================================================================
--- mc/3D/CitcomS/trunk/doc/manual/citcoms.lyx	2006-11-16 21:58:42 UTC (rev 5308)
+++ mc/3D/CitcomS/trunk/doc/manual/citcoms.lyx	2006-11-17 02:24:51 UTC (rev 5309)
@@ -2664,8 +2664,11 @@
 Properly configured, Pyre can handle job submission automatically, insulating
  users from the details of the batch system and the site configuration.
  This feature has the most value when the system administrator installs
- a global Pyre configuration file on the cluster, for the benefit of all
- users and all Pyre-based applications.
+ a global Pyre configuration file on the cluster (under 
+\family typewriter
+/etc/pythia-0.8
+\family default
+), for the benefit of all users and all Pyre-based applications.
 \end_layout
 
 \begin_layout Standard
@@ -2676,20 +2679,13 @@
 \end_inset
 
 .
- You may find the 
-\family typewriter
---scheduler.dry
-\family default
- option useful while debugging the batch system configuration: 
-\end_layout
+ For more information on batch system configuration as it pertains to running
+ CitcomS, see Section 
+\begin_inset LatexCommand \vref{sub:Launchers-and-Schedulers}
 
-\begin_layout LyX-Code
-citcoms --scheduler.dry
-\end_layout
+\end_inset
 
-\begin_layout Standard
-This option will cause CitComS to perform a "dry run," dumping the batch
- script to the console, instead of actually submitting it for execution.
+.
 \end_layout
 
 \begin_layout Section
@@ -2964,8 +2960,7 @@
 \end_layout
 
 \begin_layout Standard
-When you build CitComS without the Pyre framework, two binary executables,
- 
+When you build CitComS, two binary executables, 
 \family typewriter
 CitcomSRegional
 \family default
@@ -2978,7 +2973,8 @@
 bin
 \family default
  directory.
- These programs do not use Python or the Pyre framework.
+ These programs do not use Python or the Pyre framework (even if CitcomS
+ was configured to use the Pyre framework).
  Each program has the same usage:
 \end_layout
 
@@ -3009,15 +3005,16 @@
 \end_layout
 
 \begin_layout Section
-Using CitComS.py with Pyre
+Using CitComS with Pyre
 \end_layout
 
 \begin_layout Standard
-If you build CitComS.py with the Pyre framework, a Python script named 
+If you build CitComS.py with the Pyre framework, an additional executable,
+ 
 \family typewriter
 citcoms
 \family default
- placed under the 
+, is placed under the 
 \family typewriter
 bin
 \family default
@@ -3026,7 +3023,8 @@
 \family typewriter
 citcoms
 \family default
- script is used for running both the regional and full spherical models.
+ executable is a Python script used for running both the regional and full
+ spherical models using Pyre.
  Executed without any command line options, 
 \family typewriter
 citcoms
@@ -3074,7 +3072,7 @@
 
 \begin_layout Standard
 There are several methods to set the input parameters for CitComS.py: via
- the command line or by using a 
+ the command line, or by using a configuration file in 
 \family typewriter
 .cfg
 \family default
@@ -3082,7 +3080,7 @@
 \family typewriter
 .pml
 \family default
- file.
+ format.
 \end_layout
 
 \begin_layout Subsection
@@ -3158,11 +3156,11 @@
 vim
 \family default
  editor.
- Upon termination of each run, all of the parameters are logged in a 
+ (Upon termination of each run, all of the parameters are logged in a 
 \family typewriter
 .cfg
 \family default
- file.
+ file.)
 \end_layout
 
 \begin_layout Subsection
@@ -3180,7 +3178,7 @@
 \family default
  file is an XML file that specifies parameter values in a highly structured
  format.
- The file is composed of nested sections which are formatted as follows:
+ It is composed of nested sections which are formatted as follows:
 \end_layout
 
 \begin_layout LyX-Code
@@ -3199,31 +3197,58 @@
 </component>
 \end_layout
 
+\begin_layout Standard
+XML files are intended to be read and written by machines, not edited manually
+ by humans.
+ The 
+\family typewriter
+.pml
+\family default
+ file format is intended for applications in which CitcomS input files are
+ generated by another program; for example, a GUI, web application, or a
+ high-level structured editor.
+ This file fomat will not be discussed further here.
+ But if you are interested in using 
+\family typewriter
+.pml
+\family default
+ files, note that 
+\family typewriter
+.pml
+\family default
+ files and 
+\family typewriter
+.cfg
+\family default
+ files can be used interchangeably: in the following discussion, a file
+ with a 
+\family typewriter
+.pml
+\family default
+ extension can be substituted anywhere a 
+\family typewriter
+.cfg
+\family default
+ file can be used.
+\end_layout
+
 \begin_layout Subsection
 Specfication and Placement of Configuration Files
 \end_layout
 
 \begin_layout Standard
-Configuration files of either type may be specified on the command line:
+Configuration files may be specified on the command line:
 \end_layout
 
 \begin_layout LyX-Code
 $ citcoms example.cfg
 \end_layout
 
-\begin_layout LyX-Code
-$ citcoms example.pml
-\end_layout
-
 \begin_layout Standard
 In addition, the Pyre framework searches for configuration files named 
 \family typewriter
 CitcomS.cfg
 \family default
- or 
-\family typewriter
-CitcomS.pml
-\family default
  in several predefined locations.
  You may put settings in any or all of these locations, depending on the
  scope you want the settings to have:
@@ -3234,10 +3259,6 @@
 \family typewriter
 PREFIX/etc/CitcomS.cfg
 \family default
- and 
-\family typewriter
-PREFIX/etc/CitcomS.pml
-\family default
 , for system-wide settings;
 \end_layout
 
@@ -3246,10 +3267,6 @@
 \family typewriter
 $HOME/.pyre/CitcomS.cfg
 \family default
- and 
-\family typewriter
-$HOME/.pyre/CitcomS/CitcomS.pml
-\family default
 , for user settings and preferences;
 \end_layout
 
@@ -3258,32 +3275,20 @@
 \family typewriter
 ./CitcomS.cfg
 \family default
- and 
-\family typewriter
-./CitcomS.pml
-\family default
 ), for local overrides.
  
 \end_layout
 
 \begin_layout Standard
 Parameters given directly on the command line will override any input contained
- in a 
-\family typewriter
-.cfg
-\family default
- or 
-\family typewriter
-.pml
-\family default
- configuration file.
+ in a configuration file.
  Configuration files given on the command line override all others.
  The 
 \family typewriter
-CitcomS.*
+CitcomS.cfg
 \family default
- configuration files placed in (3) will override those in (2), (2) overrides
- (1), and (1) overrides only the built-in defaults.
+ files placed in (3) will override those in (2), (2) overrides (1), and
+ (1) overrides only the built-in defaults.
 \end_layout
 
 \begin_layout Section
@@ -3377,7 +3382,7 @@
 \begin_layout Standard
 CitComS runs similarly in full spherical or regional modes.
  For the purpose of this example, you will perform a test run of the regional
- version.
+ version on a workstation.
  Execute the following on the command line:
 \end_layout
 
@@ -3410,15 +3415,31 @@
 
 \begin_layout Standard
 Instead of writing the input parameters on the command line, you can put
- them in a .cfg file.
- When you downloaded the CitComS.py source, this included an 
+ them in a 
 \family typewriter
+.cfg
+\family default
+ file.
+ The CitComS.py source package contains an 
+\family typewriter
 examples
 \family default
- directory.
- In this directory, you will find an equivalent .cfg of the previous example
- 
+ directory (the 
 \family typewriter
+make install
+\family default
+ command installs the examples under 
+\family typewriter
+PREFIX/share/CitcomS/examples
+\family default
+, where 
+\family typewriter
+PREFIX
+\family default
+ is the CitcomS installation directory).
+ In this directory, you will find a configuration file equivalent the previous
+ example: 
+\family typewriter
 example0.cfg
 \family default
 .
@@ -3471,9 +3492,9 @@
 \end_layout
 
 \begin_layout Standard
-In order to run this example you should be on a Beowulf cluster with four
- or more processors or on a supercomputer and be in the directory in which
- the input file is located, in this case, the 
+In order to run this example, you should be on a Beowulf cluster with four
+ or more processors, or on a supercomputer; and you should be in the directory
+ in which the input file is located, in this case, the 
 \family typewriter
 examples
 \family default
@@ -3483,8 +3504,8 @@
  How to run a multiprocessor CitComS.py model depends on your hardware and
  software settings, e.g., whether a batch system is used, what the names of
  the computers in a cluster are, and how the file system is organized.
- This section will lead you through the different settings of parallel environme
-nt.
+ This section will lead you through the different settings of a parallel
+ environment.
  
 \end_layout
 
@@ -3801,67 +3822,279 @@
 \end_layout
 
 \begin_layout Subsection
-Launchers
+\begin_inset LatexCommand \label{sub:Launchers-and-Schedulers}
+
+\end_inset
+
+Launchers and Schedulers
 \end_layout
 
 \begin_layout Standard
-If you have used MPI before, you will know that 
+If you have used MPI before, you know that 
 \family typewriter
 mpirun
 \family default
  requires several command line options to launch a parallel job.
  Or if you have used one of the batch systems, you will know that the batch
  system requires you to write a script to launch a job.
- Fortunately, launching a parallel CitComS.py job is simplified by the 
+ Fortunately, launching a parallel CitComS.py job is simplified by Pyre's
+ 
 \family typewriter
 launcher
 \family default
- component.
- Many properties of the launcher component are pertinent to the cluster
- you are on, and are best customized in the system-wide 
+ and 
 \family typewriter
-CitcomS.pml
+scheduler
 \family default
- file.
+ facilities.
+ Many properties associated with 
+\family typewriter
+launcher
+\family default
+ and 
+\family typewriter
+scheduler
+\family default
+ are pertinent to the cluster you are on, and are best customized in a configura
+tion file.
+ Your personal CitcomS configuration file (
+\family typewriter
+~/.pyre/CitcomS/CitcomS.cfg
+\family default
+) is suitable for this purpose.
+ On a cluster, the ideal setup is to install a system-wide configuration
+ file under 
+\family typewriter
+/etc/pythia-0.8
+\family default
+, for the benefit of all users.
 \end_layout
 
+\begin_layout Standard
+Pyre's 
+\family typewriter
+scheduler
+\family default
+ facility is used to specify the type of batch system you are using (if
+ any):
+\end_layout
+
+\begin_layout LyX-Code
+[CitcomS]
+\end_layout
+
+\begin_layout LyX-Code
+scheduler = lsf
+\end_layout
+
+\begin_layout Standard
+The valid values for 
+\family typewriter
+scheduler
+\family default
+ are 
+\family typewriter
+lsf
+\family default
+, 
+\family typewriter
+pbs
+\family default
+, 
+\family typewriter
+globus
+\family default
+, and 
+\family typewriter
+none
+\family default
+.
+\end_layout
+
+\begin_layout Standard
+Pyre's 
+\family typewriter
+launcher
+\family default
+ facility is used to specify which MPI implementation you are using:
+\end_layout
+
+\begin_layout LyX-Code
+[CitcomS]
+\end_layout
+
+\begin_layout LyX-Code
+launcher = mpich
+\end_layout
+
+\begin_layout Standard
+The valid values for 
+\family typewriter
+launcher
+\family default
+ include 
+\family typewriter
+mpich
+\family default
+ and 
+\family typewriter
+lam-mpi
+\family default
+.
+\end_layout
+
+\begin_layout Standard
+You may find the 
+\family typewriter
+dry
+\family default
+ option useful while debugging the 
+\family typewriter
+launcher
+\family default
+ and 
+\family typewriter
+scheduler
+\family default
+ configuration.
+ To debug the scheduler configuration, use the 
+\family typewriter
+--scheduler.dry
+\family default
+ option:
+\end_layout
+
+\begin_layout LyX-Code
+citcoms --scheduler.dry
+\end_layout
+
+\begin_layout Standard
+This option will cause CitComS to perform a "dry run," dumping the batch
+ script to the console, instead of actually submitting it for execution
+ (the output is only meaningful if you're using a batch system).
+ Likewise, to debug the launcher configuration, use the 
+\family typewriter
+--launcher.dry
+\family default
+ option:
+\end_layout
+
+\begin_layout LyX-Code
+citcoms --launcher.dry
+\end_layout
+
+\begin_layout Standard
+This option will cause CitcomS to print the 
+\family typewriter
+mpirun
+\family default
+ command, instead of actually executing it.
+ (If you're using a batch system, a job will be submitted for execution;
+ when it runs, CitcomS will simply print the 
+\family typewriter
+mpirun
+\family default
+ command, and the job will immediately terminate.)
+\end_layout
+
 \begin_layout Subsubsection
-Using MPICH or LAM/MPI
+Running without a Batch System
 \end_layout
 
 \begin_layout Standard
-You need to specify on which machines the job will run.
+On a cluster without a batch system, you need to explicitly specify the
+ machines on which the job will run.
  Supposing the machines on your cluster are named n001, n002, \SpecialChar \ldots{}
 , etc., but
  you want to run the job on machines n001, n003, n004, and n005 (maybe n002
  is down for the moment).
- To run the example, invoke the following:
+ To run the example, create a file named 
+\family typewriter
+mymachines.cfg
+\family default
+ which specifies the machines to use:
 \end_layout
 
 \begin_layout LyX-Code
-$ citcoms example1.cfg --launcher.nodegen="n%03d" --launcher.nodelist=[1,3-5]
+[CitcomS.launcher]
 \end_layout
 
+\begin_layout LyX-Code
+nodegen = n%03d
+\end_layout
+
+\begin_layout LyX-Code
+nodelist = [1,3-5]
+\end_layout
+
 \begin_layout Standard
 The 
 \family typewriter
-launcher.nodegen
+nodegen
 \family default
  property is a printf-style format string, used in conjunction with 
 \family typewriter
-launcher.nodelist
+nodelist
 \family default
  to generate the list of machine names.
  The 
 \family typewriter
-launcher.nodelist
+nodelist
 \family default
  property is a comma-separated list of machine names in square brackets.
 \end_layout
 
 \begin_layout Standard
-If you use MPICH, you will notice that a machine file 
+Now, invoke the following:
+\end_layout
+
+\begin_layout LyX-Code
+$ citcoms example1.cfg mymachines.cfg
+\end_layout
+
+\begin_layout Standard
+This strategy gives you the flexibility to create an assortment of 
 \family typewriter
+.cfg
+\family default
+ files (with one 
+\family typewriter
+.cfg
+\family default
+ file for each machine list) which can be easily paired with different parameter
+ files.
+\end_layout
+
+\begin_layout Standard
+If your machine list does not change often, you may find it more convenient
+ to specify default values for 
+\family typewriter
+nodegen
+\family default
+ and 
+\family typewriter
+nodelist
+\family default
+ in 
+\family typewriter
+~/.pyre/CitcomS/CitcomS.cfg
+\family default
+ (which is read automatically).
+ Then, you can run any simulation with no additional arguments:
+\end_layout
+
+\begin_layout LyX-Code
+$ citcoms example1.cfg
+\end_layout
+
+\begin_layout Standard
+This assumes your machine list has enough nodes for the simulation in question,
+ of course!
+\end_layout
+
+\begin_layout Standard
+You will notice that a machine file 
+\family typewriter
 mpirun.nodes
 \family default
  is generated.
@@ -3869,33 +4102,84 @@
  Save the machine file as it will be useful in the postprocessing step.
 \end_layout
 
+\begin_layout Subsubsection
+Using a Batch System
+\end_layout
+
 \begin_layout Standard
-If you use LAM/MPI, no machine file is generated.
- In addition, you can pass additional environment variables to LAM/MPI via:
+The settings which are important when using batch system are summarized
+ in the sample configuration file which follows.
 \end_layout
 
 \begin_layout LyX-Code
-$ citcoms example1.cfg --launcher.environments=[env_var1,env_var2]
+[CitcomS]
 \end_layout
 
-\begin_layout Subsubsection
-Using a Batch System
+\begin_layout LyX-Code
+scheduler = lsf    ; the type of the installed batch system
 \end_layout
 
+\begin_layout LyX-Code
+
+\end_layout
+
+\begin_layout LyX-Code
+[CitcomS.lsf]
+\end_layout
+
+\begin_layout LyX-Code
+bsub-options = [-a mpich_gm]    ; special options for 'bsub'
+\end_layout
+
+\begin_layout LyX-Code
+
+\end_layout
+
+\begin_layout LyX-Code
+[CitcomS.launcher]
+\end_layout
+
+\begin_layout LyX-Code
+command = mpirun.lsf    ; 'mpirun' command to use on our cluster
+\end_layout
+
+\begin_layout LyX-Code
+
+\end_layout
+
+\begin_layout LyX-Code
+[CitcomS.job]
+\end_layout
+
+\begin_layout LyX-Code
+queue = normal    ; default queue for jobs
+\end_layout
+
 \begin_layout Standard
-First, follow the configuration instructions in section 
-\begin_inset LatexCommand \vref{sec:Batch-System-Configuration}
+These settings are usually placed in 
+\family typewriter
+~/.pyre/CitcomS/CitcomS.cfg
+\family default
+ or a system-wide configuration file.
+ They can be overridden on the command line, where one typically specifies
+ the job name and the allotted time for the job:
+\end_layout
 
-\end_inset
+\begin_layout LyX-Code
+$ citcoms example1.cfg --job.queue=debug 
+\backslash
 
-.
- Once configuration is complete, you can run the example:
 \end_layout
 
 \begin_layout LyX-Code
-$ citcoms example1.cfg
+    --job.name=example1 --job.walltime=5*minute
 \end_layout
 
+\begin_layout Standard
+The number of nodes to allocate for the job is determined automatically
+ based upon the simulation parameters.
+\end_layout
+
 \begin_layout Subsection
 Monitoring Your Jobs
 \end_layout
@@ -10023,7 +10307,7 @@
 \begin_layout Standard
 \noindent
 \begin_inset Tabular
-<lyxtabular version="3" rows="4" columns="2">
+<lyxtabular version="3" rows="5" columns="2">
 <features islongtable="true">
 <column alignment="left" valignment="top" leftline="true" width="1.75in">
 <column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
@@ -10061,8 +10345,8 @@
 \begin_inset Text
 
 \begin_layout Standard
-A facility specifying which launching command to use.
- Choice includes: 
+A facility specifying which launcher to use.
+ Choices include 
 \begin_inset Quotes sld
 \end_inset
 
@@ -10070,7 +10354,7 @@
 \begin_inset Quotes sld
 \end_inset
 
-, 
+ and 
 \begin_inset Quotes sld
 \end_inset
 
@@ -10078,7 +10362,28 @@
 \begin_inset Quotes sld
 \end_inset
 
-, 
+.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+scheduler=none
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+A facility specifying which scheduler to use.
+ Choices are 
 \begin_inset Quotes sld
 \end_inset
 
@@ -10191,7 +10496,7 @@
 \begin_layout Standard
 \noindent
 \begin_inset Tabular
-<lyxtabular version="3" rows="4" columns="2">
+<lyxtabular version="3" rows="3" columns="2">
 <features islongtable="true">
 <column alignment="left" valignment="top" leftline="true" width="1.75in">
 <column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
@@ -10209,7 +10514,11 @@
 \begin_inset Text
 
 \begin_layout Standard
-If on, print command line and exit without launching the job.
+If on, print the 
+\family typewriter
+mpirun
+\family default
+ command line and exit without launching the job.
 \end_layout
 
 \end_inset
@@ -10271,12 +10580,34 @@
 \end_inset
 </cell>
 </row>
-<row topline="true" bottomline="true">
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+scheduler
+\end_layout
+
+\begin_layout Standard
+The scheduler facility controls how CitComS.py submits jobs to a batch scheduler.
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="2" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
 \begin_inset Text
 
 \begin_layout Standard
-machinefile=mpirun.nodes
+dry=off
 \end_layout
 
 \end_inset
@@ -10285,15 +10616,198 @@
 \begin_inset Text
 
 \begin_layout Standard
-File name of machine file.
- Available only if 
+If on, print the batch script and exit without scheduling the job.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+wait=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+If on, wait for batch jobs to finish before exiting.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+job
+\end_layout
+
+\begin_layout Standard
+The job facility controls options for individual batch jobs.
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="6" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+name
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+The name for the job.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+queue
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+The name of the queue to which the job is scheduled.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+walltime
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Time limit for the job, specified using units; examples: 
+\begin_inset Quotes sld
+\end_inset
+
+
 \family typewriter
-launcher=mpich
+5*minute
+\family default
+
+\begin_inset Quotes srd
+\end_inset
+
+, 
+\begin_inset Quotes sld
+\end_inset
+
+
+\family typewriter
+2*hour
+\family default
+
+\begin_inset Quotes srd
+\end_inset
+
+.
 \end_layout
 
 \end_inset
 </cell>
 </row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+stdin=/dev/null
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+File to read as the input stream.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+stdout=stdout.txt
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+File to write for the output stream.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+stderr=stderr.txt
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+File to write for the error stream.
+\end_layout
+
+\end_inset
+</cell>
+</row>
 </lyxtabular>
 
 \end_inset



More information about the cig-commits mailing list