SuperLU Distributed 9.0.0
gpu3d
LUstruct_v100 Struct Reference

#include <lupanels.hpp>

Collaboration diagram for LUstruct_v100:

Public Types

enum  indirectMapType { ROW_MAP , COL_MAP }
 

Public Member Functions

int_t krow (int_t k)
 
int_t kcol (int_t k)
 
int_t procIJ (int_t i, int_t j)
 
int_t supersize (int_t k)
 
int_t g2lRow (int_t k)
 
int_t g2lCol (int_t k)
 
void computeLBlockData ()
 
 LUstruct_v100 (int_t nsupers, int_t ldt_, dtrf3Dpartition_t *trf3Dpartition, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d, SCT_t *SCT_, superlu_dist_options_t *options_, SuperLUStat_t *stat, double thresh_, int *info_)
 
 ~LUstruct_v100 ()
 
int_t pdgstrf3d ()
 
int_t dSchurComplementUpdate (int_t k, lpanel_t &lpanel, upanel_t &upanel)
 
int_tcomputeIndirectMap (indirectMapType direction, int_t srcLen, int_t *srcVec, int_t dstLen, int_t *dstVec)
 
int_t dScatter (int_t m, int_t n, int_t gi, int_t gj, double *V, int_t ldv, int_t *srcRowList, int_t *srcColList)
 
int_t lookAheadUpdate (int_t k, int_t laIdx, lpanel_t &lpanel, upanel_t &upanel)
 
int_t blockUpdate (int_t k, int_t ii, int_t jj, lpanel_t &lpanel, upanel_t &upanel)
 
int_t dSchurCompUpdateExcludeOne (int_t k, int_t ex, lpanel_t &lpanel, upanel_t &upanel)
 
int_t dsparseTreeFactor (sForest_t *sforest, ddiagFactBufs_t **dFBufs, gEtreeInfo_t *gEtreeInfo, int tag_ub)
 
int dsparseTreeFactorBatchGPU (sForest_t *sforest, ddiagFactBufs_t **dFBufs, gEtreeInfo_t *gEtreeInfo, int tag_ub)
 
void marshallBatchedLUData (int k_st, int k_end, int_t *perm_c_supno)
 
void marshallBatchedBufferCopyData (int k_st, int k_end, int_t *perm_c_supno)
 
void marshallBatchedTRSMUData (int k_st, int k_end, int_t *perm_c_supno)
 
void marshallBatchedTRSMLData (int k_st, int k_end, int_t *perm_c_supno)
 
void marshallBatchedSCUData (int k_st, int k_end, int_t *perm_c_supno)
 
void initSCUMarshallData (int k_st, int k_end, int_t *perm_c_supno)
 
int marshallSCUBatchedDataInner (int k_st, int k_end, int_t *perm_c_supno)
 
int marshallSCUBatchedDataOuter (int k_st, int k_end, int_t *perm_c_supno)
 
void dFactBatchSolve (int k_st, int k_end, int_t *perm_c_supno)
 
int_t dDiagFactorPanelSolve (int_t k, int_t offset, ddiagFactBufs_t **dFBufs)
 
int_t dPanelBcast (int_t k, int_t offset)
 
int_t dsparseTreeFactorBaseline (sForest_t *sforest, ddiagFactBufs_t **dFBufs, gEtreeInfo_t *gEtreeInfo, int tag_ub)
 
int_t packedU2skyline (dLUstruct_t *LUstruct)
 
int_t ancestorReduction3d (int_t ilvl, int_t *myNodeCount, int_t **treePerm)
 
int_t zSendLPanel (int_t k0, int_t receiverGrid)
 
int_t zRecvLPanel (int_t k0, int_t senderGrid, double alpha, double beta)
 
int_t zSendUPanel (int_t k0, int_t receiverGrid)
 
int_t zRecvUPanel (int_t k0, int_t senderGrid, double alpha, double beta)
 
int_t dAncestorFactorBaseline (int_t alvl, sForest_t *sforest, ddiagFactBufs_t **dFBufs, gEtreeInfo_t *gEtreeInfo, int tag_ub)
 

Public Attributes

lpanel_tlPanelVec
 
upanel_tuPanelVec
 
gridinfo3d_tgrid3d
 
gridinfo_tgrid
 
int_t iam
 
int_t Pc
 
int_t Pr
 
int_t myrow
 
int_t mycol
 
int_t ldt
 
int_txsup
 
int_t nsupers
 
int nThreads
 
int_tindirect
 
int_tindirectRow
 
int_tindirectCol
 
double * bigV
 
int * isNodeInMyGrid
 
