PaStiX Handbook  6.2.1
core_cgelrops.c File Reference
#include "common.h"
#include <cblas.h>
#include <lapacke.h>
#include "blend/solver.h"
#include "pastix_ccores.h"
#include "pastix_clrcores.h"
#include "c_nan_check.h"
#include "kernels_trace.h"

Go to the source code of this file.

Functions

void core_clralloc (pastix_int_t M, pastix_int_t N, pastix_int_t rkmax, pastix_lrblock_t *A)
 Allocate a low-rank matrix. More...
 
void core_clrfree (pastix_lrblock_t *A)
 Free a low-rank matrix. More...
 
int core_clrsze (int copy, pastix_int_t M, pastix_int_t N, pastix_lrblock_t *A, pastix_int_t newrk, pastix_int_t newrkmax, pastix_int_t rklimit)
 Resize a low-rank matrix. More...
 
int core_clr2ge (pastix_trans_t trans, pastix_int_t m, pastix_int_t n, const pastix_lrblock_t *Alr, pastix_complex32_t *A, pastix_int_t lda)
 Convert a low rank matrix into a dense matrix. More...
 
void core_clrcpy (const pastix_lr_t *lowrank, pastix_trans_t transAv, pastix_complex32_t alpha, pastix_int_t M1, pastix_int_t N1, const pastix_lrblock_t *A, pastix_int_t M2, pastix_int_t N2, pastix_lrblock_t *B, pastix_int_t offx, pastix_int_t offy)
 Copy a small low-rank structure into a large one. More...
 
void core_clrconcatenate_u (pastix_complex32_t alpha, pastix_int_t M1, pastix_int_t N1, const pastix_lrblock_t *A, pastix_int_t M2, pastix_lrblock_t *B, pastix_int_t offx, pastix_complex32_t *u1u2)
 Concatenate left parts of two low-rank matrices. More...
 
void core_clrconcatenate_v (pastix_trans_t transA1, pastix_complex32_t alpha, pastix_int_t M1, pastix_int_t N1, const pastix_lrblock_t *A, pastix_int_t N2, pastix_lrblock_t *B, pastix_int_t offy, pastix_complex32_t *v1v2)
 Concatenate right parts of two low-rank matrices. More...
 
pastix_fixdbl_t core_cge2lr_qrcp (core_crrqr_cp_t rrqrfct, int use_reltol, pastix_fixdbl_t tol, pastix_int_t rklimit, pastix_int_t m, pastix_int_t n, const void *Avoid, pastix_int_t lda, pastix_lrblock_t *Alr)
 Template to convert a full rank matrix into a low rank matrix through QR decompositions. More...
 
pastix_fixdbl_t core_cge2lr_qrrt (core_crrqr_rt_t rrqrfct, int use_reltol, pastix_fixdbl_t tol, pastix_int_t rklimit, pastix_int_t m, pastix_int_t n, const void *Avoid, pastix_int_t lda, pastix_lrblock_t *Alr)
 Template to convert a full rank matrix into a low rank matrix through QR decompositions. More...
 
pastix_fixdbl_t core_crradd_qr (core_crrqr_cp_t rrqrfct, const pastix_lr_t *lowrank, pastix_trans_t transA1, const void *alphaptr, pastix_int_t M1, pastix_int_t N1, const pastix_lrblock_t *A, pastix_int_t M2, pastix_int_t N2, pastix_lrblock_t *B, pastix_int_t offx, pastix_int_t offy)
 Template to perform the addition of two low-rank structures with compression kernel based on QR decomposition. More...
 
size_t core_clrgetsize (pastix_int_t M, pastix_int_t N, pastix_lrblock_t *A)
 Compute the size of a block to send in LR. More...
 
char * core_clrpack (pastix_int_t M, pastix_int_t N, const pastix_lrblock_t *A, char *buffer)
 Pack low-rank data by side. More...
 
char * core_clrunpack (pastix_int_t M, pastix_int_t N, pastix_lrblock_t *A, char *buffer)
 Unpack low rank data and fill the cblk concerned by the computation. More...
 
const char * core_clrunpack2 (pastix_int_t M, pastix_int_t N, pastix_lrblock_t *A, const char *input, char **outptr)
 Unpack low rank data and fill the cblk concerned by the computation. More...
 

Detailed Description

PaStiX low-rank kernel routines

Version
6.2.1
Author
Gregoire Pichon
Esragul Korkmaz
Mathieu Faverge
Pierre Ramet
Nolan Bredel
Date
2021-06-29
Generated arithmetic file\n from /builds/solverstack/pastix/kernels/core_zgelrops.c, normal z -> c, Tue Apr 12 09:38:40 2022

Definition in file core_cgelrops.c.