There is a maintenance of MPCDF Gitlab on Thursday, April 22st 2020, 9:00 am CEST - Expect some service interruptions during this time

Commit 690de1d9 authored by Andreas Marek's avatar Andreas Marek

Update man pages for GPU version of ELPA 1stage

parent 4d841334
...@@ -11,42 +11,44 @@ elpa_solve_evp_complex \- solve the complex eigenvalue problem with either the 1 ...@@ -11,42 +11,44 @@ elpa_solve_evp_complex \- solve the complex eigenvalue problem with either the 1
use elpa use elpa
.br .br
.br .br
.RI "success = \fBelpa_solve_evp_complex\fP (na, nev, a(lda,matrixCols), ev(nev), q(ldq, matrixCols), ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, mpi_comm_all, THIS_COMPLEX_ELPA_KERNEL=THIS_COMPLEX_ELPA_KERNEL, method=method)" .RI "success = \fBelpa_solve_evp_complex\fP (na, nev, a(lda,matrixCols), ev(nev), q(ldq, matrixCols), ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, mpi_comm_all, THIS_COMPLEX_ELPA_KERNEL, useGPU, method)"
.br .br
.RI " " .RI " "
.br .br
.RI "With the definintions of the input and output variables:" .RI "With the definintions of the input and output variables:"
.br .br
.RI "integer, intent(in) \fBna\fP: global dimension of quadratic matrix \fBa\fP to solve" .RI "integer, intent(in) \fBna\fP: global dimension of quadratic matrix \fBa\fP to solve"
.br .br
.RI "integer, intent(in) \fBnev\fP: number of eigenvalues to be computed; the first \fBnev\fP eigenvalules are calculated" .RI "integer, intent(in) \fBnev\fP: number of eigenvalues to be computed; the first \fBnev\fP eigenvalules are calculated"
.br .br
.RI "complex*16, intent(inout) \fBa\fP: locally distributed part of the matrix \fBa\fP. The local dimensions are \fBlda\fP x \fBmatrixCols\fP" .RI "complex*16, intent(inout) \fBa\fP: locally distributed part of the matrix \fBa\fP. The local dimensions are \fBlda\fP x \fBmatrixCols\fP"
.br .br
.RI "integer, intent(in) \fBlda\fP: leading dimension of locally distributed matrix \fBa\fP" .RI "integer, intent(in) \fBlda\fP: leading dimension of locally distributed matrix \fBa\fP"
.br .br
.RI "real*8, intent(inout) \fBev\fP: on output the first \fBnev\fP computed eigenvalues" .RI "real*8, intent(inout) \fBev\fP: on output the first \fBnev\fP computed eigenvalues"
.br .br
.RI "complex*16, intent(inout) \fBq\fP: on output the first \fBnev\fP computed eigenvectors" .RI "complex*16, intent(inout) \fBq\fP: on output the first \fBnev\fP computed eigenvectors"
.br .br
.RI "integer, intent(in) \fBldq\fP: leading dimension of matrix \fBq\fP which stores the eigenvectors" .RI "integer, intent(in) \fBldq\fP: leading dimension of matrix \fBq\fP which stores the eigenvectors"
.br .br
.RI "integer, intent(in) \fBnblk\fP: blocksize of block cyclic distributin, must be the same in both directions" .RI "integer, intent(in) \fBnblk\fP: blocksize of block cyclic distributin, must be the same in both directions"
.br .br
.RI "integer, intent(in) \fBmatrixCols\fP: number of columns of locally distributed matrices \fBa\fP and \fBq\fP" .RI "integer, intent(in) \fBmatrixCols\fP: number of columns of locally distributed matrices \fBa\fP and \fBq\fP"
.br .br
.RI "integer, intent(in) \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBelpa_get_communicators\fP(3)" .RI "integer, intent(in) \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBelpa_get_communicators\fP(3)"
.br .br
.RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" .RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)"
.br .br
.RI "integer, intent(in) \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA" .RI "integer, intent(in) \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA"
.br .br
.RI "int \fBTHIS_ELPA_COMPLEX_KERNEL\fp: choose the compute kernel for 2-stage solver" .RI "int \fBTHIS_ELPA_COMPLEX_KERNEL\fp: choose the compute kernel for 2-stage solver"
.br .br
.RI "character(*), optional \fBmethod\fP: use 1stage solver if "1stage", use 2stage solver if "2stage", (at the moment) use 2stage solver if "auto" " .RI "logical, optional, intent(in) \fBuseGPU\fP: specify whether GPUs should be used or not used"
.br
.RI "character(*), optional \fBmethod\fP: use 1stage solver if "1stage", use 2stage solver if "2stage", (at the moment) use 2stage solver if "auto" "
.RI "logical \fBsuccess\fP: return value indicating success or failure" .RI "logical \fBsuccess\fP: return value indicating success or failure"
.br .br
.SS C INTERFACE .SS C INTERFACE
#include "elpa.h" #include "elpa.h"
...@@ -54,7 +56,7 @@ use elpa ...@@ -54,7 +56,7 @@ use elpa
#include <complex.h> #include <complex.h>
.br .br
.RI "success = \fBelpa_solve_evp_complex\fP (\fBint\fP na, \fBint\fP nev, \fB double complex *\fPa, \fBint\fP lda, \fB double *\fPev, \fBdouble complex *\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_COMPLEX_KERNEL \fB char *\fPmethod);" .RI "success = \fBelpa_solve_evp_complex\fP (\fBint\fP na, \fBint\fP nev, \fB double complex *\fPa, \fBint\fP lda, \fB double *\fPev, \fBdouble complex *\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_COMPLEX_KERNEL , \fBint\fP useGPU, \fB char *\fPmethod);"
.br .br
.RI " " .RI " "
.br .br
...@@ -87,6 +89,8 @@ use elpa ...@@ -87,6 +89,8 @@ use elpa
.br .br
.RI "int \fBTHIS_ELPA_COMPLEX_KERNEL\fp: choose the compute kernel for 2-stage solver" .RI "int \fBTHIS_ELPA_COMPLEX_KERNEL\fp: choose the compute kernel for 2-stage solver"
.br .br
.RI "int \fBuseGPU\fP: specify whether GPUS should be used or not
.br
.RI "char *\fBmethod\fP: use 1stage solver if "1stage", use 2stage solver if "2stage", (at the moment) use 2stage solver if "auto" " .RI "char *\fBmethod\fP: use 1stage solver if "1stage", use 2stage solver if "2stage", (at the moment) use 2stage solver if "auto" "
.RI "int \fBsuccess\fP: return value indicating success (1) or failure (0) .RI "int \fBsuccess\fP: return value indicating success (1) or failure (0)
......
...@@ -11,7 +11,7 @@ elpa_solve_evp_complex_1stage \- solve the complex eigenvalue problem with the 1 ...@@ -11,7 +11,7 @@ elpa_solve_evp_complex_1stage \- solve the complex eigenvalue problem with the 1
use elpa1 use elpa1
.br .br
.br .br
.RI "success = \fBelpa_solve_evp_complex_1stage\fP (na, nev, a(lda,matrixCols), ev(nev), q(ldq, matrixCols), ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols)" .RI "success = \fBelpa_solve_evp_complex_1stage\fP (na, nev, a(lda,matrixCols), ev(nev), q(ldq, matrixCols), ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, mpi_comm_all, useGPU)"
.br .br
.RI " " .RI " "
.br .br
...@@ -40,7 +40,10 @@ use elpa1 ...@@ -40,7 +40,10 @@ use elpa1
.br .br
.RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" .RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)"
.br .br
.RI "integer, intent(in) \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA"
.br
.RI "logical, optional, intent(in) \fBuseGPU\fP: specify whether GPUs should be used or not used"
.br
.RI "logical \fBsuccess\fP: return value indicating success or failure" .RI "logical \fBsuccess\fP: return value indicating success or failure"
.br .br
.SS C INTERFACE .SS C INTERFACE
...@@ -49,7 +52,7 @@ use elpa1 ...@@ -49,7 +52,7 @@ use elpa1
#include <complex.h> #include <complex.h>
.br .br
.RI "success = \fBelpa_solve_evp_complex_1stage\fP (\fBint\fP na, \fBint\fP nev, \fB double complex *\fPa, \fBint\fP lda, \fB double *\fPev, \fBdouble complex*\fPq, \fBint\fP ldq, \fBint\fP nblk, \fBint\fP matrixCols, \fBint\fP mpi_comm_rows, \fBint\fP mpi_comm_cols);" .RI "success = \fBelpa_solve_evp_complex_1stage\fP (\fBint\fP na, \fBint\fP nev, \fB double complex *\fPa, \fBint\fP lda, \fB double *\fPev, \fBdouble complex*\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 useGPU);"
.br .br
.RI " " .RI " "
.br .br
...@@ -78,7 +81,10 @@ use elpa1 ...@@ -78,7 +81,10 @@ use elpa1
.br .br
.RI "int \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" .RI "int \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)"
.br .br
.RI "int \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA"
.br
.RI "int \fBuseGPU\fP: specify whether GPUS should be used or not
.br
.RI "int \fBsuccess\fP: return value indicating success (1) or failure (0) .RI "int \fBsuccess\fP: return value indicating success (1) or failure (0)
.SH DESCRIPTION .SH DESCRIPTION
......
...@@ -11,7 +11,7 @@ elpa_solve_evp_complex_1stage_double \- solve the double-precision complex eigen ...@@ -11,7 +11,7 @@ elpa_solve_evp_complex_1stage_double \- solve the double-precision complex eigen
use elpa1 use elpa1
.br .br
.br .br
.RI "success = \fBelpa_solve_evp_complex_1stage_double\fP (na, nev, a(lda,matrixCols), ev(nev), q(ldq, matrixCols), ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols)" .RI "success = \fBelpa_solve_evp_complex_1stage_double\fP (na, nev, a(lda,matrixCols), ev(nev), q(ldq, matrixCols), ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, mpi_comm_all, useGPU)"
.br .br
.RI " " .RI " "
.br .br
...@@ -40,7 +40,10 @@ use elpa1 ...@@ -40,7 +40,10 @@ use elpa1
.br .br
.RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" .RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)"
.br .br
.RI "integer, intent(in) \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA"
.br
.RI "logical, optional, intent(in) \fBuseGPU\fP: specify whether GPUs should be used or not used"
.br
.RI "logical \fBsuccess\fP: return value indicating success or failure" .RI "logical \fBsuccess\fP: return value indicating success or failure"
.br .br
.SS C INTERFACE .SS C INTERFACE
...@@ -49,7 +52,7 @@ use elpa1 ...@@ -49,7 +52,7 @@ use elpa1
#include <complex.h> #include <complex.h>
.br .br
.RI "success = \fBelpa_solve_evp_complex_1stage_double_precision\fP (\fBint\fP na, \fBint\fP nev, \fB double complex *\fPa, \fBint\fP lda, \fB double *\fPev, \fBdouble complex*\fPq, \fBint\fP ldq, \fBint\fP nblk, \fBint\fP matrixCols, \fBint\fP mpi_comm_rows, \fBint\fP mpi_comm_cols);" .RI "success = \fBelpa_solve_evp_complex_1stage_double_precision\fP (\fBint\fP na, \fBint\fP nev, \fB double complex *\fPa, \fBint\fP lda, \fB double *\fPev, \fBdouble complex*\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 useGPU);"
.br .br
.RI " " .RI " "
.br .br
...@@ -78,7 +81,10 @@ use elpa1 ...@@ -78,7 +81,10 @@ use elpa1
.br .br
.RI "int \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" .RI "int \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)"
.br .br
.RI "int \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA"
.br
.RI "int \fBuseGPU\fP: specify whether GPUS should be used or not
.br
.RI "int \fBsuccess\fP: return value indicating success (1) or failure (0) .RI "int \fBsuccess\fP: return value indicating success (1) or failure (0)
.SH DESCRIPTION .SH DESCRIPTION
......
...@@ -11,7 +11,7 @@ elpa_solve_evp_complex_1stage_single \- solve the complex eigenvalue problem wit ...@@ -11,7 +11,7 @@ elpa_solve_evp_complex_1stage_single \- solve the complex eigenvalue problem wit
use elpa1 use elpa1
.br .br
.br .br
.RI "success = \fBelpa_solve_evp_complex_1stage_single\fP (na, nev, a(lda,matrixCols), ev(nev), q(ldq, matrixCols), ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols)" .RI "success = \fBelpa_solve_evp_complex_1stage_single\fP (na, nev, a(lda,matrixCols), ev(nev), q(ldq, matrixCols), ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, mpi_comm_all, useGPU)"
.br .br
.RI " " .RI " "
.br .br
...@@ -40,7 +40,10 @@ use elpa1 ...@@ -40,7 +40,10 @@ use elpa1
.br .br
.RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" .RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)"
.br .br
.RI "integer, intent(in) \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA"
.br
.RI "logical, optional, intent(in) \fBuseGPU\fP: specify whether GPUs should be used or not used"
.br
.RI "logical \fBsuccess\fP: return value indicating success or failure" .RI "logical \fBsuccess\fP: return value indicating success or failure"
.br .br
.SS C INTERFACE .SS C INTERFACE
...@@ -49,7 +52,7 @@ use elpa1 ...@@ -49,7 +52,7 @@ use elpa1
#include <complex.h> #include <complex.h>
.br .br
.RI "success = \fBelpa_solve_evp_complex_1stage_single\fP (\fBint\fP na, \fBint\fP nev, \fB complex *\fPa, \fBint\fP lda, \fB float *\fPev, \fBcomplex*\fPq, \fBint\fP ldq, \fBint\fP nblk, \fBint\fP matrixCols, \fBint\fP mpi_comm_rows, \fBint\fP mpi_comm_cols);" .RI "success = \fBelpa_solve_evp_complex_1stage_single\fP (\fBint\fP na, \fBint\fP nev, \fB complex *\fPa, \fBint\fP lda, \fB float *\fPev, \fBcomplex*\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 useGPU);"
.br .br
.RI " " .RI " "
.br .br
...@@ -78,7 +81,10 @@ use elpa1 ...@@ -78,7 +81,10 @@ use elpa1
.br .br
.RI "int \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" .RI "int \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)"
.br .br
.RI "int \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA"
.br
.RI "int \fBuseGPU\fP: specify whether GPUS should be used or not
.br
.RI "int \fBsuccess\fP: return value indicating success (1) or failure (0) .RI "int \fBsuccess\fP: return value indicating success (1) or failure (0)
.SH DESCRIPTION .SH DESCRIPTION
......
...@@ -11,42 +11,44 @@ elpa_solve_evp_complex_double \- solve the complex eigenvalue problem with eithe ...@@ -11,42 +11,44 @@ elpa_solve_evp_complex_double \- solve the complex eigenvalue problem with eithe
use elpa use elpa
.br .br
.br .br
.RI "success = \fBelpa_solve_evp_complex_double\fP (na, nev, a(lda,matrixCols), ev(nev), q(ldq, matrixCols), ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, mpi_comm_all, THIS_COMPLEX_ELPA_KERNEL=THIS_COMPLEX_ELPA_KERNEL, method=method)" .RI "success = \fBelpa_solve_evp_complex_double\fP (na, nev, a(lda,matrixCols), ev(nev), q(ldq, matrixCols), ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, mpi_comm_all, THIS_COMPLEX_ELPA_KERNEL, useGPU, method)"
.br .br
.RI " " .RI " "
.br .br
.RI "With the definintions of the input and output variables:" .RI "With the definintions of the input and output variables:"
.br .br
.RI "integer, intent(in) \fBna\fP: global dimension of quadratic matrix \fBa\fP to solve" .RI "integer, intent(in) \fBna\fP: global dimension of quadratic matrix \fBa\fP to solve"
.br .br
.RI "integer, intent(in) \fBnev\fP: number of eigenvalues to be computed; the first \fBnev\fP eigenvalules are calculated" .RI "integer, intent(in) \fBnev\fP: number of eigenvalues to be computed; the first \fBnev\fP eigenvalules are calculated"
.br .br
.RI "complex*16, intent(inout) \fBa\fP: locally distributed part of the matrix \fBa\fP. The local dimensions are \fBlda\fP x \fBmatrixCols\fP" .RI "complex*16, intent(inout) \fBa\fP: locally distributed part of the matrix \fBa\fP. The local dimensions are \fBlda\fP x \fBmatrixCols\fP"
.br .br
.RI "integer, intent(in) \fBlda\fP: leading dimension of locally distributed matrix \fBa\fP" .RI "integer, intent(in) \fBlda\fP: leading dimension of locally distributed matrix \fBa\fP"
.br .br
.RI "real*8, intent(inout) \fBev\fP: on output the first \fBnev\fP computed eigenvalues" .RI "real*8, intent(inout) \fBev\fP: on output the first \fBnev\fP computed eigenvalues"
.br .br
.RI "complex*16, intent(inout) \fBq\fP: on output the first \fBnev\fP computed eigenvectors" .RI "complex*16, intent(inout) \fBq\fP: on output the first \fBnev\fP computed eigenvectors"
.br .br
.RI "integer, intent(in) \fBldq\fP: leading dimension of matrix \fBq\fP which stores the eigenvectors" .RI "integer, intent(in) \fBldq\fP: leading dimension of matrix \fBq\fP which stores the eigenvectors"
.br .br
.RI "integer, intent(in) \fBnblk\fP: blocksize of block cyclic distributin, must be the same in both directions" .RI "integer, intent(in) \fBnblk\fP: blocksize of block cyclic distributin, must be the same in both directions"
.br .br
.RI "integer, intent(in) \fBmatrixCols\fP: number of columns of locally distributed matrices \fBa\fP and \fBq\fP" .RI "integer, intent(in) \fBmatrixCols\fP: number of columns of locally distributed matrices \fBa\fP and \fBq\fP"
.br .br
.RI "integer, intent(in) \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBelpa_get_communicators\fP(3)" .RI "integer, intent(in) \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBelpa_get_communicators\fP(3)"
.br .br
.RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" .RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)"
.br .br
.RI "integer, intent(in) \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA" .RI "integer, intent(in) \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA"
.br .br
.RI "int \fBTHIS_ELPA_COMPLEX_KERNEL\fp: choose the compute kernel for 2-stage solver" .RI "int \fBTHIS_ELPA_COMPLEX_KERNEL\fp: choose the compute kernel for 2-stage solver"
.br .br
.RI "character(*), optional \fBmethod\fP: use 1stage solver if "1stage", use 2stage solver if "2stage", (at the moment) use 2stage solver if "auto" " .RI "logical, optional, intent(in) \fBuseGPU\fP: specify whether GPUs should be used or not used"
.br
.RI "character(*), optional \fBmethod\fP: use 1stage solver if "1stage", use 2stage solver if "2stage", (at the moment) use 2stage solver if "auto" "
.RI "logical \fBsuccess\fP: return value indicating success or failure" .RI "logical \fBsuccess\fP: return value indicating success or failure"
.br .br
.SS C INTERFACE .SS C INTERFACE
#include "elpa.h" #include "elpa.h"
...@@ -54,7 +56,7 @@ use elpa ...@@ -54,7 +56,7 @@ use elpa
#include <complex.h> #include <complex.h>
.br .br
.RI "success = \fBelpa_solve_evp_complex_double\fP (\fBint\fP na, \fBint\fP nev, \fB double complex *\fPa, \fBint\fP lda, \fB double *\fPev, \fBdouble complex *\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_COMPLEX_KERNEL \fB char *\fPmethod);" .RI "success = \fBelpa_solve_evp_complex_double\fP (\fBint\fP na, \fBint\fP nev, \fB double complex *\fPa, \fBint\fP lda, \fB double *\fPev, \fBdouble complex *\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_COMPLEX_KERNEL, \fBint\fP useGPU, \fB char *\fPmethod);"
.br .br
.RI " " .RI " "
.br .br
...@@ -87,6 +89,8 @@ use elpa ...@@ -87,6 +89,8 @@ use elpa
.br .br
.RI "int \fBTHIS_ELPA_COMPLEX_KERNEL\fp: choose the compute kernel for 2-stage solver" .RI "int \fBTHIS_ELPA_COMPLEX_KERNEL\fp: choose the compute kernel for 2-stage solver"
.br .br
.RI "int \fBuseGPU\fP: specify whether GPUS should be used or not
.br
.RI "char *\fBmethod\fP: use 1stage solver if "1stage", use 2stage solver if "2stage", (at the moment) use 2stage solver if "auto" " .RI "char *\fBmethod\fP: use 1stage solver if "1stage", use 2stage solver if "2stage", (at the moment) use 2stage solver if "auto" "
.RI "int \fBsuccess\fP: return value indicating success (1) or failure (0) .RI "int \fBsuccess\fP: return value indicating success (1) or failure (0)
......
...@@ -11,42 +11,44 @@ elpa_solve_evp_complex_single \- solve the complex eigenvalue problem with eithe ...@@ -11,42 +11,44 @@ elpa_solve_evp_complex_single \- solve the complex eigenvalue problem with eithe
use elpa use elpa
.br .br
.br .br
.RI "success = \fBelpa_solve_evp_complex_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_COMPLEX_ELPA_KERNEL=THIS_COMPLEX_ELPA_KERNEL, method=method)" .RI "success = \fBelpa_solve_evp_complex_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_COMPLEX_ELPA_KERNE, useGPU, method)"
.br .br
.RI " " .RI " "
.br .br
.RI "With the definintions of the input and output variables:" .RI "With the definintions of the input and output variables:"
.br .br
.RI "integer, intent(in) \fBna\fP: global dimension of quadratic matrix \fBa\fP to solve" .RI "integer, intent(in) \fBna\fP: global dimension of quadratic matrix \fBa\fP to solve"
.br .br
.RI "integer, intent(in) \fBnev\fP: number of eigenvalues to be computed; the first \fBnev\fP eigenvalules are calculated" .RI "integer, intent(in) \fBnev\fP: number of eigenvalues to be computed; the first \fBnev\fP eigenvalules are calculated"
.br .br
.RI "complex*8, intent(inout) \fBa\fP: locally distributed part of the matrix \fBa\fP. The local dimensions are \fBlda\fP x \fBmatrixCols\fP" .RI "complex*8, intent(inout) \fBa\fP: locally distributed part of the matrix \fBa\fP. The local dimensions are \fBlda\fP x \fBmatrixCols\fP"
.br .br
.RI "integer, intent(in) \fBlda\fP: leading dimension of locally distributed matrix \fBa\fP" .RI "integer, intent(in) \fBlda\fP: leading dimension of locally distributed matrix \fBa\fP"
.br .br
.RI "real*4, intent(inout) \fBev\fP: on output the first \fBnev\fP computed eigenvalues" .RI "real*4, intent(inout) \fBev\fP: on output the first \fBnev\fP computed eigenvalues"
.br .br
.RI "complex*8, intent(inout) \fBq\fP: on output the first \fBnev\fP computed eigenvectors" .RI "complex*8, intent(inout) \fBq\fP: on output the first \fBnev\fP computed eigenvectors"
.br .br
.RI "integer, intent(in) \fBldq\fP: leading dimension of matrix \fBq\fP which stores the eigenvectors" .RI "integer, intent(in) \fBldq\fP: leading dimension of matrix \fBq\fP which stores the eigenvectors"
.br .br
.RI "integer, intent(in) \fBnblk\fP: blocksize of block cyclic distributin, must be the same in both directions" .RI "integer, intent(in) \fBnblk\fP: blocksize of block cyclic distributin, must be the same in both directions"
.br .br
.RI "integer, intent(in) \fBmatrixCols\fP: number of columns of locally distributed matrices \fBa\fP and \fBq\fP" .RI "integer, intent(in) \fBmatrixCols\fP: number of columns of locally distributed matrices \fBa\fP and \fBq\fP"
.br .br
.RI "integer, intent(in) \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBelpa_get_communicators\fP(3)" .RI "integer, intent(in) \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBelpa_get_communicators\fP(3)"
.br .br
.RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" .RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)"
.br .br
.RI "integer, intent(in) \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA" .RI "integer, intent(in) \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA"
.br .br
.RI "int \fBTHIS_ELPA_COMPLEX_KERNEL\fp: choose the compute kernel for 2-stage solver" .RI "logical, optional, intent(in) \fBuseGPU\fP: specify whether GPUs should be used or not used"
.br .br
.RI "character(*), optional \fBmethod\fP: use 1stage solver if "1stage", use 2stage solver if "2stage", (at the moment) use 2stage solver if "auto" " .RI "int \fBTHIS_ELPA_COMPLEX_KERNEL\fp: choose the compute kernel for 2-stage solver"
.br
.RI "character(*), optional \fBmethod\fP: use 1stage solver if "1stage", use 2stage solver if "2stage", (at the moment) use 2stage solver if "auto" "
.RI "logical \fBsuccess\fP: return value indicating success or failure" .RI "logical \fBsuccess\fP: return value indicating success or failure"
.br .br
.SS C INTERFACE .SS C INTERFACE
#include "elpa.h" #include "elpa.h"
...@@ -54,7 +56,7 @@ use elpa ...@@ -54,7 +56,7 @@ use elpa
#include <complex.h> #include <complex.h>
.br .br
.RI "success = \fBelpa_solve_evp_complex_single\fP (\fBint\fP na, \fBint\fP nev, \fB complex *\fPa, \fBint\fP lda, \fB float *\fPev, \fBcomplex *\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_COMPLEX_KERNEL \fB char *\fPmethod);" .RI "success = \fBelpa_solve_evp_complex_single\fP (\fBint\fP na, \fBint\fP nev, \fB complex *\fPa, \fBint\fP lda, \fB float *\fPev, \fBcomplex *\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_COMPLEX_KERNEL, \fBint\fP useGPU, \fB char *\fPmethod);"
.br .br
.RI " " .RI " "
.br .br
...@@ -87,6 +89,8 @@ use elpa ...@@ -87,6 +89,8 @@ use elpa
.br .br
.RI "int \fBTHIS_ELPA_COMPLEX_KERNEL\fp: choose the compute kernel for 2-stage solver" .RI "int \fBTHIS_ELPA_COMPLEX_KERNEL\fp: choose the compute kernel for 2-stage solver"
.br .br
.RI "int \fBuseGPU\fP: specify whether GPUS should be used or not
.br
.RI "char *\fBmethod\fP: use 1stage solver if "1stage", use 2stage solver if "2stage", (at the moment) use 2stage solver if "auto" " .RI "char *\fBmethod\fP: use 1stage solver if "1stage", use 2stage solver if "2stage", (at the moment) use 2stage solver if "auto" "
.RI "int \fBsuccess\fP: return value indicating success (1) or failure (0) .RI "int \fBsuccess\fP: return value indicating success (1) or failure (0)
......
...@@ -11,7 +11,7 @@ elpa_solve_evp_real \- solve the real eigenvalue problem ...@@ -11,7 +11,7 @@ elpa_solve_evp_real \- solve the real eigenvalue problem
use elpa use elpa
.br .br
.br .br
.RI "success = \fBelpa_solve_evp_real\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=THIS_REAL_ELPA_KERNEL, useQr=useQR, method=method)" .RI "success = \fBelpa_solve_evp_real\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=THIS_REAL_ELPA_KERNEL, useQr, useGPU, method)"
.br .br
.RI " " .RI " "
.br .br
...@@ -48,6 +48,8 @@ use elpa ...@@ -48,6 +48,8 @@ use elpa
.br .br
.RI "logical, intent(in), optional: \fBuseQR\fP: optional argument; switches to QR-decomposition if set to .true." .RI "logical, intent(in), optional: \fBuseQR\fP: optional argument; switches to QR-decomposition if set to .true."
.br .br
.RI "logical, optional, intent(in) \fBuseGPU\fP: specify whether GPUs should be used or not used"
.br
.RI "character(*), optional \fBmethod\fP: use 1stage solver if "1stage", use 2stage solver if "2stage", (at the moment) use 2stage solver if "auto" " .RI "character(*), optional \fBmethod\fP: use 1stage solver if "1stage", use 2stage solver if "2stage", (at the moment) use 2stage solver if "auto" "
.RI "logical \fBsuccess\fP: return value indicating success or failure" .RI "logical \fBsuccess\fP: return value indicating success or failure"
...@@ -56,7 +58,7 @@ use elpa ...@@ -56,7 +58,7 @@ use elpa
#include "elpa.h" #include "elpa.h"
.br .br
.RI "success = \fBelpa_solve_evp_real\fP (\fBint\fP na, \fBint\fP nev, \fB double *\fPa, \fBint\fP lda, \fB double *\fPev, \fBdouble *\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, \fbchar *\fPmethod);" .RI "success = \fBelpa_solve_evp_real\fP (\fBint\fP na, \fBint\fP nev, \fB double *\fPa, \fBint\fP lda, \fB double *\fPev, \fBdouble *\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, \fbchar *\fPmethod);"
.br .br
.RI " " .RI " "
.br .br
...@@ -91,6 +93,8 @@ use elpa ...@@ -91,6 +93,8 @@ use elpa
.br .br
.RI "int \fBuseQR\fP: if set to 1 switch to QR-decomposition" .RI "int \fBuseQR\fP: if set to 1 switch to QR-decomposition"
.br .br
.RI "int \fBuseGPU\fP: specify whether GPUS should be used or not
.br
.RI "char *\fBmethod\fP: use 1stage solver if "1stage", use 2stage solver if "2stage", (at the moment) use 2stage solver if "auto" " .RI "char *\fBmethod\fP: use 1stage solver if "1stage", use 2stage solver if "2stage", (at the moment) use 2stage solver if "auto" "
.RI "int \fBsuccess\fP: return value indicating success (1) or failure (0) .RI "int \fBsuccess\fP: return value indicating success (1) or failure (0)
......
...@@ -11,7 +11,7 @@ elpa_solve_evp_real_1stage \- solve the real eigenvalue problem with the 1-stage ...@@ -11,7 +11,7 @@ elpa_solve_evp_real_1stage \- solve the real eigenvalue problem with the 1-stage
use elpa1 use elpa1
.br .br
.br .br
.RI "success = \fBelpa_solve_evp_real_1stage\fP (na, nev, a(lda,matrixCols), ev(nev), q(ldq, matrixCols), ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols)" .RI "success = \fBelpa_solve_evp_real_1stage\fP (na, nev, a(lda,matrixCols), ev(nev), q(ldq, matrixCols), ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, mpi_comm_all, useGPU)"
.br .br
.RI " " .RI " "
.br .br
...@@ -40,6 +40,10 @@ use elpa1 ...@@ -40,6 +40,10 @@ use elpa1
.br .br
.RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" .RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)"
.br .br
.RI "integer, intent(in) \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA"
.br
.RI "logical, optional, intent(in) \fBuseGPU\fP: specify whether GPUs should be used or not used"
.br
.RI "logical \fBsuccess\fP: return value indicating success or failure" .RI "logical \fBsuccess\fP: return value indicating success or failure"
.br .br
...@@ -47,7 +51,7 @@ use elpa1 ...@@ -47,7 +51,7 @@ use elpa1
#include "elpa.h" #include "elpa.h"
.br .br
.RI "success = \fBelpa_solve_evp_real_1stage\fP (\fBint\fP na, \fBint\fP nev, \fB double *\fPa, \fBint\fP lda, \fB double *\fPev, \fBdouble *\fPq, \fBint\fP ldq, \fBint\fP nblk, \fBint\fP matrixCols, \fBint\fP mpi_comm_rows, \fBint\fP mpi_comm_cols);" .RI "success = \fBelpa_solve_evp_real_1stage\fP (\fBint\fP na, \fBint\fP nev, \fB double *\fPa, \fBint\fP lda, \fB double *\fPev, \fBdouble *\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 useGPU);"
.br .br
.RI " " .RI " "
.br .br
...@@ -76,7 +80,10 @@ use elpa1 ...@@ -76,7 +80,10 @@ use elpa1
.br .br
.RI "int \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" .RI "int \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)"
.br .br
.RI "int \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA"
.br
.RI "int \fBuseGPU\fP: specify whether GPUS should be used or not
.br
.RI "int \fBsuccess\fP: return value indicating success (1) or failure (0) .RI "int \fBsuccess\fP: return value indicating success (1) or failure (0)
.SH DESCRIPTION .SH DESCRIPTION
......
...@@ -11,7 +11,7 @@ elpa_solve_evp_real_1stage_double \- solve the real eigenvalue problem with the ...@@ -11,7 +11,7 @@ elpa_solve_evp_real_1stage_double \- solve the real eigenvalue problem with the
use elpa1 use elpa1
.br .br
.br .br
.RI "success = \fBelpa_solve_evp_real_1stage_double\fP (na, nev, a(lda,matrixCols), ev(nev), q(ldq, matrixCols), ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols)" .RI "success = \fBelpa_solve_evp_real_1stage_double\fP (na, nev, a(lda,matrixCols), ev(nev), q(ldq, matrixCols), ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, mpi_comm_all, useGPU)"
.br .br
.RI " " .RI " "
.br .br
...@@ -40,14 +40,17 @@ use elpa1 ...@@ -40,14 +40,17 @@ use elpa1
.br .br
.RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" .RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)"
.br .br
.RI "integer, intent(in) \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA"
.br
.RI "logical, optional, intent(in) \fBuseGPU\fP: specify whether GPUs should be used or not used"
.br
.RI "logical \fBsuccess\fP: return value indicating success or failure" .RI "logical \fBsuccess\fP: return value indicating success or failure"
.br .br
.SS C INTERFACE .SS C INTERFACE