double thresh
 
int * info
 
int numDiagBufs = 32
 
SCT_tSCT
 
superlu_dist_options_toptions
 
SuperLUStat_tstat
 
dtrf3Dpartition_ttrf3Dpartition
 
int_t maxLvl
 
int maxLeafNodes
 
ddiagFactBufs_t ** dFBufs
 
int superlu_acc_offload
 
int_t maxLvalCount = 0
 
int_t maxLidxCount = 0
 
int_t maxUvalCount = 0
 
int_t maxUidxCount = 0
 
std::vector< double * > diagFactBufs
 
std::vector< double * > LvalRecvBufs
 
std::vector< double * > UvalRecvBufs
 
std::vector< int_t * > LidxRecvBufs
 
std::vector< int_t * > UidxRecvBufs
 
std::vector< int_tLvalSendCounts
 
std::vector< int_tUvalSendCounts
 
std::vector< int_tLidxSendCounts
 
std::vector< int_tUidxSendCounts
 
std::vector< bcastStructbcastDiagRow
 
std::vector< bcastStructbcastDiagCol
 
std::vector< bcastStructbcastLval
 
std::vector< bcastStructbcastUval
 
std::vector< bcastStructbcastLidx
 
std::vector< bcastStructbcastUidx
 
anc25d_t anc25d
 
LUstructGPU_t * dA_gpu
 
LUstructGPU_t A_gpu
 
dLocalLU_thost_Llu
 
dLocalLU_t d_localLU
 
int * d_lblock_gid_dat
 
int ** d_lblock_gid_ptrs
 
int * d_lblock_start_dat
 
int ** d_lblock_start_ptrs
 
int64_t * d_lblock_gid_offsets
 
int64_t * d_lblock_start_offsets
 
int64_t total_l_blocks
 
int64_t total_start_size
 

Member Enumeration Documentation

◆ indirectMapType

Enumerator
ROW_MAP 
COL_MAP 

Constructor & Destructor Documentation

◆ LUstruct_v100()

LUstruct_v100::LUstruct_v100 ( int_t  nsupers,
int_t  ldt_,
dtrf3Dpartition_t trf3Dpartition,
dLUstruct_t LUstruct,
gridinfo3d_t grid3d,
SCT_t SCT_,
superlu_dist_options_t options_,
SuperLUStat_t stat,
double  thresh_,
int *  info_ 
)

C O N / D E S - T R U C T O R S

Here is the call graph for this function:

◆ ~LUstruct_v100()

LUstruct_v100::~LUstruct_v100 ( )
inline
Here is the call graph for this function:

Member Function Documentation

◆ ancestorReduction3d()

