get_elpa_communicators.3 2.46 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
.TH "get_elpa_communicators" 3 "Wed Dec 2 2015" "ELPA" \" -*- nroff -*-
.ad l
.nh
.SH NAME
get_elpa_communicators \- get the MPI row and column communicators needed in ELPA
.br

.SH SYNOPSIS
.br
.SS FORTRAN INTERFACE
use elpa1

.br
.RI "success = \fBget_elpa_communicators\fP (mpi_comm_global, my_prow, my_pcol, mpi_comm_rows, mpi_comm_cols)"

.br
.br
.RI "integer, intent(in)   \fBmpi_comm_global\fP:  global communicator for the calculation"
.br
.RI "integer, intent(in)   \fBmy_prow\fP:          row coordinate of the calling process in the process grid"
.br
.RI "integer, intent(in)   \fBmy_pcol\fP:          column coordinate of the calling process in the process grid"
.br
.RI "integer, intent(out)  \fBmpi_comm_row\fP:     communicator for communication within rows of processes"
.br
.RI "integer, intent(out)  \fBmpi_comm_row\fP:     communicator for communication within columns of processes"
.br

.RI "integer               \fBsuccess\fP:          return value indicating success or failure of the underlying MPI_COMM_SPLIT function"

.SS C INTERFACE
#include "elpa_generated.h"

.br
.RI "success = \fBget_elpa_communicators\fP (int mpi_comm_world, int my_prow, my_pcol, int *mpi_comm_rows, int *Pmpi_comm_cols);"

.br
.br
.RI "int \fBmpi_comm_global\fP:  global communicator for the calculation"
.br
.RI "int \fBmy_prow\fP:          row coordinate of the calling process in the process grid"
.br
.RI "int \fBmy_pcol\fP:          column coordinate of the calling process in the process grid"
.br
.RI "int *\fBmpi_comm_row\fP:    pointer to the communicator for communication within rows of processes"
.br
.RI "int *\fBmpi_comm_row\fP:    pointer to the communicator for communication within columns of processes"
.br

.RI "int  \fBsuccess\fP:         return value indicating success or failure of the underlying MPI_COMM_SPLIT function"




.SH DESCRIPTION
56
Old, depcreated interface, which will be deleted at some point: Please use \fBelpa_get_communicators\fP(3) !
57 58 59
All ELPA routines need MPI communicators for communicating within rows or columns of processes. These communicators are created from the \fBmpi_comm_global\fP communicator. It is assumed that the matrix used in ELPA is distributed with \fBmy_prow\fP rows and \fBmy_pcol\fP columns on the calling process. This function has to be envoked by all involved processes before any other calls to ELPA routines.
.br
.SH "SEE ALSO"
60
\fBelpa_get_communicators\fP(3) \fBelpa_solve_evp_real\fP(3) \fBelpa_solve_evp_complex\fP(3) \fBelpa2_print_kernels\fP(1)