## SIONlib: Scalable I/O library for parallel access to task-local files

### SIONlib: Utilities for the Management of SION-files

siondump | Dumping the meta data of a sion file
sionsplit | Splitting one sion file in separate files
siondefrag | De-fragmenting a sion file
partest | Parallel test of sionlib

1. siondump - Dumping the meta data of a sion file
   Usage:
     `siondump [options] <sionfile>`
   Options:
     -a
       print also information about chunksizes
     -v
       verbose mode, show sion debug messages
   Description:
     siondump prints on stdout all information from the first meta data block. With -a there will be also printed a table containing the chunksizes for all tasks and chunks.

2. sionsplit - splitting one sion file in separate files
   Usage:
     `sionsplit [options] <sionfile> <prefix>`
   Options:
     -d <digits>
       number of digits used for generating filenames (default: 5)
     -v
       verbose mode, show sion debug messages
   Description:
     sionsplit extracts task related files from a sion file. For each task there will be generated a file in the path described with <prefix>. The task number will be appended to the <prefix>.
   Example:
     `sionsplit data.sion data/file_ -> data/file_00000, data/file_00001, ...`
     If the data of a task is distributed over several chunks in the sion file, these chunks are concatenated in the output file without gaps inbetween.

3. siondefrag - de-fragmenting a sion file
   Usage:
     `siondefrag [options]`
   Options:
     -Q <fsblksize>
       filessystem blocksize for new sion file in MB
     -q <fsblksize>
       filessystem blocksize for new sion file in bytes (default is fsblocksize of inputfile)
     -S <localsize>
       requested chunksize for new file in MB
     -s <localsize>
       requested chunksize for new file in bytes (default is a )
     -v
       verbose mode, show sion debug messages
   Description:
     siondefrag generates a new sion file from an existing sion file. The new file will have only one chunk per task which contains the data of all chunks of this task in the old sion file.
4. partest - parallel MPI test program for sionlib
   Usage:
     `partest [options]`
   Options:
     [-f filename]
       filename of direct access file
     [-F <factor>]
       factor for random size (0.0 to 1.0, def: 0.0)
     [-b <fileblksize>]
       size of blocks written in one fwrite in bytes
     [-B <fileblksize>]
       size of blocks written in one fwrite in MBytes
     [-s <localsize>]
       size of data written by each processor in bytes
     [-S <localsize>]
       size of data written by each processor in MBytes
     [-r <chunksize>]
       sion chunk size in bytes
     [-R <chunksize>]
       sion chunk size in MBytes
     [-Q <fsblksize>]
       size of filesystem blocks in MBytes
     [-T <type>]
       type of test (0)
     [-v]
       verbose print info for each task
     [-d]
       debug task 0
     [-D]
       debug task n
     Blue Gene/L, Blue Gene/P:
     [-P]
       order tasks by BG I/O-node
     [-p <numtasks>]
       number of tasks per BG I/O-node
   Description:
     partest performs a parallel write and a parallel read to/from a sionfile