Commit d4f030e3 authored by Podhorszki, Norbert's avatar Podhorszki, Norbert
Browse files

iotest for HDF5 engine

parent d072441f
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
  double   a     3*{100, 200} = 0 / 0
        step 0: 
          block 0: [ 0:49,   0:199] = 0 / 0
          block 1: [50:99,   0:199] = 0 / 0
        step 1: 
          block 0: [ 0:49,   0:199] = 0 / 0
          block 1: [50:99,   0:199] = 0 / 0
        step 2: 
          block 0: [ 0:49,   0:199] = 0 / 0
          block 1: [50:99,   0:199] = 0 / 0
  float    b     3*{100} = 0 / 0
        step 0: 
          block 0: [ 0:49] = 0 / 0
          block 1: [50:99] = 0 / 0
        step 1: 
          block 0: [ 0:49] = 0 / 0
          block 1: [50:99] = 0 / 0
        step 2: 
          block 0: [ 0:49] = 0 / 0
          block 1: [50:99] = 0 / 0
+3 −0
Original line number Diff line number Diff line
  double   a     3*{100, 200} = 0 / 0
  float    b     3*{100} = 0 / 0
  float    c     3*{100, 200, 300} = 0 / 0
+50 −0
Original line number Diff line number Diff line
# Config file for Task 1 in a pipeline
#   - Produce variables  a  b  c 
#   - Write variables    a  b  c     to    pipe2_write.h5

# Config file for Task 2 in a pipeline
#   - Read in variables  a  b  from Task 1 (ignore c) from pipe2_write.h5
#     using a different decomposition
#   - Write variables    a  b        to   pipe2_read.h5


group  io_T1
  # item  type    varname     N   [dim1 dim2 ... dimN  decomp1 decomp2 ... decompN]
  array   double  a           2    100   200              X       YZ
  array   float   b           1    100                    XYZ 
  array   float   c           3    100   200   300        XY      z     1

group  io_T2_in
  # item  type    varname     N   [dim1 dim2 ... dimN  decomp1 decomp2 ... decompN]
  array   double  a           2    100   200              XY      Z
  array   float   b           1    100                    XYZ 

group  io_T2_out
  # use all variables read into io_T2_in in the output 
  link group io_T2_in



# Task 1 actions
app 1
  steps   3
  sleep   0.1      
  # write all of io_T1 into pipe2_write.h5
  write   pipe2_write.h5    io_T1

# Task 2 actions
app 2
  steps   over pipe2_write.h5   
  # read a & b from pipe2_write.h5 using io_T2_in definition with blocking wait
  read  next  pipe2_write.h5    io_T2_in  -1   a   b

  # Sleep and write only if read was successful:
  cond pipe2_write.h5   sleep   0.1 
  # write io_T2 into pipe2_read.h5
  cond pipe2_write.h5   write   pipe2_read.h5    io_T2_out  

  sleep   0.123456789



+44 −0
Original line number Diff line number Diff line
<?xml version="1.0"?>
<adios-config>

    <!-- example engines 

        <engine type="BPFile"/>
        <engine type="HDF5"/>
        <engine type="SST"/>
        <engine type="InSituMPI"/>

     -->


    <!--===========================================
           Configuration for io_T1 group
        ==========================================-->

    <io name="io_T1">
        <engine type="HDF5">
        </engine>
    </io>


    <!--=========================================
           Configuration for io_T2_in group
           It should match the io_T1 output group
        =========================================-->
    
    <io name="io_T2_in">
        <engine type="HDF5">
        </engine>
    </io>

    <!--=========================================
           Configuration for io_T2_out group
        =========================================-->
    
    <io name="io_T2_out">
        <engine type="HDF5">
        </engine>
    </io>


</adios-config>