This module contains subroutines to initialize MPI buffers between cpu myrank and its neighbor cpus.
|
subroutine, public | init_mpi_buffers () |
| This subroutine searches for common GLL nodes between cpu myrank and its neighbor cpus. Send and receive buffers are filled only with unique GLLs (i.e., no duplicated GLL are present in MPI buffers). More...
|
|
|
subroutine, private | create_gll_buffer_recv (gll_coord_send, gll_coord_recv, ngll, gll_recv, gll_send, max_size) |
| This subroutine creates GLLs buffers received by cpu myrank from other cpus. Identical GLLs between connected cpus are found by computing minimal distance among GLLs. Two GLLs from different cpus with the smallest minimal distance are supposed to be identical. More...
|
|
subroutine, private | remove_duplicate (x1, n, x3, m) |
| This subroutine removes duplicated GLLs between cpu myrank and its connected cpus. More...
|
|
Definition at line 126 of file module_init_mpibuffer.f90.
subroutine, private mod_init_mpibuffer::create_gll_buffer_recv |
( |
real, dimension(ig_ndof*max_size), intent(in) |
gll_coord_send, |
|
|
real, dimension(ig_ndof*max_size), intent(in) |
gll_coord_recv, |
|
|
integer, intent(in) |
ngll, |
|
|
integer, dimension(:), intent(out), allocatable |
gll_recv, |
|
|
integer, dimension(ngll), intent(in) |
gll_send, |
|
|
integer, intent(in) |
max_size |
|
) |
| |
|
private |
- Parameters
-
gll_coord_send | : \(x,y,z\)-coordinates of GLLs in MPI_send buffers |
gll_coord_recv | : \(x,y,z\)-coordinates of GLLs in MPI_recv buffers |
ngll | : number of unique common GLLs between cpu myrank and its connected cpus |
gll_recv | : list of GLLs received by cpu myrank from its connected cpus |
gll_send | : list of GLLs sent by cpu myrank to its connected cpus |
max_size | : maximum buffer size for cpu myrank |
Definition at line 467 of file module_init_mpibuffer.f90.
Referenced by init_mpi_buffers().
subroutine, public mod_init_mpibuffer::init_mpi_buffers |
( |
| ) |
|
subroutine, private mod_init_mpibuffer::remove_duplicate |
( |
integer, dimension(n), intent(in) |
x1, |
|
|
integer, intent(in) |
n, |
|
|
integer, dimension(:), intent(out), allocatable |
x3, |
|
|
integer, intent(out) |
m |
|
) |
| |
|
private |
The documentation for this module was generated from the following file: