SuperLU Distributed 9.0.0
gpu3d
dlustruct_gpu.h File Reference

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

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

Go to the source code of this file.

Classes

struct  dSCUbuf_gpu_t
 
struct  dLUstruct_gpu_t
 
struct  dsluGPU_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 dsparseTreeFactor_ASYNC_GPU (sForest_t *sforest, commRequests_t **comReqss, dscuBufs_t *scuBufs, packLUInfo_t *packLUInfo, msgs_t **msgss, dLUValSubBuf_t **LUvsbs, ddiagFactBufs_t **dFBufs, factStat_t *factStat, factNodelists_t *fNlists, gEtreeInfo_t *gEtreeInfo, superlu_dist_options_t *options, int_t *gIperm_c_supno, int ldt, dsluGPU_t *sluGPU, d2Hreduce_t *d2Hred, HyP_t *HyP, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d, SuperLUStat_t *stat, double thresh, SCT_t *SCT, int tag_ub, int *info)
 
int dinitD2Hreduce (int next_k, d2Hreduce_t *d2Hred, int last_flag, HyP_t *HyP, dsluGPU_t *sluGPU, gridinfo_t *grid, dLUstruct_t *LUstruct, SCT_t *SCT)
 
int dreduceGPUlu (int last_flag, d2Hreduce_t *d2Hred, dsluGPU_t *sluGPU, SCT_t *SCT, gridinfo_t *grid, dLUstruct_t *LUstruct)
 
int dwaitGPUscu (int streamId, dsluGPU_t *sluGPU, SCT_t *SCT)
 
int dsendLUpanelGPU2HOST (int_t k0, d2Hreduce_t *d2Hred, dsluGPU_t *sluGPU, SuperLUStat_t *)
 
int dsendSCUdataHost2GPU (int_t streamId, int_t *lsub, int_t *usub, double *bigU, int_t bigu_send_size, int_t Remain_lbuf_send_size, dsluGPU_t *sluGPU, HyP_t *HyP)
 
int dinitSluGPU3D_t (dsluGPU_t *sluGPU, dLUstruct_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 dSchurCompUpdate_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, dsluGPU_t *sluGPU, gridinfo_t *grid, SuperLUStat_t *)
 
void dCopyLUToGPU3D (int *isNodeInMyGrid, dLocalLU_t *A_host, dsluGPU_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 dreduceAllAncestors3d_GPU (int_t ilvl, int_t *myNodeCount, int_t **treePerm, dLUValSubBuf_t *LUvsb, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d, dsluGPU_t *sluGPU, d2Hreduce_t *d2Hred, factStat_t *factStat, HyP_t *HyP, SCT_t *SCT, SuperLUStat_t *)
 
void dsyncAllfunCallStreams (dsluGPU_t *sluGPU, SCT_t *SCT)
 
int dfree_LUstruct_gpu (dsluGPU_t *sluGPU, SuperLUStat_t *)
 
void dPrint_matrix (char *desc, int_t m, int_t n, double *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

◆ dCopyLUToGPU3D()

void dCopyLUToGPU3D ( int *  isNodeInMyGrid,
dLocalLU_t A_host,
dsluGPU_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  
)

◆ dfree_LUstruct_gpu()

int dfree_LUstruct_gpu ( dsluGPU_t sluGPU,
SuperLUStat_t  
)
Here is the caller graph for this function:

◆ dinitD2Hreduce()

int dinitD2Hreduce ( int  next_k,
d2Hreduce_t d2Hred,
int  last_flag,
HyP_t HyP,
dsluGPU_t sluGPU,
gridinfo_t grid,
dLUstruct_t LUstruct,
SCT_t SCT 
)

◆ dinitSluGPU3D_t()

int dinitSluGPU3D_t ( dsluGPU_t sluGPU,
dLUstruct_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:

◆ dPrint_matrix()

void dPrint_matrix ( char *  desc,
int_t  m,
int_t  n,
double *  dA,
int_t  lda 
)

◆ dreduceAllAncestors3d_GPU()

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

◆ dreduceGPUlu()

int dreduceGPUlu ( int  last_flag,
d2Hreduce_t d2Hred,
dsluGPU_t sluGPU,
SCT_t SCT,
gridinfo_t grid,
dLUstruct_t LUstruct 
)

◆ dSchurCompUpdate_GPU()

int dSchurCompUpdate_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,
dsluGPU_t sluGPU,
gridinfo_t grid,
SuperLUStat_t  
)

◆ dsendLUpanelGPU2HOST()

int dsendLUpanelGPU2HOST ( int_t  k0,
d2Hreduce_t d2Hred,
dsluGPU_t sluGPU,
SuperLUStat_t  
)

◆ dsendSCUdataHost2GPU()

int dsendSCUdataHost2GPU ( int_t  streamId,
int_t lsub,
int_t usub,
double *  bigU,
int_t  bigu_send_size,
int_t  Remain_lbuf_send_size,
dsluGPU_t sluGPU,
HyP_t HyP 
)

◆ dsparseTreeFactor_ASYNC_GPU()

int dsparseTreeFactor_ASYNC_GPU ( sForest_t sforest,
commRequests_t **  comReqss,
dscuBufs_t scuBufs,
packLUInfo_t packLUInfo,
msgs_t **  msgss,
dLUValSubBuf_t **  LUvsbs,
ddiagFactBufs_t **  dFBufs,
factStat_t factStat,
factNodelists_t fNlists,
gEtreeInfo_t gEtreeInfo,
superlu_dist_options_t options,
int_t gIperm_c_supno,
int  ldt,
dsluGPU_t sluGPU,
d2Hreduce_t d2Hred,
HyP_t HyP,
dLUstruct_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:

◆ dsyncAllfunCallStreams()

void dsyncAllfunCallStreams ( dsluGPU_t sluGPU,
SCT_t SCT 
)

◆ dwaitGPUscu()

int dwaitGPUscu ( int  streamId,
dsluGPU_t sluGPU,
SCT_t SCT 
)