elpa_solve_evp_real_2stage_single.3 6.1 KB
 Andreas Marek committed Feb 15, 2017 1 ``````.TH "elpa_solve_evp_real_2stage_single" 3 "Wed Jan 15 2017" "ELPA" \" -*- nroff -*- `````` Andreas Marek committed Nov 11, 2016 2 3 4 ``````.ad l .nh .SH NAME `````` Andreas Marek committed Nov 25, 2016 5 ``````elpa_solve_evp_real_2stage_single \- solve the single-precision real eigenvalue problem with the 2-stage ELPA solver `````` Andreas Marek committed Nov 11, 2016 6 7 8 9 10 11 12 13 14 ``````.br .SH SYNOPSIS .br .SS FORTRAN INTERFACE use elpa1 use elpa2 .br .br `````` Andreas Marek committed Feb 15, 2017 15 ``````.RI "success = \fBelpa_solve_evp_real_2stage_single\fP (na, nev, a(lda,matrixCols), ev(nev), q(ldq, matrixCols), ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, mpi_comm_all, THIS_REAL_ELPA_KERNEL, useQR, useGPU, bandwidth)" `````` Andreas Marek committed Nov 11, 2016 16 17 18 19 20 21 22 23 24 25 ``````.br .RI " " .br .RI "With the definintions of the input and output variables:" .br .RI "integer, intent(in) \fBna\fP: global dimension of quadratic matrix \fBa\fP to solve" .br .RI "integer, intent(in) \fBnev\fP: number of eigenvalues to be computed; the first \fBnev\fP eigenvalules are calculated" .br `````` Andreas Marek committed Nov 25, 2016 26 ``````.RI "real*4, intent(inout) \fBa\fP: locally distributed part of the matrix \fBa\fP. The local dimensions are \fBlda\fP x \fBmatrixCols\fP" `````` Andreas Marek committed Nov 11, 2016 27 28 29 ``````.br .RI "integer, intent(in) \fBlda\fP: leading dimension of locally distributed matrix \fBa\fP" .br `````` Andreas Marek committed Nov 25, 2016 30 ``````.RI "real*4, intent(inout) \fBev\fP: on output the first \fBnev\fP computed eigenvalues" `````` Andreas Marek committed Nov 11, 2016 31 ``````.br `````` Andreas Marek committed Nov 25, 2016 32 ``````.RI "real*4, intent(inout) \fBq\fP: on output the first \fBnev\fP computed eigenvectors" `````` Andreas Marek committed Nov 11, 2016 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 ``````.br .RI "integer, intent(in) \fBldq\fP: leading dimension of matrix \fBq\fP which stores the eigenvectors" .br .RI "integer, intent(in) \fBnblk\fP: blocksize of block cyclic distributin, must be the same in both directions" .br .RI "integer, intent(in) \fBmatrixCols\fP: number of columns of locally distributed matrices \fBa\fP and \fBq\fP" .br .RI "integer, intent(in) \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBelpa_get_communicators\fP(3)" .br .RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" .br .RI "integer, intent(in) \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA" .br .RI "integer, intent(in), optional \fBTHIS_ELPA_REAL_KERNEL\fp: choose the compute kernel for 2-stage solver" .br .RI "logical, intent(in), optional: \fBuseQR\fP: optional argument; switches to QR-decomposition if set to .true." `````` Andreas Marek committed Nov 25, 2016 49 50 51 ``````.br .RI "logical, intent(in), optional: \fBuseGPU\fP: decide whether GPUs should be used or not" .br `````` Andreas Marek committed Feb 15, 2017 52 ``````.RI "integer, intent(in), optional: \fBbandwidth\fP: bandwidth of an already banded matrix " `````` Andreas Marek committed Feb 15, 2017 53 ``````.br `````` Andreas Marek committed Nov 11, 2016 54 55 56 57 58 59 ``````.RI "logical \fBsuccess\fP: return value indicating success or failure" .br .SS C INTERFACE #include "elpa.h" .br `````` Andreas Marek committed Feb 15, 2017 60 ``````.RI "success = \fBelpa_solve_evp_real_2stage_single\fP (\fBint\fP na, \fBint\fP nev, \fB float *\fPa, \fBint\fP lda, \fB float *\fPev, \fBfloat *\fPq, \fBint\fP ldq, \fBint\fP nblk, \fBint\fP matrixCols, \fBint\fP mpi_comm_rows, \fBint\fP mpi_comm_cols, \fBint\fP mpi_comm_all, \fBint\fP THIS_ELPA_REAL_KERNEL, \fBint\fP useQR, \fBint\fP useGPU, \fBint\fP bandwidth);" `````` Andreas Marek committed Nov 11, 2016 61 62 63 64 65 66 67 68 69 70 ``````.br .RI " " .br .RI "With the definintions of the input and output variables:" .br .RI "int \fBna\fP: global dimension of quadratic matrix \fBa\fP to solve" .br .RI "int \fBnev\fP: number of eigenvalues to be computed; the first \fBnev\fP eigenvalules are calculated" .br `````` Andreas Marek committed Nov 25, 2016 71 ``````.RI "float *\fBa\fP: pointer to locally distributed part of the matrix \fBa\fP. The local dimensions are \fBlda\fP x \fBmatrixCols\fP" `````` Andreas Marek committed Nov 11, 2016 72 73 74 ``````.br .RI "int \fBlda\fP: leading dimension of locally distributed matrix \fBa\fP" .br `````` Andreas Marek committed Nov 25, 2016 75 ``````.RI "float *\fBev\fP: pointer to memory containing on output the first \fBnev\fP computed eigenvalues" `````` Andreas Marek committed Nov 11, 2016 76 ``````.br `````` Andreas Marek committed Nov 25, 2016 77 ``````.RI "float *\fBq\fP: pointer to memory containing on output the first \fBnev\fP computed eigenvectors" `````` Andreas Marek committed Nov 11, 2016 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 ``````.br .RI "int \fBldq\fP: leading dimension of matrix \fBq\fP which stores the eigenvectors" .br .RI "int \fBnblk\fP: blocksize of block cyclic distributin, must be the same in both directions" .br .RI "int \fBmatrixCols\fP: number of columns of locally distributed matrices \fBa\fP and \fBq\fP" .br .RI "int \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBelpa_get_communicators\fP(3)" .br .RI "int \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" .br .RI "int \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA" .br .RI "int \fBTHIS_ELPA_REAL_KERNEL\fp: choose the compute kernel for 2-stage solver" .br .RI "int \fBuseQR\fP: if set to 1 switch to QR-decomposition" `````` Andreas Marek committed Nov 25, 2016 94 95 96 ``````.br .RI "int \fBuseGPU\fP: decide whether GPUs should be used or not" .br `````` Andreas Marek committed Feb 15, 2017 97 ``````.RI "int \fBbandwidth\fP: bandwidth of an already banded matrix (-1 = matrix is not banded)" `````` Andreas Marek committed Feb 15, 2017 98 ``````.br `````` Andreas Marek committed Nov 11, 2016 99 100 101 102 103 104 105 106 ``````.RI "int \fBsuccess\fP: return value indicating success (1) or failure (0) .SH DESCRIPTION Solve the real eigenvalue problem with the 2-stage solver. The ELPA communicators \fBmpi_comm_rows\fP and \fBmpi_comm_cols\fP are obtained with the \fBelpa_get_communicators\fP(3) function. The distributed quadratic marix \fBa\fP has global dimensions \fBna\fP x \fBna\fP, and a local size \fBlda\fP x \fBmatrixCols\fP. The solver will compute the first \fBnev\fP eigenvalues, which will be stored on exit in \fBev\fP. The eigenvectors corresponding to the eigenvalues will be stored in \fBq\fP. All memory of the arguments must be allocated outside the call to the solver. .br The interface \fBelpa_solve_evp_real\fP(3) is a more flexible alternative. .br .SH "SEE ALSO" `````` Andreas Marek committed Nov 25, 2016 107 ``\fBelpa_get_communicators\fP(3) \fBelpa_solve_evp_real\fP(3) \fBelpa_solve_evp_complex\fP(3) \fBelpa_solve_evp_real_1stage\fP(3) \fBelpa_solve_evp_complex_1stage\fP(3) \fBelpa_solve_evp_real_2stage_double\fP(3) \fBelpa_solve_evp_complex_2stage_double\fP(3) \fBelpa_solve_evp_complex_2stage_singe\fP(3) \fBelpa2_print_kernels\fP(1)``