<?php $isip_window_title = "ISIP Homepage"; ?>
<?php include("/data/isip/www/templates/documentation/header/header.html"); ?>

<!--#set var="isip_page_title" value="isip_run" -->
<!--#include virtual="/hse/ies/templates/documentation/body/index_utility.html" -->
<?php include("/data/isip/www/templates/documentation/body/bar.html"); ?>

<a name="name">
<b>
name:
<a href="/perl/ifc_document.pl?file=$isip/util/speech/isip_run/isip_run.cc">isip_run</a>
</b>

<br><br>

<a name="synopsis">
<b>synopsis:</b>
<br><br>

<blockquote>
<pre>
isip_run has two modes: 1) Server(Default) 2) Cluster.</b>
isip_run -p param.sof [arguments] [files]</b>
or</b>
isip_run -mode cluster -cpus N -command_to_execute "some command" -walltime 01:00:00 -list list.sof</b> 
</pre>	
</blockquote>

<a name="quick_start">
<b>quick start:</b>
<br><br>

<blockquote>
<pre>
isip_run -help;
isip_run -parameter_file params.sof -list identifiers.sof -identifier_list identifier_list.sof -machine_list machine_list.sof -accumulator_list accumulator_list.sof [-database_file machine_database.sof] [-verbose brief]
isip_run -mode cluster -cpus 63 -command_to_execute "isip_transform -param param.sof -verbosity all" -list list.sof -walltime 09:00:00
</pre>
</blockquote>

<a name="description"> 
<b>description:</b>
<br><br>

<ul>
  This utility is used for submitting jobs in parallel, we can submit jobs both to the servers as well as a cluster. It automatically splits a list into 
individual jobs and submits it to the cluster. In the cluster mode we can also
run unix commands in parallel.
</ul>

<a name="options">
<b>arguments:</b>
<br><br>

<ul>
  <li> -help: displays a help message
  <li> -mode: choose the mode of operation: Server or Cluster (Default: Server)	  <br> <br>
  If mode is Server we can use the following options:	
  <br> <br>	
	
  <li> -verbose: log verbosity level
       <ul>
	 <li> NONE: output the number of files processed 
	 <li> BRIEF: output also names of the files processed
	 <li> DETAILED: output also hypotheses, scores and frames number 
       </ul>
  	
       <br>

  <li> -split_mode: identifier split mode (NONE, SPEED, MEMORY)
  <li> -parameter_file params.sof: parameters file
  <li> -list identifiers: input file list
  <li> -machine_list machine_list.sof: list of machine to distribute the jobs
  <li> -accumulator_list accum_list.sof: list of accumulator files (note: there should be a unique accumulator file for each machine in the machine list)
  <li> -log_list log_list.sof: list of log files corresponding to each machine
  <li> -identifier_list: list of identifier files (note: there should be a unique identifier file for each machine in the machine list)
  <li> -database_file database.sof: database that specifies the machine attributes
  <br><br>
  For Cluster mode we can use the following options:
  <br> <br>
  <li> -cpus: this specifies the number of cpus required
  <li> -command_to_execute: "some command"
  <li> -list: A list file which has to be split and submitted to the cluster with the appropriate command.
  <li> -walltime: specifies the maximum time we expect a single job to run
</ul>       

<a name="operands">
<b>operands:</b>

<ul>
  <li> file1.raw file2.sof *.* ... : speech files or any other file format which will work with the command given by the user.
</ul>

<a name="examples">
<b>examples:</b>
<br><br>

<ul>
  <li> This example shows how to use isip_run in the server mode. Server mode is used only for parallel training on servers:

<pre>
isip_run -parameter_file params.sof -list identifiers.sof -identifier_list identifier_list.sof -machine_list machine_list.sof -accumulator_list accumulator_list.sof [-database_file machine_database.sof] [-verbose brief]</pre>

  <li> This example shows how to use the cluster mode. Cluster mode is more flexible as we can do training, decoding, feature extraction and run shell commands in parallel:

<pre>
isip_run -mode cluster -cpus 63 -command_to_execute "isip_transform -param param.sof -verbosity all" -list list.sof -walltime 09:00:00"
</pre>

</ul>
       
<a name="manuals">
<b>manuals:</b>
<br><br>

<ul>
  None.
</ul>
       
<a name="languages">
<b>languages:</b>
<br><br>

<ul>
  This utility is written entirely in C++.
</ul>
       
<a name="variables">
<b>environment variables:</b>
<br><br>

<ul>
  None.
</ul>

<a name="files">
<b>files:</b>
<br><br>

<ul>
  <li> <a href="/perl/ifc_document.pl?file=$isip/util/speech/isip_run/isip_run.h">./isip_run.h</a>: header file

       <br><br>

  <li> <a href="/perl/ifc_document.pl?file=$isip/util/speech/isip_run/usage_message.text">./usage_message.text</a>: ussage message

       <br><br>

  <li> <a href="/perl/ifc_document.pl?file=$isip/util/speech/isip_run/help_message.text">./help_message.text</a>: help message
</ul>
       
<a name="see_also">
<b>see also:</b>
<br><br>

<ul>
  <a href="../isip_transform/index.html">isip_transform</a>
</ul>

<a name="notes">
<b>notes:</b>
<br><br>

<ul>
Command line options always override parameter file values.
</ul>

<!--#include virtual="/hse/ies/templates/documentation/footer/footer.html" -->
