Difference between revisions of "Main Page/PIO"

From Nekcem
Jump to navigationJump to search
Line 7: Line 7:
  
 
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>
 
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>
 
 
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''.
  

Revision as of 10:20, 31 January 2011

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

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.

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.
These two approaches would produce one file per processor and we will refer them as old libraries.

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

To Read

C++ Fortran hybrid OpenMP