WRF IO Quilting

  • Two types of MPI tasks: compute (client) and I/O (server)

  • Compute tasks:

    • Total number = nproc_x*nproc_y (number of processors along X and y axes for decomposion)
    • First number is zero
  • I/O tasks:

    • Total number = nio_groups*nio_tasks_per_group
    • Nio_tasks_per_group cannot exceed nproc_y
    • First I/O task number immediately follows last compute task number
  • Code will attempt to match each I/O task with compute tasks in east-west rows

    • Ideally nproc_y should be exact multiple of nio_tasks_per_group
../_images/ioquilting.PNG