get_elpa_communicators.3 2.52 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) \fBsolve_evp_real\fP(3) \fBsolve_evp_complex\fP(3) \fBsolve_evp_real_2stage\fP(3) \fBsolve_evp_complex_2stage\fP(3) \fBelpa2_print_kernels\fP(1)