libflame  revision_anchor
Functions | Variables
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_tflash_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

fla_lu_t* flash_lu_incpiv_cntl
extern