libflame revision_anchor
FLASH_LU_incpiv_opt1.c File Reference

(r)

Functions

FLA_Error FLASH_LU_incpiv_opt1 (FLA_Obj A, FLA_Obj p, FLA_Obj L)
 

Variables

fla_lu_t * flash_lu_incpiv_cntl
 

Function Documentation

◆ FLASH_LU_incpiv_opt1()

FLA_Error FLASH_LU_incpiv_opt1 ( FLA_Obj A,
FLA_Obj p,
FLA_Obj L )
16{
17 dim_t nb_alg;
18 FLA_Error r_val;
19 FLA_Obj U;
20
21 // Inspect the width of a the top-left element of L to get the algorithmic
22 // blocksize we'll use throughout the LU_incpiv algorithm.
23 nb_alg = FLASH_Obj_scalar_width_tl( L );
24
25 // Create a temporary matrix to hold copies of all of the blocks along the
26 // diagonal of A.
28
29 // Begin a parallel region.
31
32 // Enqueue tasks via a SuperMatrix-aware control tree.
33 r_val = FLASH_LU_incpiv_var2( A, p, L, U, nb_alg, flash_lu_incpiv_cntl );
34
35 // End the parallel region.
37
38 // Free the temporary matrix.
39 FLASH_Obj_free( &U );
40
41 return r_val;
42}
fla_lu_t * flash_lu_incpiv_cntl
Definition FLASH_LU_incpiv_cntl_init.c:18
void FLASH_Queue_begin(void)
Definition FLASH_Queue.c:59
void FLASH_Queue_end(void)
Definition FLASH_Queue.c:81
void FLASH_Obj_free(FLA_Obj *H)
Definition FLASH_Obj.c:638
dim_t FLASH_Obj_scalar_width_tl(FLA_Obj H)
Definition FLASH_View.c:737
FLA_Error FLASH_Obj_create_diag_panel(FLA_Obj A, FLA_Obj *U)
Definition FLASH_Obj_create_diag_panel.c:13
FLA_Error FLASH_LU_incpiv_var2(FLA_Obj A, FLA_Obj p, FLA_Obj L, FLA_Obj U, dim_t nb_alg, fla_lu_t *cntl)
Definition FLASH_LU_incpiv_var2.c:13
int FLA_Error
Definition FLA_type_defs.h:47
unsigned long dim_t
Definition FLA_type_defs.h:71
Definition FLA_type_defs.h:159

References flash_lu_incpiv_cntl, FLASH_LU_incpiv_var2(), FLASH_Obj_create_diag_panel(), FLASH_Obj_free(), FLASH_Obj_scalar_width_tl(), FLASH_Queue_begin(), and FLASH_Queue_end().

Referenced by FLASH_LU_incpiv().

Variable Documentation

◆ flash_lu_incpiv_cntl