SuperLU Distributed 9.0.0
gpu3d
xLUstruct_t< Ftype > Struct Template Reference

#include <xlupanels.hpp>

Collaboration diagram for xLUstruct_t< Ftype >:

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 ()
 
 xLUstruct_t (int_t nsupers, int_t ldt_, trf3dpartitionType< Ftype > *trf3Dpartition, LUStruct_type< Ftype > *LUstruct, gridinfo3d_t *grid3d, SCT_t *SCT_, superlu_dist_options_t *options_, SuperLUStat_t *stat, threshPivValType< Ftype > thresh_, int *info_)
 
 ~xLUstruct_t ()
 
int_t pdgstrf3d ()
 
int_t dSchurComplementUpdate (int_t k, xlpanel_t< Ftype > &lpanel, xupanel_t< Ftype > &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, Ftype *V, int_t ldv, int_t *srcRowList, int_t *srcColList)
 
int_t lookAheadUpdate (int_t k, int_t laIdx, xlpanel_t< Ftype > &lpanel, xupanel_t< Ftype > &upanel)
 
int_t blockUpdate (int_t k, int_t ii, int_t jj, xlpanel_t< Ftype > &lpanel, xupanel_t< Ftype > &upanel)
 
int_t dSchurCompUpdateExcludeOne (int_t k, int_t ex, xlpanel_t< Ftype > &lpanel, xupanel_t< Ftype > &upanel)
 
int_t dsparseTreeFactor (sForest_t *sforest, diagFactBufs_type< Ftype > **dFBufs, gEtreeInfo_t *gEtreeInfo, int tag_ub)
 
int dsparseTreeFactorBatchGPU (sForest_t *sforest, diagFactBufs_type< Ftype > **dFBufs, gEtreeInfo_t *gEtreeInfo, int tag_ub)
 
diagFactBufs_type< Ftype > ** initDiagFactBufsArr (int_t mxLeafNode, int_t ldt)
 
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, diagFactBufs_type< Ftype > **dFBufs)
 
int_t dPanelBcast (int_t k, int_t offset)
 
int_t dsparseTreeFactorBaseline (sForest_t *sforest, diagFactBufs_type< Ftype > **dFBufs, gEtreeInfo_t *gEtreeInfo, int tag_ub)
 
int_t packedU2skyline (LUStruct_type< Ftype > *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, Ftype alpha, Ftype beta)
 
int_t zSendUPanel (int_t k0, int_t receiverGrid)
 
int_t zRecvUPanel (int_t k0, int_t senderGrid, Ftype alpha, Ftype beta)
 
int_t dAncestorFactorBaseline (int_t alvl, sForest_t *sforest, diagFactBufs_type< Ftype > **dFBufs, gEtreeInfo_t *gEtreeInfo, int tag_ub)
 
int_t dAncestorFactor (int_t alvl, sForest_t *sforest, diagFactBufs_type< Ftype > **dFBufs, gEtreeInfo_t *gEtreeInfo, int tag_ub)
 

Public Attributes

xlpanel_t< Ftype > * lPanelVec
 
xupanel_t< Ftype > * uPanelVec
 
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
 
Ftype * bigV
 
int * isNodeInMyGrid
 
threshPivValType< Ftype > thresh
 
int * info
 
int numDiagBufs = 32
 
SCT_tSCT
 
superlu_dist_options_toptions
 
SuperLUStat_tstat
 
trf3dpartitionType< Ftype > * trf3Dpartition
 
int_t maxLvl
 
int maxLeafNodes
 
diagFactBufs_type< Ftype > ** dFBufs
 
int superlu_acc_offload
 
int_t maxLvalCount = 0
 
int_t maxLidxCount = 0
 
int_t maxUvalCount = 0
 
int_t maxUidxCount = 0
 
std::vector< Ftype * > diagFactBufs
 
std::vector< Ftype * > LvalRecvBufs
 
std::vector< Ftype * > 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
 
anc25d_t anc25d
 
xLUstructGPU_t< Ftype > * dA_gpu
 
xLUstructGPU_t< Ftype > 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

template<typename Ftype >
enum xLUstruct_t::indirectMapType
Enumerator
ROW_MAP 
COL_MAP 

Constructor & Destructor Documentation

◆ xLUstruct_t()

