SuperLU_DIST  4.0
superlu_dist on CPU and GPU clusters
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Functions
pzgstrf2.c File Reference

Performs panel LU factorization. More...

#include <math.h>
#include "omp.h"
#include "superlu_zdefs.h"

Functions

void pzgstrf2_trsm (superlu_options_t *options, int_t k0, int_t k, double thresh, Glu_persist_t *Glu_persist, gridinfo_t *grid, LocalLU_t *Llu, MPI_Request *U_diag_blk_send_req, int tag_ub, SuperLUStat_t *stat, int *info)
 
void pzgstrs2_omp (int_t k0, int_t k, Glu_persist_t *Glu_persist, gridinfo_t *grid, LocalLU_t *Llu, SuperLUStat_t *stat)
 

Detailed Description

Performs panel LU factorization.

– Distributed SuperLU routine (version 4.0) –
Lawrence Berkeley National Lab, Univ. of California Berkeley.
August 15, 2014

Purpose

  Panel factorization – block column k
  Factor diagonal and subdiagonal blocks and test for exact singularity.
  Only the column processes that own block column k participate
  in the work.

Arguments

options (input) superlu_options_t* (global)
        The structure defines the input parameters to control
        how the LU decomposition will be performed.
k0     (input) int (global)
       Counter of the next supernode to be factorized.
k      (input) int (global)
       The column number of the block column to be factorized.
thresh (input) double (global)
       The threshold value = s_eps * anorm.
Glu_persist (input) Glu_persist_t*
       Global data structures (xsup, supno) replicated on all processes.
grid   (input) gridinfo_t*
       The 2D process mesh.
Llu    (input/output) LocalLU_t*
       Local data structures to store distributed L and U matrices.
U_diag_blk_send_req (input/output) MPI_Request*
       List of send requests to send down the diagonal block of U.
tag_ub (input) int
       Upper bound of MPI tag values.
stat   (output) SuperLUStat_t*
       Record the statistics about the factorization.
       See SuperLUStat_t structure defined in util.h.
info   (output) int*
       = 0: successful exit
       < 0: if info = -i, the i-th argument had an illegal value
       > 0: if info = i, U(i,i) is exactly zero. The factorization has
            been completed, but the factor U is exactly singular,
            and division by zero will occur if it is used to solve a
            system of equations.

Function Documentation

void pzgstrf2_trsm ( superlu_options_t options,
int_t  k0,
int_t  k,
double  thresh,
Glu_persist_t Glu_persist,
gridinfo_t grid,
LocalLU_t Llu,
MPI_Request *  U_diag_blk_send_req,
int  tag_ub,
SuperLUStat_t stat,
int *  info 
)

ALWAYS SEND TO ALL OTHERS - TO FIX

void pzgstrs2_omp ( int_t  k0,
int_t  k,
Glu_persist_t Glu_persist,
gridinfo_t grid,
LocalLU_t Llu,
SuperLUStat_t stat 
)