int_t LUstruct_v100::ancestorReduction3d ( int_t  ilvl,
int_t myNodeCount,
int_t **  treePerm 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ blockUpdate()

int_t LUstruct_v100::blockUpdate ( int_t  k,
int_t  ii,
int_t  jj,
lpanel_t lpanel,
upanel_t upanel 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeIndirectMap()

int_t * LUstruct_v100::computeIndirectMap ( indirectMapType  direction,
int_t  srcLen,
int_t srcVec,
int_t  dstLen,
int_t dstVec 
)
Here is the caller graph for this function:

◆ computeLBlockData()

void LUstruct_v100::computeLBlockData ( )

◆ dAncestorFactorBaseline()

int_t LUstruct_v100::dAncestorFactorBaseline ( int_t  alvl,
sForest_t sforest,
ddiagFactBufs_t **  dFBufs,
gEtreeInfo_t gEtreeInfo,
int  tag_ub 
)

if (anc25d.rankHasGrid(k0, alvl))

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dDiagFactorPanelSolve()

int_t LUstruct_v100::dDiagFactorPanelSolve ( int_t  k,
int_t  offset,
ddiagFactBufs_t **  dFBufs 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dFactBatchSolve()

void LUstruct_v100::dFactBatchSolve ( int  k_st,
int  k_end,
int_t perm_c_supno 
)

◆ dPanelBcast()

int_t LUstruct_v100::dPanelBcast ( int_t  k,
int_t  offset 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dScatter()

int_t LUstruct_v100::dScatter ( int_t  m,
int_t  n,
int_t  gi,
int_t  gj,
double *  V,
int_t  ldv,
int_t srcRowList,
int_t srcColList 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dSchurComplementUpdate()

int_t LUstruct_v100::dSchurComplementUpdate ( int_t  k,
lpanel_t lpanel,
upanel_t upanel 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dSchurCompUpdateExcludeOne()

int_t LUstruct_v100::dSchurCompUpdateExcludeOne ( int_t  k,
int_t  ex,
lpanel_t lpanel,
upanel_t upanel 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dsparseTreeFactor()

int_t LUstruct_v100::dsparseTreeFactor ( sForest_t sforest,
ddiagFactBufs_t **  dFBufs,
gEtreeInfo_t gEtreeInfo,
int  tag_ub 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dsparseTreeFactorBaseline()

int_t LUstruct_v100::dsparseTreeFactorBaseline ( sForest_t sforest,
ddiagFactBufs_t **  dFBufs,
gEtreeInfo_t gEtreeInfo,
int  tag_ub 
)
Here is the call graph for this function:

◆ dsparseTreeFactorBatchGPU()

int LUstruct_v100::dsparseTreeFactorBatchGPU ( sForest_t sforest,
ddiagFactBufs_t **  dFBufs,
gEtreeInfo_t gEtreeInfo,
int  tag_ub 
)
Here is the caller graph for this function:

◆ g2lCol()

int_t LUstruct_v100::g2lCol ( int_t  k)
inline
Here is the caller graph for this function:

◆ g2lRow()

int_t LUstruct_v100::g2lRow ( int_t  k)
inline
Here is the caller graph for this function:

◆ initSCUMarshallData()

void LUstruct_v100::initSCUMarshallData ( int  k_st,
int  k_end,
int_t perm_c_supno 
)

◆ kcol()

int_t LUstruct_v100::kcol ( int_t  k)
inline
Here is the caller graph for this function:

◆ krow()

int_t LUstruct_v100::krow ( int_t  k)
inline
Here is the caller graph for this function:

◆ lookAheadUpdate()

int_t LUstruct_v100::lookAheadUpdate ( int_t  k,
int_t  laIdx,
lpanel_t lpanel,
upanel_t upanel 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ marshallBatchedBufferCopyData()

void LUstruct_v100::marshallBatchedBufferCopyData ( int  k_st,
int  k_end,
int_t perm_c_supno 
)

◆ marshallBatchedLUData()

void LUstruct_v100::marshallBatchedLUData ( int  k_st,
int  k_end,
int_t perm_c_supno 
)

◆ marshallBatchedSCUData()

void LUstruct_v100::marshallBatchedSCUData ( int  k_st,
int  k_end,
int_t perm_c_supno 
)

◆ marshallBatchedTRSMLData()

void LUstruct_v100::marshallBatchedTRSMLData ( int  k_st,
int  k_end,
int_t perm_c_supno 
)

◆ marshallBatchedTRSMUData()

void LUstruct_v100::marshallBatchedTRSMUData ( int  k_st,
int  k_end,
int_t perm_c_supno 
)

◆ marshallSCUBatchedDataInner()

int LUstruct_v100::marshallSCUBatchedDataInner ( int  k_st,
int  k_end,
int_t perm_c_supno 
)

◆ marshallSCUBatchedDataOuter()

int LUstruct_v100::marshallSCUBatchedDataOuter ( int  k_st,
int  k_end,
int_t perm_c_supno 
)

◆ packedU2skyline()

int_t LUstruct_v100::packedU2skyline ( dLUstruct_t LUstruct)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pdgstrf3d()

int_t LUstruct_v100::pdgstrf3d ( )

Compute Functions

Here is the call graph for this function:
Here is the caller graph for this function:

◆ procIJ()

int_t LUstruct_v100::procIJ ( int_t  i,
int_t  j 
)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ supersize()

int_t LUstruct_v100::supersize ( int_t  k)
inline
Here is the caller graph for this function:

◆ zRecvLPanel()

int_t LUstruct_v100::zRecvLPanel ( int_t  k0,
int_t  senderGrid,
double  alpha,
double  beta 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zRecvUPanel()

int_t LUstruct_v100::zRecvUPanel ( int_t  k0,
int_t  senderGrid,
double  alpha,
double  beta 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zSendLPanel()

int_t LUstruct_v100::zSendLPanel ( int_t  k0,
int_t  receiverGrid 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zSendUPanel()

int_t LUstruct_v100::zSendUPanel ( int_t  k0,
int_t  receiverGrid 
)
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ A_gpu

LUstructGPU_t LUstruct_v100::A_gpu

◆ anc25d

anc25d_t LUstruct_v100::anc25d

◆ bcastDiagCol

std::vector<bcastStruct> LUstruct_v100::bcastDiagCol

◆ bcastDiagRow

std::vector<bcastStruct> LUstruct_v100::bcastDiagRow

◆ bcastLidx

std::vector<bcastStruct> LUstruct_v100::bcastLidx

◆ bcastLval

std::vector<bcastStruct> LUstruct_v100::bcastLval

◆ bcastUidx

std::vector<bcastStruct> LUstruct_v100::bcastUidx

◆ bcastUval

std::vector<bcastStruct> LUstruct_v100::bcastUval

◆ bigV

double* LUstruct_v100::bigV

◆ d_lblock_gid_dat

int* LUstruct_v100::d_lblock_gid_dat

◆ d_lblock_gid_offsets

int64_t* LUstruct_v100::d_lblock_gid_offsets

◆ d_lblock_gid_ptrs

int ** LUstruct_v100::d_lblock_gid_ptrs

◆ d_lblock_start_dat

int* LUstruct_v100::d_lblock_start_dat

◆ d_lblock_start_offsets

int64_t * LUstruct_v100::d_lblock_start_offsets

◆ d_lblock_start_ptrs

int ** LUstruct_v100::d_lblock_start_ptrs

◆ d_localLU

dLocalLU_t LUstruct_v100::d_localLU

◆ dA_gpu

LUstructGPU_t* LUstruct_v100::dA_gpu

◆ dFBufs

ddiagFactBufs_t** LUstruct_v100::dFBufs

◆ diagFactBufs

std::vector<double *> LUstruct_v100::diagFactBufs

◆ grid

gridinfo_t* LUstruct_v100::grid

◆ grid3d

gridinfo3d_t* LUstruct_v100::grid3d

◆ host_Llu

dLocalLU_t* LUstruct_v100::host_Llu

◆ iam

int_t LUstruct_v100::iam

◆ indirect

int_t* LUstruct_v100::indirect

◆ indirectCol

int_t * LUstruct_v100::indirectCol

◆ indirectRow

int_t * LUstruct_v100::indirectRow

◆ info

int* LUstruct_v100::info

◆ isNodeInMyGrid

int* LUstruct_v100::isNodeInMyGrid

◆ ldt

int_t LUstruct_v100::ldt

◆ LidxRecvBufs

std::vector<int_t *> LUstruct_v100::LidxRecvBufs

◆ LidxSendCounts

std::vector<int_t> LUstruct_v100::LidxSendCounts

◆ lPanelVec

lpanel_t* LUstruct_v100::lPanelVec

◆ LvalRecvBufs

std::vector<double *> LUstruct_v100::LvalRecvBufs

◆ LvalSendCounts

std::vector<int_t> LUstruct_v100::LvalSendCounts

◆ maxLeafNodes

int LUstruct_v100::maxLeafNodes

◆ maxLidxCount

int_t LUstruct_v100::maxLidxCount = 0

◆ maxLvalCount

int_t LUstruct_v100::maxLvalCount = 0

◆ maxLvl

int_t LUstruct_v100::maxLvl

◆ maxUidxCount

int_t LUstruct_v100::maxUidxCount = 0

◆ maxUvalCount

int_t LUstruct_v100::maxUvalCount = 0

◆ mycol

int_t LUstruct_v100::mycol

◆ myrow

int_t LUstruct_v100::myrow

◆ nsupers

int_t LUstruct_v100::nsupers

◆ nThreads

int LUstruct_v100::nThreads

◆ numDiagBufs

int LUstruct_v100::numDiagBufs = 32

◆ options

superlu_dist_options_t* LUstruct_v100::options

◆ Pc

int_t LUstruct_v100::Pc

◆ Pr

int_t LUstruct_v100::Pr

◆ SCT

SCT_t* LUstruct_v100::SCT

◆ stat

SuperLUStat_t* LUstruct_v100::stat

◆ superlu_acc_offload

int LUstruct_v100::superlu_acc_offload

◆ thresh

double LUstruct_v100::thresh

◆ total_l_blocks

int64_t LUstruct_v100::total_l_blocks

◆ total_start_size

int64_t LUstruct_v100::total_start_size

◆ trf3Dpartition

dtrf3Dpartition_t* LUstruct_v100::trf3Dpartition

◆ UidxRecvBufs

std::vector<int_t *> LUstruct_v100::UidxRecvBufs

◆ UidxSendCounts

std::vector<int_t> LUstruct_v100::UidxSendCounts

◆ uPanelVec

upanel_t* LUstruct_v100::uPanelVec

◆ UvalRecvBufs

std::vector<double *> LUstruct_v100::UvalRecvBufs

◆ UvalSendCounts

std::vector<int_t> LUstruct_v100::UvalSendCounts

◆ xsup

int_t* LUstruct_v100::xsup

The documentation for this struct was generated from the following files: