Mentions légales du service
Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Chameleon
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Operate
Environments
Terraform modules
Monitor
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Admin message
GitLab upgrade completed. Current version is 17.11.3.
Show more breadcrumbs
solverstack
Chameleon
Commits
9e896d59
Commit
9e896d59
authored
7 years ago
by
PRUVOST Florent
Browse files
Options
Downloads
Patches
Plain Diff
update API with new functions and some bried comment about linear algebra routines
parent
62471d52
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
doc/orgmode/chapters/using.org
+134
-16
134 additions, 16 deletions
doc/orgmode/chapters/using.org
with
134 additions
and
16 deletions
doc/orgmode/chapters/using.org
+
134
−
16
View file @
9e896d59
...
...
@@ -712,17 +712,100 @@
*MORSE_name[_Tile[_Async]]* (/name/ follows LAPACK naming scheme, see
http://www.netlib.org/lapack/lug/node24.html) that can be used
with the Chameleon library. For details about these functions
please refer to the doxygen documentation.
* BLAS 3: geadd, gemm, heevd, hemm, her2k, herk, hetrd, lascal,
symm, syr2k, syrk, tradd, trmm, trsm, trsmpl, tradd
* LAPACK: gelqf, gelqfrh, gelqf_param, gelqs, gelqs_param, gels,
gels_param, geqrf, geqrfrh, geqrf_param, geqrs, geqrs_param,
gesv_incpiv, gesv_nopiv, gesvd, getrf_incpiv, getrf_nopiv,
getrs_incpiv, getrs_nopiv, lacpy, lange, lanhe, lansy, lantr,
laset2, laset, lauum, plghe, plgsy, plrnt, potrf, potri,
potrimm, potrs, sysv, sytrf, sytrs, tpqrt, tpgqrt, trtri,
unglq, unglq_param, unglqrh, ungqr, ungqr_param, ungqrrh,
unmlq, unmlq_param, unmlqrh, unmqr, unmqr_param, unmqrrh
please refer to the doxygen documentation. /name/ can be one of the
following:
* geadd: matrix matrix addition
* gelqf: LQ factorization
* gelqf_param: gelqf with hqr
* gelqs: computes a minimum-norm solution min || A*X - B || using
the LQ factorization
* gelqs_param: gelqs with hqr
* gels: solves overdetermined or underdetermined linear systems
using LQ or QR
* gels_param: gels with hqr
* gemm: matrix matrix multiply and addition
* geqrf: QR factorization
* geqrf_param: geqrf with hqr
* geqrs: computes a minimum-norm solution min || A*X - B || using
the RQ factorization
* geqrs_param: geqrs with hqr
* gesv_incpiv: linear systems solving with LU factorization and
partial pivoting
* gesv_nopiv: linear systems solving with LU factorization and
without pivoting
* gesvd: singular value decomposition
* getrf_incpiv: LU factorization with partial pivoting
* getrf_nopiv: LU factorization without pivoting
* getrs_incpiv: linear systems solving using existing LU
factorization with partial pivoting
* getrs_nopiv: linear systems solving using existing LU
factorization without pivoting
* hemm: gemm with A Hermitian
* herk: rank k operations with A Hermitian
* her2k: rank 2k operations with A Hermitian
* heevd: eigenvalues/eigenvectors computation with A Hermitian
* hetrd: reduces a complex Hermitian matrix A to real symmetric
tridiagonal form S
* lacpy: copy matrix into another
* lange: computes norm of a matrix (Max, One, Inf, Frobenius)
* lanhe: lange with A Hermitian
* lansy: lange with A symmetric
* lantr: lange with A triangular
* lascal: scales a matrix
* laset: copy the triangular part of a matrix into another, set a
value for the diagonal and off-diagonal part
* lauum: computes the product U * U' or L' * L, where the
triangular factor U or L is stored in the upper or lower
triangular part of the array A
* plghe: generates a random Hermitian matrix
* plgsy: generates a random symmetrix matrix
* plrnt: generates a random matrix
* posv: linear systems solving using Cholesky factorization
* potrf: Cholesky factorization
* potri: computes the inverse of a complex Hermitian positive
definite matrix A using the Cholesky factorization A
* potrimm:
* potrs: linear systems solving using existing Cholesky
factorization
* symm: gemm with A symmetric
* syrk: rank k operations with A symmetric
* syr2k: rank 2k with A symmetric
* sysv: linear systems solving using Cholesky decomposition with
A symmetric
* sytrf: Cholesky decomposition with A symmetric
* sytrs: linear systems solving using existing Cholesky
decomposition with A symmetric
* tpgqrt: generates a partial Q matrix formed with a blocked QR
factorization of a "triangular-pentagonal" matrix C, which is
composed of a unused triangular block and a pentagonal block V,
using the compact representation for Q. See tpqrt to
generate V
* tpqrt: computes a blocked QR factorization of a
"triangular-pentagonal" matrix C, which is composed of a
triangular block A and a pentagonal block B, using the compact
representation for Q
* tradd: trapezoidal matrices addition
* trmm: gemm with A triangular
* trsm: computes triangular solve
* trsmpl: performs the forward substitution step of solving a
system of linear equations after the tile LU factorization of
the matrix
* trsmrv:
* trtri: computes the inverse of a complex upper or lower triangular matrix A
* unglq: generates an M-by-N matrix Q with orthonormal rows,
which is defined as the first M rows of a product of the
elementary reflectors returned by MORSE_zgelqf
* unglq_param: unglq with hqr
* ungqr: generates an M-by-N matrix Q with orthonormal columns,
which is defined as the first N columns of a product of the
elementary reflectors returned by MORSE_zgeqrf
* ungqr_param: ungqr with hqr
* unmlq: overwrites C with Q*C or C*Q or equivalent operations
with transposition on conjugate on C (see doxygen
documentation)
* unmlq_param: unmlq with hqr
* unmqr: similar to unmlq (see doxygen documentation)
* unmqr_param: unmqr with hqr
**** Options routines
Enable MORSE feature.
...
...
@@ -830,9 +913,9 @@
Create matrix descriptor, internal function.
#+begin_src
int MORSE_Desc_Create
(MORSE_desc_t **desc, void *mat, MORSE_enum dtyp,
int mb, int nb, int bsiz, int lm, int ln,
int i, int j, int m, int n, int p, int q);
int MORSE_Desc_Create(MORSE_desc_t **desc, void *mat, MORSE_enum dtyp,
int mb, int nb, int bsiz, int lm, int ln,
int i, int j, int m, int n, int p, int q);
#+end_src
Create matrix descriptor, user function.
...
...
@@ -845,17 +928,52 @@
int (*get_rankof)( const MORSE_desc_t*, int, int ));
#+end_src
Create matrix descriptor for tiled matrix which may not fit
memory.
#+begin_src
int MORSE_Desc_Create_OOC(MORSE_desc_t **descptr, MORSE_enum dtyp, int mb, int nb, int bsiz,
int lm, int ln, int i, int j, int m, int n, int p, int q);
#+end_src
User's function version of MORSE_Desc_Create_OOC.
#+begin_src
int MORSE_Desc_Create_OOC_User(MORSE_desc_t **descptr, MORSE_enum dtyp, int mb, int nb, int bsiz,
int lm, int ln, int i, int j, int m, int n, int p, int q,
int (*get_rankof)( const MORSE_desc_t*, int, int ));
#+end_src
Destroys matrix descriptor.
#+begin_src
int MORSE_Desc_Destroy (MORSE_desc_t **desc);
#+end_src
Ensure that all data are up-to-date in main memory (even if some tasks have
been processed on GPUs)
Ensures that all data of the descriptor are up-to-date.
#+begin_src
int MORSE_Desc_Acquire (MORSE_desc_t *desc);
#+end_src
Release the data of the descriptor acquired by the
application. Should be called if MORSE_Desc_Acquire has been
called on the descriptor and if you do not need to access to its
data anymore.
#+begin_src
int MORSE_Desc_Release (MORSE_desc_t *desc);
#+end_src
Ensure that all data are up-to-date in main memory (even if some
tasks have been processed on GPUs).
#+begin_src
int MORSE_Desc_Getoncpu(MORSE_desc_t *desc);
#+end_src
Set the sizes for the MPI tags. Default value: tag_width=31,
tag_sep=24, meaning that the MPI tag is stored in 31 bits, with
24 bits for the tile tag and 7 for the descriptor. This function
must be called before any descriptor creation.
#+begin_src
void MORSE_user_tag_size(int user_tag_width, int user_tag_sep);
#+end_src
**** Sequences routines
Create a sequence.
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment