SuperLU Distributed 9.0.0
gpu3d
zlustruct_gpu.h File Reference

Descriptions and declarations for structures used in GPU. More...

#include "superlu_zdefs.h"
#include "gpu_api_utils.h"
Include dependency graph for zlustruct_gpu.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  zSCUbuf_gpu_t
 
struct  zLUstruct_gpu_t
 
struct  zsluGPU_t
 

Macros

#define MAX_NGPU_STREAMS   32
 
#define checkGPUErrors(val)   check ( (val), #val, __FILE__, __LINE__ )
 

Functions

static void check (gpuError_t result, char const *const func, const char *const file, int const line)
 
int zsparseTreeFactor_ASYNC_GPU (sForest_t *sforest, commRequests_t **comReqss, zscuBufs_t *scuBufs, packLUInfo_t *packLUInfo, msgs_t **msgss, zLUValSubBuf_t **LUvsbs, zdiagFactBufs_t **dFBufs, factStat_t *factStat, factNodelists_t *fNlists, gEtreeInfo_t *gEtreeInfo, superlu_dist_options_t *options, int_t *gIperm_c_supno, int ldt, zsluGPU_t *sluGPU, d2Hreduce_t *d2Hred, HyP_t *HyP, zLUstruct_t *LUstruct, gridinfo3d_t *grid3d, SuperLUStat_t *stat, double thresh, SCT_t *SCT, int tag_ub, int *info)
 
int zinitD2Hreduce (int next_k, d2Hreduce_t *d2Hred, int last_flag, HyP_t *HyP, zsluGPU_t *sluGPU, gridinfo_t *grid, zLUstruct_t *LUstruct, SCT_t *SCT)
 
int zreduceGPUlu (int last_flag, d2Hreduce_t *d2Hred, zsluGPU_t *sluGPU, SCT_t *SCT, gridinfo_t *grid, zLUstruct_t *LUstruct)
 
int zwaitGPUscu (int streamId, zsluGPU_t *sluGPU, SCT_t *SCT)
 
int zsendLUpanelGPU2HOST (int_t k0, d2Hreduce_t *d2Hred, zsluGPU_t *sluGPU, SuperLUStat_t *)
 
int zsendSCUdataHost2GPU (int_t streamId, int_t *lsub, int_t *usub, doublecomplex *bigU, int_t bigu_send_size, int_t Remain_lbuf_send_size, zsluGPU_t *sluGPU, HyP_t *HyP)
 
int zinitSluGPU3D_t (zsluGPU_t *sluGPU, zLUstruct_t *LUstruct, gridinfo3d_t *grid3d, int_t *perm_c_supno, int_t n, int_t buffer_size, int_t bigu_size, int_t ldt, SuperLUStat_t *)
 
int zSchurCompUpdate_GPU (int_t streamId, int_t jj_cpu, int_t nub, int_t klst, int_t knsupc, int_t Rnbrow, int_t RemainBlk, int_t Remain_lbuf_send_size, int_t bigu_send_size, int_t ldu, int_t mcb, int_t buffer_size, int_t lsub_len, int_t usub_len, int_t ldt, int_t k0, zsluGPU_t *sluGPU, gridinfo_t *grid, SuperLUStat_t *)
 
void zCopyLUToGPU3D (int *isNodeInMyGrid, zLocalLU_t *A_host, zsluGPU_t *sluGPU, Glu_persist_t *Glu_persist, int_t n, gridinfo3d_t *grid3d, int_t buffer_size, int_t bigu_size, int_t ldt, SuperLUStat_t *)
 
int zreduceAllAncestors3d_GPU (int_t ilvl, int_t *myNodeCount, int_t **treePerm, zLUValSubBuf_t *LUvsb, zLUstruct_t *LUstruct, gridinfo3d_t *grid3d, zsluGPU_t *sluGPU, d2Hreduce_t *d2Hred, factStat_t *factStat, HyP_t *HyP, SCT_t *SCT, SuperLUStat_t *)
 
void zsyncAllfunCallStreams (zsluGPU_t *sluGPU, SCT_t *SCT)
 
int zfree_LUstruct_gpu (zsluGPU_t *sluGPU, SuperLUStat_t *)
 
void zPrint_matrix (char *desc, int_t m, int_t n, doublecomplex *dA, int_t lda)
 

Detailed Description

Descriptions and declarations for structures used in GPU.

-- Distributed SuperLU routine (version 9.0) --
Lawrence Berkeley National Lab, Univ. of California Berkeley,
Georgia Institute of Technology, Oak Ridge National Laboratory
March 14, 2021 version 7.0.0

Last update: December 12, 2021  v7.2.0

Macro Definition Documentation

◆ checkGPUErrors

#define checkGPUErrors (   val)    check ( (val), #val, __FILE__, __LINE__ )

◆ MAX_NGPU_STREAMS

#define MAX_NGPU_STREAMS   32

Function Documentation

◆ check()

static void check ( gpuError_t  result,
char const *const  func,
const char *const  file,
int const  line 
)
static

◆ zCopyLUToGPU3D()

void zCopyLUToGPU3D ( int *  isNodeInMyGrid,
zLocalLU_t A_host,
zsluGPU_t sluGPU,
Glu_persist_t Glu_persist,
int_t  n,
gridinfo3d_t grid3d,
int_t  buffer_size,
int_t  bigu_size,
int_t  ldt,
SuperLUStat_t  
)

◆ zfree_LUstruct_gpu()

int zfree_LUstruct_gpu ( zsluGPU_t sluGPU,
SuperLUStat_t  
)
Here is the caller graph for this function:

◆ zinitD2Hreduce()

int zinitD2Hreduce ( int  next_k,
d2Hreduce_t d2Hred,
int  last_flag,
HyP_t HyP,
zsluGPU_t sluGPU,
gridinfo_t grid,
zLUstruct_t LUstruct,
SCT_t SCT 
)

◆ zinitSluGPU3D_t()

int zinitSluGPU3D_t ( zsluGPU_t sluGPU,
zLUstruct_t LUstruct,
gridinfo3d_t grid3d,
int_t perm_c_supno,
int_t  n,
int_t  buffer_size,
int_t  bigu_size,
int_t  ldt,
SuperLUStat_t  
)
Here is the caller graph for this function:

◆ zPrint_matrix()

void zPrint_matrix ( char *  desc,
int_t  m,
int_t  n,
doublecomplex dA,
int_t  lda 
)

◆ zreduceAllAncestors3d_GPU()

int zreduceAllAncestors3d_GPU ( int_t  ilvl,
int_t myNodeCount,
int_t **  treePerm,
zLUValSubBuf_t LUvsb,
zLUstruct_t LUstruct,
gridinfo3d_t grid3d,
zsluGPU_t sluGPU,
d2Hreduce_t d2Hred,
factStat_t factStat,
HyP_t HyP,
SCT_t SCT,
SuperLUStat_t  
)
Here is the caller graph for this function:

◆ zreduceGPUlu()

int zreduceGPUlu ( int  last_flag,
d2Hreduce_t d2Hred,
zsluGPU_t sluGPU,
SCT_t SCT,
gridinfo_t grid,
zLUstruct_t LUstruct 
)

◆ zSchurCompUpdate_GPU()

int zSchurCompUpdate_GPU ( int_t  streamId,
int_t  jj_cpu,
int_t  nub,
int_t  klst,
int_t  knsupc,
int_t  Rnbrow,
int_t  RemainBlk,
int_t  Remain_lbuf_send_size,
int_t  bigu_send_size,
int_t  ldu,
int_t  mcb,
int_t  buffer_size,
int_t  lsub_len,
int_t  usub_len,
int_t  ldt,
int_t  k0,
zsluGPU_t sluGPU,
gridinfo_t grid,
SuperLUStat_t  
)

◆ zsendLUpanelGPU2HOST()

int zsendLUpanelGPU2HOST ( int_t  k0,
d2Hreduce_t d2Hred,
zsluGPU_t sluGPU,
SuperLUStat_t  
)

◆ zsendSCUdataHost2GPU()

int zsendSCUdataHost2GPU ( int_t  streamId,
int_t lsub,
int_t usub,
doublecomplex bigU,
int_t  bigu_send_size,
int_t  Remain_lbuf_send_size,
zsluGPU_t sluGPU,
HyP_t HyP 
)

◆ zsparseTreeFactor_ASYNC_GPU()

int zsparseTreeFactor_ASYNC_GPU ( sForest_t sforest,
commRequests_t **  comReqss,
zscuBufs_t scuBufs,
packLUInfo_t packLUInfo,
msgs_t **  msgss,
zLUValSubBuf_t **  LUvsbs,
zdiagFactBufs_t **  dFBufs,
factStat_t factStat,
factNodelists_t fNlists,
gEtreeInfo_t gEtreeInfo,
superlu_dist_options_t options,
int_t gIperm_c_supno,
int  ldt,
zsluGPU_t sluGPU,
d2Hreduce_t d2Hred,
HyP_t HyP,
zLUstruct_t LUstruct,
gridinfo3d_t grid3d,
SuperLUStat_t stat,
double  thresh,
SCT_t SCT,
int  tag_ub,
int *  info 
)
Here is the caller graph for this function:

◆ zsyncAllfunCallStreams()

void zsyncAllfunCallStreams ( zsluGPU_t sluGPU,
SCT_t SCT 
)

◆ zwaitGPUscu()

int zwaitGPUscu ( int  streamId,
zsluGPU_t sluGPU,
SCT_t SCT 
)