libflame revision_anchor
Functions | Variables
FLA_QR_UT_copy_task.c File Reference

(r)

Functions

FLA_Error FLA_QR_UT_copy_task (FLA_Obj A, FLA_Obj T, FLA_Obj U, fla_qrut_t *cntl)
 

Variables

fla_qrut_tfla_qrut_cntl_leaf
 

Function Documentation

◆ FLA_QR_UT_copy_task()

FLA_Error FLA_QR_UT_copy_task ( FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  U,
fla_qrut_t cntl 
)
16{
18 FLA_Obj AT,
19 AB;
20
21 // Perform a QR factorization as we normally would.
24
25 // Partition away the bottom part of the matrix, if there is any, so that
26 // the dimensions match that of U. This step is only necessary so that
27 // the copyr operation below works normally for the last iteration of
28 // incremental QR. The whole point of making a copy of the lower triangle
29 // of A is to allow stage 2 to proceed without a dependency leading into
30 // stage 3. But the last iteration does not perform stage 2, and thus U
31 // is never read and so the copyr does not need to happen.
32 FLA_Part_2x1( A, &AT,
34
35 // Copy the Householder vectors into U.
37
38 return r_val;
39}
FLA_Error FLA_QR_UT_internal(FLA_Obj A, FLA_Obj T, fla_qrut_t *cntl)
Definition FLA_QR_UT_internal.c:17
fla_qrut_t * fla_qrut_cntl_leaf
Definition FLA_QR_UT_cntl_init.c:16
FLA_Error FLA_Copyr_external(FLA_Uplo uplo, FLA_Obj A, FLA_Obj B)
Definition FLA_Copyr_external.c:13
FLA_Error FLA_Part_2x1(FLA_Obj A, FLA_Obj *A1, FLA_Obj *A2, dim_t mb, FLA_Side side)
Definition FLA_View.c:76
dim_t FLA_Obj_min_dim(FLA_Obj obj)
Definition FLA_Query.c:153
int FLA_Error
Definition FLA_type_defs.h:47
int i
Definition bl1_axmyv2.c:145
Definition FLA_type_defs.h:159

References FLA_Copyr_external(), FLA_Obj_min_dim(), FLA_Part_2x1(), FLA_QR_UT_internal(), fla_qrut_cntl_leaf, and i.

Referenced by FLA_QR_UT_copy_internal(), and FLASH_Queue_exec_task().

Variable Documentation

◆ fla_qrut_cntl_leaf

fla_qrut_t* fla_qrut_cntl_leaf
extern

Referenced by FLA_QR_UT_copy_task().