template<typename Ftype >
xLUstruct_t< Ftype >::xLUstruct_t ( int_t  nsupers,
int_t  ldt_,
trf3dpartitionType< Ftype > *  trf3Dpartition,
LUStruct_type< Ftype > *  LUstruct,
gridinfo3d_t grid3d,
SCT_t SCT_,
superlu_dist_options_t options_,
SuperLUStat_t stat,
threshPivValType< Ftype >  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:

◆ ~xLUstruct_t()

template<typename Ftype >
xLUstruct_t< Ftype >::~xLUstruct_t ( )
inline
Here is the call graph for this function:

Member Function Documentation

◆ ancestorReduction3d()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::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()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::blockUpdate ( int_t  k,
int_t  ii,
int_t  jj,
xlpanel_t< Ftype > &  lpanel,
xupanel_t< Ftype > &  upanel 
)
Here is the call graph for this function:

◆ computeIndirectMap()

template<typename Ftype >
int_t * xLUstruct_t< Ftype >::computeIndirectMap ( indirectMapType  direction,
int_t  srcLen,
int_t srcVec,
int_t  dstLen,
int_t dstVec 
)

◆ computeLBlockData()

template<typename Ftype >
void xLUstruct_t< Ftype >::computeLBlockData ( )

◆ dAncestorFactor()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::dAncestorFactor ( int_t  alvl,
sForest_t sforest,
diagFactBufs_type< Ftype > **  dFBufs,
gEtreeInfo_t gEtreeInfo,
int  tag_ub 
)
Here is the call graph for this function:

◆ dAncestorFactorBaseline()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::dAncestorFactorBaseline ( int_t  alvl,
sForest_t sforest,
diagFactBufs_type< Ftype > **  dFBufs,
gEtreeInfo_t gEtreeInfo,
int  tag_ub 
)

if (anc25d.rankHasGrid(k0, alvl))

Here is the call graph for this function:

◆ dDiagFactorPanelSolve()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::dDiagFactorPanelSolve ( int_t  k,
int_t  offset,
diagFactBufs_type< Ftype > **  dFBufs 
)

◆ dFactBatchSolve()

template<typename Ftype >
void xLUstruct_t< Ftype >::dFactBatchSolve ( int  k_st,
int  k_end,
int_t perm_c_supno 
)

◆ dPanelBcast()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::dPanelBcast ( int_t  k,
int_t  offset 
)

◆ dScatter()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::dScatter ( int_t  m,
int_t  n,
int_t  gi,
int_t  gj,
Ftype *  V,
int_t  ldv,
int_t srcRowList,
int_t srcColList 
)

◆ dSchurComplementUpdate()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::dSchurComplementUpdate ( int_t  k,
xlpanel_t< Ftype > &  lpanel,
xupanel_t< Ftype > &  upanel 
)
Here is the call graph for this function:

◆ dSchurCompUpdateExcludeOne()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::dSchurCompUpdateExcludeOne ( int_t  k,
int_t  ex,
xlpanel_t< Ftype > &  lpanel,
xupanel_t< Ftype > &  upanel 
)
Here is the call graph for this function:

◆ dsparseTreeFactor()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::dsparseTreeFactor ( sForest_t sforest,
diagFactBufs_type< Ftype > **  dFBufs,
gEtreeInfo_t gEtreeInfo,
int  tag_ub 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dsparseTreeFactorBaseline()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::dsparseTreeFactorBaseline ( sForest_t sforest,
diagFactBufs_type< Ftype > **  dFBufs,
gEtreeInfo_t gEtreeInfo,
int  tag_ub 
)
Here is the call graph for this function:

◆ dsparseTreeFactorBatchGPU()

template<typename Ftype >
int xLUstruct_t< Ftype >::dsparseTreeFactorBatchGPU ( sForest_t sforest,
diagFactBufs_type< Ftype > **  dFBufs,
gEtreeInfo_t gEtreeInfo,
int  tag_ub 
)

◆ g2lCol()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::g2lCol ( int_t  k)
inline

◆ g2lRow()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::g2lRow ( int_t  k)
inline

◆ initDiagFactBufsArr()

template<typename Ftype >
diagFactBufs_type< Ftype > ** xLUstruct_t< Ftype >::initDiagFactBufsArr ( int_t  mxLeafNode,
int_t  ldt 
)
Here is the caller graph for this function:

◆ initSCUMarshallData()

template<typename Ftype >
void xLUstruct_t< Ftype >::initSCUMarshallData ( int  k_st,
int  k_end,
int_t perm_c_supno 
)

◆ kcol()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::kcol ( int_t  k)
inline
Here is the caller graph for this function:

◆ krow()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::krow ( int_t  k)
inline
Here is the caller graph for this function:

◆ lookAheadUpdate()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::lookAheadUpdate ( int_t  k,
int_t  laIdx,
xlpanel_t< Ftype > &  lpanel,
xupanel_t< Ftype > &  upanel 
)
Here is the call graph for this function:

◆ marshallBatchedBufferCopyData()

template<typename Ftype >
void xLUstruct_t< Ftype >::marshallBatchedBufferCopyData ( int  k_st,
int  k_end,
int_t perm_c_supno 
)

◆ marshallBatchedLUData()

template<typename Ftype >
void xLUstruct_t< Ftype >::marshallBatchedLUData ( int  k_st,
int  k_end,
int_t perm_c_supno 
)

◆ marshallBatchedSCUData()

template<typename Ftype >
void xLUstruct_t< Ftype >::marshallBatchedSCUData ( int  k_st,
int  k_end,
int_t perm_c_supno 
)

◆ marshallBatchedTRSMLData()

template<typename Ftype >
void xLUstruct_t< Ftype >::marshallBatchedTRSMLData ( int  k_st,
int  k_end,
int_t perm_c_supno 
)

◆ marshallBatchedTRSMUData()

template<typename Ftype >
void xLUstruct_t< Ftype >::marshallBatchedTRSMUData ( int  k_st,
int  k_end,
int_t perm_c_supno 
)

◆ marshallSCUBatchedDataInner()

template<typename Ftype >
int xLUstruct_t< Ftype >::marshallSCUBatchedDataInner ( int  k_st,
int  k_end,
int_t perm_c_supno 
)

◆ marshallSCUBatchedDataOuter()

template<typename Ftype >
int xLUstruct_t< Ftype >::marshallSCUBatchedDataOuter ( int  k_st,
int  k_end,
int_t perm_c_supno 
)

◆ packedU2skyline()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::packedU2skyline ( LUStruct_type< Ftype > *  LUstruct)
Here is the caller graph for this function:

◆ pdgstrf3d()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::pdgstrf3d

Compute Functions

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

◆ procIJ()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::procIJ ( int_t  i,
int_t  j 
)
inline
Here is the call graph for this function:

◆ supersize()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::supersize ( int_t  k)
inline

◆ zRecvLPanel()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::zRecvLPanel ( int_t  k0,
int_t  senderGrid,
Ftype  alpha,
Ftype  beta 
)

◆ zRecvUPanel()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::zRecvUPanel ( int_t  k0,
int_t  senderGrid,
Ftype  alpha,
Ftype  beta 
)

◆ zSendLPanel()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::zSendLPanel ( int_t  k0,
int_t  receiverGrid 
)

◆ zSendUPanel()

template<typename Ftype >
int_t xLUstruct_t< Ftype >::zSendUPanel ( int_t  k0,
int_t  receiverGrid 
)

Member Data Documentation

◆ A_gpu

template<typename Ftype >
xLUstructGPU_t<Ftype> xLUstruct_t< Ftype >::A_gpu

◆ anc25d

template<typename Ftype >
anc25d_t xLUstruct_t< Ftype >::anc25d

◆ bigV

template<typename Ftype >
Ftype* xLUstruct_t< Ftype >::bigV

◆ d_lblock_gid_dat

template<typename Ftype >
int* xLUstruct_t< Ftype >::d_lblock_gid_dat

◆ d_lblock_gid_offsets

template<typename Ftype >
int64_t* xLUstruct_t< Ftype >::d_lblock_gid_offsets

◆ d_lblock_gid_ptrs

template<typename Ftype >
int ** xLUstruct_t< Ftype >::d_lblock_gid_ptrs

◆ d_lblock_start_dat

template<typename Ftype >
int* xLUstruct_t< Ftype >::d_lblock_start_dat

◆ d_lblock_start_offsets

template<typename Ftype >
int64_t * xLUstruct_t< Ftype >::d_lblock_start_offsets

◆ d_lblock_start_ptrs

template<typename Ftype >
int ** xLUstruct_t< Ftype >::d_lblock_start_ptrs

◆ d_localLU

template<typename Ftype >
dLocalLU_t xLUstruct_t< Ftype >::d_localLU

◆ dA_gpu

template<typename Ftype >
xLUstructGPU_t<Ftype>* xLUstruct_t< Ftype >::dA_gpu

◆ dFBufs

template<typename Ftype >
diagFactBufs_type<Ftype>** xLUstruct_t< Ftype >::dFBufs

◆ diagFactBufs

template<typename Ftype >
std::vector<Ftype *> xLUstruct_t< Ftype >::diagFactBufs

◆ grid

template<typename Ftype >
gridinfo_t* xLUstruct_t< Ftype >::grid

◆ grid3d

template<typename Ftype >
gridinfo3d_t* xLUstruct_t< Ftype >::grid3d

◆ host_Llu

template<typename Ftype >
dLocalLU_t* xLUstruct_t< Ftype >::host_Llu

◆ iam

template<typename Ftype >
int_t xLUstruct_t< Ftype >::iam

◆ indirect

template<typename Ftype >
int_t* xLUstruct_t< Ftype >::indirect

◆ indirectCol

template<typename Ftype >
int_t * xLUstruct_t< Ftype >::indirectCol

◆ indirectRow

template<typename Ftype >
int_t * xLUstruct_t< Ftype >::indirectRow

◆ info

template<typename Ftype >
int* xLUstruct_t< Ftype >::info

◆ isNodeInMyGrid

template<typename Ftype >
int* xLUstruct_t< Ftype >::isNodeInMyGrid

◆ ldt

template<typename Ftype >
int_t xLUstruct_t< Ftype >::ldt

◆ LidxRecvBufs

template<typename Ftype >
std::vector<int_t *> xLUstruct_t< Ftype >::LidxRecvBufs

◆ LidxSendCounts

template<typename Ftype >
std::vector<int_t> xLUstruct_t< Ftype >::LidxSendCounts

◆ lPanelVec

template<typename Ftype >
xlpanel_t<Ftype>* xLUstruct_t< Ftype >::lPanelVec

◆ LvalRecvBufs

template<typename Ftype >
std::vector<Ftype *> xLUstruct_t< Ftype >::LvalRecvBufs

◆ LvalSendCounts

template<typename Ftype >
std::vector<int_t> xLUstruct_t< Ftype >::LvalSendCounts

◆ maxLeafNodes

template<typename Ftype >
int xLUstruct_t< Ftype >::maxLeafNodes

◆ maxLidxCount

template<typename Ftype >
int_t xLUstruct_t< Ftype >::maxLidxCount = 0

◆ maxLvalCount

template<typename Ftype >
int_t xLUstruct_t< Ftype >::maxLvalCount = 0

◆ maxLvl

template<typename Ftype >
int_t xLUstruct_t< Ftype >::maxLvl

◆ maxUidxCount

template<typename Ftype >
int_t xLUstruct_t< Ftype >::maxUidxCount = 0

◆ maxUvalCount

template<typename Ftype >
int_t xLUstruct_t< Ftype >::maxUvalCount = 0

◆ mycol

template<typename Ftype >
int_t xLUstruct_t< Ftype >::mycol

◆ myrow

template<typename Ftype >
int_t xLUstruct_t< Ftype >::myrow

◆ nsupers

template<typename Ftype >
int_t xLUstruct_t< Ftype >::nsupers

◆ nThreads

template<typename Ftype >
int xLUstruct_t< Ftype >::nThreads

◆ numDiagBufs

template<typename Ftype >
int xLUstruct_t< Ftype >::numDiagBufs = 32

◆ options

template<typename Ftype >
superlu_dist_options_t* xLUstruct_t< Ftype >::options

◆ Pc

template<typename Ftype >
int_t xLUstruct_t< Ftype >::Pc

◆ Pr

template<typename Ftype >
int_t xLUstruct_t< Ftype >::Pr

◆ SCT

template<typename Ftype >
SCT_t* xLUstruct_t< Ftype >::SCT

◆ stat

template<typename Ftype >
SuperLUStat_t* xLUstruct_t< Ftype >::stat

◆ superlu_acc_offload

template<typename Ftype >
int xLUstruct_t< Ftype >::superlu_acc_offload

◆ thresh

template<typename Ftype >
threshPivValType<Ftype> xLUstruct_t< Ftype >::thresh

◆ total_l_blocks

template<typename Ftype >
int64_t xLUstruct_t< Ftype >::total_l_blocks

◆ total_start_size

template<typename Ftype >
int64_t xLUstruct_t< Ftype >::total_start_size

◆ trf3Dpartition

template<typename Ftype >
trf3dpartitionType<Ftype>* xLUstruct_t< Ftype >::trf3Dpartition

◆ UidxRecvBufs

template<typename Ftype >
std::vector<int_t *> xLUstruct_t< Ftype >::UidxRecvBufs

◆ UidxSendCounts

template<typename Ftype >
std::vector<int_t> xLUstruct_t< Ftype >::UidxSendCounts

◆ uPanelVec

template<typename Ftype >
xupanel_t<Ftype>* xLUstruct_t< Ftype >::uPanelVec

◆ UvalRecvBufs

template<typename Ftype >
std::vector<Ftype *> xLUstruct_t< Ftype >::UvalRecvBufs

◆ UvalSendCounts

template<typename Ftype >
std::vector<int_t> xLUstruct_t< Ftype >::UvalSendCounts

◆ xsup

template<typename Ftype >
int_t* xLUstruct_t< Ftype >::xsup

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