My Project
 All Classes Files Functions Variables Macros
mod_hallo Module Reference
Collaboration diagram for mod_hallo:
[legend]

Data Types

type  hallo
interface  register_swapfield2d_u
interface  register_swapfield2d_v
interface  register_swapfield_u
interface  register_swapfield_v
type  request
type  request_sr

Public Member Functions

subroutine init_mod_hallo
subroutine create_standard_mpi_buffer
subroutine create_global_mpi_buffer
subroutine allocate_buffer (Size, Index, Pos)
subroutine deallocate_buffer (Index)
subroutine settag (a_request, tag)
subroutine init_hallo (Field, Stride, NbLevel, offset, size, NewHallo)
subroutine register_sendfield (Field, ij, ll, offset, size, target, a_request)
subroutine register_recvfield (Field, ij, ll, offset, size, target, a_request)
subroutine register_swapfield (FieldS, FieldR, ij, ll, jj_Nb_New, a_request)
subroutine register_swapfieldhallo (FieldS, FieldR, ij, ll, jj_Nb_New, Up, Down, a_request)
subroutine register_swapfield1d_u (FieldS, FieldR, new_dist, a_request, old_dist, up, down)
subroutine register_swapfield2d_u1d (FieldS, FieldR, new_dist, a_request, old_dist, up, down)
subroutine register_swapfield3d_u (FieldS, FieldR, new_dist, a_request, old_dist, up, down)
subroutine register_swapfield1d_u2d (FieldS, FieldR, new_dist, a_request, old_dist, up, down)
subroutine register_swapfield2d_u2d (FieldS, FieldR, new_dist, a_request, old_dist, up, down)
subroutine register_swapfield3d_u2d (FieldS, FieldR, new_dist, a_request, old_dist, up, down)
subroutine register_swapfield1d_v (FieldS, FieldR, new_dist, a_request, old_dist, up, down)
subroutine register_swapfield2d_v1d (FieldS, FieldR, new_dist, a_request, old_dist, up, down)
subroutine register_swapfield3d_v (FieldS, FieldR, new_dist, a_request, old_dist, up, down)
subroutine register_swapfield1d_v2d (FieldS, FieldR, new_dist, a_request, old_dist, up, down)
subroutine register_swapfield2d_v2d (FieldS, FieldR, new_dist, a_request, old_dist, up, down)
subroutine register_swapfield3d_v2d (FieldS, FieldR, new_dist, a_request, old_dist, up, down)
subroutine register_swapfield_gen_u (FieldS, FieldR, ll, old_dist, new_dist, Up, Down, a_request)
subroutine register_swapfield_gen_v (FieldS, FieldR, ll, old_dist, new_dist, Up, Down, a_request)
subroutine register_hallo (Field, ij, ll, RUp, Rdown, SUp, SDown, a_request)
subroutine register_hallo_u (Field, ll, RUp, Rdown, SUp, SDown, a_request)
subroutine register_hallo_v (Field, ll, RUp, Rdown, SUp, SDown, a_request)
subroutine sendrequest (a_Request)
subroutine waitrequest (a_Request)
subroutine waitsendrequest (a_Request)
subroutine waitrecvrequest (a_Request)
subroutine copyfield (FieldS, FieldR, ij, ll, jj_Nb_New)
subroutine copyfieldhallo (FieldS, FieldR, ij, ll, jj_Nb_New, Up, Down)
subroutine gather_field_u (field_loc, field_glo, ll)
subroutine gather_field_v (field_loc, field_glo, ll)
subroutine scatter_field_u (field_glo, field_loc, ll)
subroutine scatter_field_v (field_glo, field_loc, ll)
subroutine init_mod_hallo
subroutine create_standard_mpi_buffer
subroutine create_global_mpi_buffer
subroutine allocate_buffer (Size, Index, Pos)
subroutine deallocate_buffer (Index)
subroutine settag (a_request, tag)
subroutine init_hallo (Field, Stride, NbLevel, offset, size, NewHallo)
subroutine register_sendfield (Field, ij, ll, offset, size, target, a_request)
subroutine register_recvfield (Field, ij, ll, offset, size, target, a_request)
subroutine register_swapfield (FieldS, FieldR, ij, ll, jj_Nb_New, a_request)
subroutine register_swapfieldhallo (FieldS, FieldR, ij, ll, jj_Nb_New, Up, Down, a_request)
subroutine register_hallo (Field, ij, ll, RUp, Rdown, SUp, SDown, a_request)
subroutine sendrequest (a_Request)
subroutine waitrequest (a_Request)
subroutine waitsendrequest (a_Request)
subroutine waitrecvrequest (a_Request)
subroutine copyfield (FieldS, FieldR, ij, ll, jj_Nb_New)
subroutine copyfieldhallo (FieldS, FieldR, ij, ll, jj_Nb_New, Up, Down)

