Difference between revisions of "Main Page/PIO"

From Nekcem
Jump to navigationJump to search
Line 10: Line 10:
 
These numbers were used to indicate which I/O to use, in .rea file for a specific example, by parameter 103.  
 
These numbers were used to indicate which I/O to use, in .rea file for a specific example, by parameter 103.  
  
Here param(103) = 1 and param(103) = 2 mean it's using Fortran I/O library to write binary and ASCII files, param(103) = 3 means it's using C-POSIX I/O libraries to write binary files. <br>
+
param(103) = 1 and param(103) = 2 mean it's using Fortran I/O library to write binary and ASCII files.
 
These two approaches would produce one file per processor and we will refer them as ''old libraries''.
 
These two approaches would produce one file per processor and we will refer them as ''old libraries''.
 
+
param(103) = 3 means it's using C-POSIX I/O libraries to write binary files. <br>
 +
----
 
param(103) = 4 is N1 binary case (syncIO to 1 file).
 
param(103) = 4 is N1 binary case (syncIO to 1 file).
 
   
 
   

Revision as of 11:41, 31 January 2011

This is the document page for parallel I/O library developed in summer 2010 by Jing Fu and Misun Min.

Background

File Format
Binary (used for production, compact size), or ASCII (used for debugging, human-readable)

Usage Introduction:

Generally, several new parallel I/O approaches were developed, namely #3, 4, 5, 6, 7, 8. These numbers were used to indicate which I/O to use, in .rea file for a specific example, by parameter 103.

param(103) = 1 and param(103) = 2 mean it's using Fortran I/O library to write binary and ASCII files. These two approaches would produce one file per processor and we will refer them as old libraries. param(103) = 3 means it's using C-POSIX I/O libraries to write binary files.


param(103) = 4 is N1 binary case (syncIO to 1 file).

param(103) = 5 is NM binary case (syncIO to M files).

param(103) = 6 is NM1 binary case (rbIO to 1 file with M writers).

param(103) = 8 is NMM binary case (rbIO to M files with M writers).

param(103) = -6 is NM1 ASCII case (in tests it's refered to "7" instead of "-6").

Notice that param(82) and param(83) need to be set correctly in *.rea file.

param(82) = number of groups, param(83) = max number of fields we are going to write.

Implementation Details:

Topology of code

These I/O functions were initiated from cem_out function of cem_dg.F (and cem_dg2.F).
Implementation of parallel I/O routine were defined in vtkbin.c and rbIO_nekcem.c, where vtkcommon.c and vtkcommon.h serve as a place to hold common functions as well as global variables.


To-do List