README neurosys/utils/splitter

The files in this directory can be used to build a serial program that
will split an undistributed output file created by the solver.  The
resulting files can then be read by the visualizer neurondiz.  Note

Author:  Toshi Uchino

1. Compilation
   Just define the CFLAGS macro in the Makefile and run "make"

2. Running splitter
   A) splitter needs the following information. 

    <infile_name> --- 
       The name of the file that contains the output from 
       DE Solver 
    <outfile_name_root> --- 
       The root of the name of files that result from the 
       splitting operation. If the outfile name root is 
       "out", for example, the resulting split files are 
       named "out.0", "out.1", "out.2", etc.
    <outfile_format> --- 
       splitter can produce its output files in text or 
       binary format. The text format can be specified as 
       "txt" and binary as "bin".
    <num_pieces> --- 
       This specifies the number of files into which the 
       original DE Solver output is split. 
    <values_per_line> or <num_neurons> --- 
       "values_per_line" means the number of values in each 
       line in the DE Solver output file, while "num_neurons" 
       is the number of neurons simulated in the network. One 
       of them must be specified. 
       "values_per_line" must be specified by a "v" + an 
       integer (e.g., v200 ). 
       "num_neurons" can be specified by an "n" + an integer 
       (e.g., n100) or by an "n" + "(network dimension)" 
       (e.g., n(64x64), n(16 by 32), or n(8 times 128) ). 
    <variables_per_neuron> --- 
       The number of variables associated with a neuron in 
       each time step, which are calculated by the DE Solver. 
       Currently (July 2000), this should be 1.
    <num_lines> --- 
       The number of lines in the output file from DE Solver, 
       or the number of time steps that the simulation is to 
       continue. 
    
    This information must be entered in the order listed. splitter can
    read the info interactively or it can be read from a resource file 
    provided by the user.


4. Usage 

To run splitter, you can type : 

a) splitter <all necessary info> 
   splitter reads all necessary info from the command line. 

b) splitter -r <resource_filename> 
   splitter reads necessary info from the specified file. 

c) splitter 
   splitter searches for a default resource file named 
   "splitter.rc" and reads necessary info from the file 
   if the file is found. If the file is not found, splitter 
   prompts the user to enter the info interactively. 

d) splitter -u 
   splitter displays the usage. 


5. Examples 

The following is a couple of examples of command lines. 
The user may type : 

   splitter infile outfile bin 4 n(64x64) 2 1000 

or

   splitter -r resfile 


The resource file may contain a line as below

   neuron.dat outfile txt 8 n(128x128) 2 500 


The user can also put some comments in the resource file. 
     #   - anything from this symbol to the end of the line 
           is ginored by splitter. 

   /* */ - anything sandwitched between the "/*" and "*/"  
           is ignored by splitter. 

An example resource file is included in this directory 
(See example.rc). 