Public Attributes

logical, save use_mpi_alloc
integer, parameter maxrequest = 200
integer, parameter maxproc = 512
integer, parameter maxbuffersize = 1024*1024*100
integer, parameter listsize = 1000
integer, save maxbuffersize_used
real, dimension(:), pointer, save buffer
integer, dimension(listsize), save buffer_pos
integer, save index_pos
type(distrib), save distrib_gather

Detailed Description

Definition at line 1 of file mod_hallo.F90.

Member Function/Subroutine Documentation

subroutine mod_hallo::allocate_buffer ( integer  Size,
integer  Index,
integer  Pos 
)

Definition at line 133 of file mod_hallo.F90.

Here is the caller graph for this function:

subroutine mod_hallo::allocate_buffer ( integer  Size,
integer  Index,
integer  Pos 
)

Definition at line 107 of file mod_hallo.F90.

subroutine mod_hallo::copyfield ( real, dimension(ij,ll FieldS,
real, dimension(ij,ll FieldR,
integer  ij,
integer  ll,
integer, dimension(0:mpi_size-1)  jj_Nb_New 
)

Definition at line 1411 of file mod_hallo.F90.

subroutine mod_hallo::copyfield ( real, dimension(ij,ll FieldS,
real, dimension(ij,ll FieldR,
integer  ij,
integer  ll,
integer, dimension(0:mpi_size-1)  jj_Nb_New 
)

Definition at line 733 of file mod_hallo.F90.

subroutine mod_hallo::copyfieldhallo ( real, dimension(ij,ll FieldS,
real, dimension(ij,ll FieldR,
integer  ij,
integer  ll,
integer, dimension(0:mpi_size-1)  jj_Nb_New,
integer  Up,
integer  Down 
)

Definition at line 1449 of file mod_hallo.F90.

subroutine mod_hallo::copyfieldhallo ( real, dimension(ij,ll FieldS,
real, dimension(ij,ll FieldR,
integer  ij,
integer  ll,
integer, dimension(0:mpi_size-1)  jj_Nb_New,
integer  Up,
integer  Down 
)

Definition at line 772 of file mod_hallo.F90.

subroutine mod_hallo::create_global_mpi_buffer ( )

Definition at line 93 of file mod_hallo.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine mod_hallo::create_global_mpi_buffer ( )

Definition at line 67 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::create_standard_mpi_buffer ( )

Definition at line 60 of file mod_hallo.F90.

subroutine mod_hallo::create_standard_mpi_buffer ( )

Definition at line 86 of file mod_hallo.F90.

Here is the caller graph for this function:

subroutine mod_hallo::deallocate_buffer ( integer  Index)

Definition at line 157 of file mod_hallo.F90.

Here is the caller graph for this function:

subroutine mod_hallo::deallocate_buffer ( integer  Index)

Definition at line 131 of file mod_hallo.F90.

subroutine mod_hallo::gather_field_u ( real, dimension(ijb_u:ije_u,ll field_loc,
real, dimension(ip1jmp1,ll field_glo,
integer  ll 
)

Definition at line 1489 of file mod_hallo.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine mod_hallo::gather_field_v ( real, dimension(ijb_v:ije_v,ll field_loc,
real, dimension(ip1jm,ll field_glo,
integer  ll 
)

Definition at line 1512 of file mod_hallo.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine mod_hallo::init_hallo ( real, dimension(stride,nblevel), target  Field,
integer  Stride,
integer  NbLevel,
integer  offset,
integer  size,
type(hallo NewHallo 
)

Definition at line 152 of file mod_hallo.F90.

subroutine mod_hallo::init_hallo ( real, dimension(stride,nblevel), target  Field,
integer  Stride,
integer  NbLevel,
integer  offset,
integer  size,
type(hallo NewHallo 
)

Definition at line 178 of file mod_hallo.F90.

Here is the caller graph for this function:

subroutine mod_hallo::init_mod_hallo ( )

Definition at line 64 of file mod_hallo.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine mod_hallo::init_mod_hallo ( )

Definition at line 45 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::register_hallo ( real, dimension(ij,ll Field,
integer  ij,
integer  ll,
integer  RUp,
integer  Rdown,
integer  SUp,
integer  SDown,
type(request a_request 
)

Definition at line 314 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::register_hallo ( real, dimension(ij,ll Field,
integer  ij,
integer  ll,
integer  RUp,
integer  Rdown,
integer  SUp,
integer  SDown,
type(request a_request 
)

Definition at line 859 of file mod_hallo.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine mod_hallo::register_hallo_u ( real, dimension(ijb_u:ije_u,ll Field,
integer  ll,
integer  RUp,
integer  Rdown,
integer  SUp,
integer  SDown,
type(request a_request 
)

Definition at line 926 of file mod_hallo.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine mod_hallo::register_hallo_v ( real, dimension(ijb_v:ije_v,ll Field,
integer  ll,
integer  RUp,
integer  Rdown,
integer  SUp,
integer  SDown,
type(request a_request 
)

Definition at line 991 of file mod_hallo.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine mod_hallo::register_recvfield ( real, dimension(ij,ll Field,
integer  ij,
integer  ll,
integer  offset,
integer  size,
integer  target,
type(request), target  a_request 
)

Definition at line 215 of file mod_hallo.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine mod_hallo::register_recvfield ( real, dimension(ij,ll Field,
integer  ij,
integer  ll,
integer  offset,
integer  size,
integer  target,
type(request), target  a_request 
)

Definition at line 190 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::register_sendfield ( real, dimension(ij,ll Field,
integer  ij,
integer  ll,
integer  offset,
integer  size,
integer  target,
type(request), target  a_request 
)

Definition at line 195 of file mod_hallo.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine mod_hallo::register_sendfield ( real, dimension(ij,ll Field,
integer  ij,
integer  ll,
integer  offset,
integer  size,
integer  target,
type(request), target  a_request 
)

Definition at line 169 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::register_swapfield ( real, dimension(ij,ll FieldS,
real, dimension(ij,ll FieldR,
integer  ij,
integer  ll,
integer, dimension(0:mpi_size-1)  jj_Nb_New,
type(request a_request 
)

Definition at line 238 of file mod_hallo.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine mod_hallo::register_swapfield ( real, dimension(ij,ll FieldS,
real, dimension(ij,ll FieldR,
integer  ij,
integer  ll,
integer, dimension(0:mpi_size-1)  jj_Nb_New,
type(request a_request 
)

Definition at line 214 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::register_swapfield1d_u ( real, dimension(:), intent(in)  FieldS,
real, dimension(:), intent(out FieldR,
type(distrib), intent(in)  new_dist,
type(request), intent(inout)  a_request,
type(distrib), intent(in), optional  old_dist,
integer, intent(in), optional  up,
integer, intent(in), optional  down 
)

Definition at line 339 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::register_swapfield1d_u2d ( real, dimension(:,:), intent(in)  FieldS,
real, dimension(:,:), intent(out FieldR,
type(distrib), intent(in), optional  new_dist,
type(request), intent(inout)  a_request,
type(distrib), intent(in), optional  old_dist,
integer, intent(in), optional  up,
integer, intent(in), optional  down 
)

Definition at line 439 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::register_swapfield1d_v ( real, dimension(:), intent(in)  FieldS,
real, dimension(:), intent(out FieldR,
type(distrib), intent(in)  new_dist,
type(request), intent(inout)  a_request,
type(distrib), intent(in), optional  old_dist,
integer, intent(in), optional  up,
integer, intent(in), optional  down 
)

Definition at line 545 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::register_swapfield1d_v2d ( real, dimension(:,:), intent(in)  FieldS,
real, dimension(:,:), intent(out FieldR,
type(distrib), intent(in), optional  new_dist,
type(request), intent(inout)  a_request,
type(distrib), intent(in), optional  old_dist,
integer, intent(in), optional  up,
integer, intent(in), optional  down 
)

Definition at line 646 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::register_swapfield2d_u1d ( real, dimension(:,:), intent(in)  FieldS,
real, dimension(:,:), intent(out FieldR,
type(distrib), intent(in)  new_dist,
type(request), intent(inout)  a_request,
type(distrib), intent(in), optional  old_dist,
integer, intent(in), optional  up,
integer, intent(in), optional  down 
)

Definition at line 370 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::register_swapfield2d_u2d ( real, dimension(:,:,:), intent(in)  FieldS,
real, dimension(:,:,:), intent(out FieldR,
type(distrib), intent(in)  new_dist,
type(request), intent(inout)  a_request,
type(distrib), intent(in), optional  old_dist,
integer, intent(in), optional  up,
integer, intent(in), optional  down 
)

Definition at line 471 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::register_swapfield2d_v1d ( real, dimension(:,:), intent(in)  FieldS,
real, dimension(:,:), intent(out FieldR,
type(distrib), intent(in)  new_dist,
type(request), intent(inout)  a_request,
type(distrib), intent(in), optional  old_dist,
integer, intent(in), optional  up,
integer, intent(in), optional  down 
)

Definition at line 576 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::register_swapfield2d_v2d ( real, dimension(:,:,:), intent(in)  FieldS,
real, dimension(:,:,:), intent(out FieldR,
type(distrib), intent(in)  new_dist,
type(request), intent(inout)  a_request,
type(distrib), intent(in), optional  old_dist,
integer, intent(in), optional  up,
integer, intent(in), optional  down 
)

Definition at line 677 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::register_swapfield3d_u ( real, dimension(:,:,:), intent(in)  FieldS,
real, dimension(:,:,:), intent(out FieldR,
type(distrib), intent(in)  new_dist,
type(request), intent(inout)  a_request,
type(distrib), intent(in), optional  old_dist,
integer, intent(in), optional  up,
integer, intent(in), optional  down 
)

Definition at line 404 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::register_swapfield3d_u2d ( real, dimension(:,:,:,:), intent(in)  FieldS,
real, dimension(:,:,:,:), intent(out FieldR,
type(distrib), intent(in)  new_dist,
type(request), intent(inout)  a_request,
type(distrib), intent(in), optional  old_dist,
integer, intent(in), optional  up,
integer, intent(in), optional  down 
)

Definition at line 506 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::register_swapfield3d_v ( real, dimension(:,:,:), intent(in)  FieldS,
real, dimension(:,:,:), intent(out FieldR,
type(distrib), intent(in)  new_dist,
type(request), intent(inout)  a_request,
type(distrib), intent(in), optional  old_dist,
integer, intent(in), optional  up,
integer, intent(in), optional  down 
)

Definition at line 610 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::register_swapfield3d_v2d ( real, dimension(:,:,:,:), intent(in)  FieldS,
real, dimension(:,:,:,:), intent(out FieldR,
type(distrib), intent(in)  new_dist,
type(request), intent(inout)  a_request,
type(distrib), intent(in), optional  old_dist,
integer, intent(in), optional  up,
integer, intent(in), optional  down 
)

Definition at line 711 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::register_swapfield_gen_u ( real, dimension(old_dist%ijb_u:old_dist%ije_u,ll FieldS,
real, dimension(new_dist%ijb_u:new_dist%ije_u,ll FieldR,
integer  ll,
type(distrib)  old_dist,
type(distrib)  new_dist,
integer  Up,
integer  Down,
type(request a_request 
)

Definition at line 746 of file mod_hallo.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine mod_hallo::register_swapfield_gen_v ( real, dimension(old_dist%ijb_v:old_dist%ije_v,ll FieldS,
real, dimension(new_dist%ijb_v:new_dist%ije_v,ll FieldR,
integer  ll,
type(distrib)  old_dist,
type(distrib)  new_dist,
integer  Up,
integer  Down,
type(request a_request 
)

Definition at line 799 of file mod_hallo.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine mod_hallo::register_swapfieldhallo ( real, dimension(ij,ll FieldS,
real, dimension(ij,ll FieldR,
integer  ij,
integer  ll,
integer, dimension(0:mpi_size-1)  jj_Nb_New,
integer  Up,
integer  Down,
type(request a_request 
)

Definition at line 262 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::register_swapfieldhallo ( real, dimension(ij,ll FieldS,
real, dimension(ij,ll FieldR,
integer  ij,
integer  ll,
integer, dimension(0:mpi_size-1)  jj_Nb_New,
integer  Up,
integer  Down,
type(request a_request 
)

Definition at line 286 of file mod_hallo.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine mod_hallo::scatter_field_u ( real, dimension(ip1jmp1,ll field_glo,
real, dimension(ijb_u:ije_u,ll field_loc,
integer  ll 
)

Definition at line 1540 of file mod_hallo.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine mod_hallo::scatter_field_v ( real, dimension(ip1jmp1,ll field_glo,
real, dimension(ijb_v:ije_v,ll field_loc,
integer  ll 
)

Definition at line 1574 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::sendrequest ( type(request), target  a_Request)

Definition at line 381 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::sendrequest ( type(request), target  a_Request)

Definition at line 1056 of file mod_hallo.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine mod_hallo::settag ( type(request a_request,
integer  tag 
)

Definition at line 169 of file mod_hallo.F90.

Here is the caller graph for this function:

subroutine mod_hallo::settag ( type(request a_request,
integer  tag 
)

Definition at line 143 of file mod_hallo.F90.

subroutine mod_hallo::waitrecvrequest ( type(request), target  a_Request)

Definition at line 651 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::waitrecvrequest ( type(request), target  a_Request)

Definition at line 1330 of file mod_hallo.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine mod_hallo::waitrequest ( type(request), target  a_Request)

Definition at line 1180 of file mod_hallo.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine mod_hallo::waitrequest ( type(request), target  a_Request)

Definition at line 499 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::waitsendrequest ( type(request), target  a_Request)

Definition at line 594 of file mod_hallo.F90.

Here is the call graph for this function:

subroutine mod_hallo::waitsendrequest ( type(request), target  a_Request)

Definition at line 1274 of file mod_hallo.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

real, dimension(:), pointer, save mod_hallo::buffer

Definition at line 13 of file mod_hallo.F90.

integer, dimension(listsize), save mod_hallo::buffer_pos

Definition at line 16 of file mod_hallo.F90.

type(distrib), save mod_hallo::distrib_gather

Definition at line 43 of file mod_hallo.F90.

integer save mod_hallo::index_pos

Definition at line 17 of file mod_hallo.F90.

integer parameter mod_hallo::listsize = 1000

Definition at line 8 of file mod_hallo.F90.

integer parameter mod_hallo::maxbuffersize = 1024*1024*100

Definition at line 7 of file mod_hallo.F90.

integer save mod_hallo::maxbuffersize_used

Definition at line 10 of file mod_hallo.F90.

integer parameter mod_hallo::maxproc = 512

Definition at line 6 of file mod_hallo.F90.

integer parameter mod_hallo::maxrequest = 200

Definition at line 5 of file mod_hallo.F90.

logical save mod_hallo::use_mpi_alloc

Definition at line 4 of file mod_hallo.F90.


The documentation for this module was generated from the following files: