28#ifndef __SUPERLU_DDEFS
29#define __SUPERLU_DDEFS
96#define MAX_LOOKAHEADS 50
98 int_t **Lrowind_bc_ptr;
100 int_t *Lrowind_bc_dat;
101 long int *Lrowind_bc_offset;
102 long int Lrowind_bc_cnt;
104 double **Lnzval_bc_ptr;
106 double *Lnzval_bc_dat;
107 long int *Lnzval_bc_offset;
108 long int Lnzval_bc_cnt;
110 double **Linv_bc_ptr;
113 long int *Linv_bc_offset;
114 long int Linv_bc_cnt;
116 int_t **Lindval_loc_bc_ptr;
120 int_t *Lindval_loc_bc_dat;
121 long int *Lindval_loc_bc_offset;
122 long int Lindval_loc_bc_cnt;
142 int_t **Lrowind_bc_2_lsum;
143 double **Uinv_bc_ptr;
145 long int *Uinv_bc_offset;
146 long int Uinv_bc_cnt;
148 int_t **Ufstnz_br_ptr;
149 int_t *Ufstnz_br_dat;
150 long int *Ufstnz_br_offset;
151 long int Ufstnz_br_cnt;
153 double **Unzval_br_ptr;
154 double *Unzval_br_dat;
155 long int *Unzval_br_offset;
156 long int Unzval_br_cnt;
219 int_t **ut_sendx_plist;
229 long int *Ucb_indoffset;
234 long int *Ucb_valoffset;
246 int_t *d_Lrowind_bc_dat;
247 long int *d_Lrowind_bc_offset;
248 double *d_Lnzval_bc_dat;
249 long int *d_Lnzval_bc_offset;
250 int_t *d_Ucolind_bc_dat;
251 int64_t *d_Ucolind_bc_offset;
252 double *d_Unzval_bc_dat;
253 long int *d_Unzval_bc_offset;
255 double *d_Linv_bc_dat ;
256 double *d_Uinv_bc_dat ;
257 long int *d_Linv_bc_offset ;
258 long int *d_Uinv_bc_offset ;
259 int_t *d_Lindval_loc_bc_dat ;
260 int64_t *d_Lindval_loc_bc_offset ;
261 int_t *d_Uindval_loc_bc_dat ;
262 int64_t *d_Uindval_loc_bc_offset ;
299 int_t *ptr_ind_tosend;
301 int_t *ptr_ind_torecv;
319 int_t num_diag_procs, *diag_procs, *diag_len;
323 int_t *A_colind_gsmv;
364 int_t first_l_block_acc , first_u_block_acc;
366 int_t *Lblock_dirty_bit, * Ublock_dirty_bit;
367 double *lookAhead_L_buff, *Remain_L_buff;
370 int_t num_look_aheads, nsupers;
372 int_t num_u_blks, num_u_blks_Phi;
382 int offloadCondition;
383 int superlu_acc_offload;
426 double* BlockLFactor;
427 double* BlockUFactor;
479 double **,
int *, FILE *,
char *,
gridinfo_t *);
487 double *,
double *,
int_t *);
490 double,
double,
char *);
495 double,
double,
char *);
497 double [],
int,
double [],
int,
int,
503 int,
double,
double *,
int);
505 double *,
int,
double,
double *,
int);
531 double [],
int_t *,
double [],
double []);
540 int klst,
int nbrow,
int_t lptr,
int temp_nbrow,
542 int* indirect_thread,
int* indirect2,
543 int_t ** Lrowind_bc_ptr,
double **Lnzval_bc_ptr,
546 int klst,
int nbrow,
int_t lptr,
int temp_nbrow,
548 int_t ** Ufstnz_br_ptr,
double **Unzval_br_ptr,
574extern void dlsum_fmod(
double *,
double *,
double *,
double *,
578extern void dlsum_bmod(
double *,
double *,
double *,
584 int,
int_t ,
int *fmod,
605extern void dlsum_fmod_inv_gpu_wrap(
int_t,
int_t,
int_t,
int_t,
double *,
double *,
int,
int,
int_t ,
int *fmod,
C_Tree *,
C_Tree *,
int_t *,
int_t *, int64_t *,
double *, int64_t *,
double *, int64_t *,
int_t *, int64_t *,
int_t *,
gridinfo_t *,
double * ,
double * ,
int_t );
606extern void dlsum_bmod_inv_gpu_wrap(
superlu_dist_options_t *,
int_t,
int_t,
int_t,
int_t,
double *,
double *,
int,
int,
int_t ,
int *bmod,
C_Tree *,
C_Tree *,
int_t *,
int_t *, int64_t *,
double *, int64_t *,
double *, int64_t *,
int_t *, int64_t *,
int_t *,
gridinfo_t *);
622 double [],
double []);
624 double [],
double []);
628 double x[],
double ax[]);
652 double [],
int_t , MPI_Comm);
696#ifdef USE_VENDOR_BLAS
697extern void dgemm_(
const char*,
const char*,
const int*,
const int*,
const int*,
698 const double*,
const double*,
const int*,
const double*,
699 const int*,
const double*,
double*,
const int*,
int,
int);
700extern void dtrsv_(
char*,
char*,
char*,
int*,
double*,
int*,
701 double*,
int*,
int,
int,
int);
702extern void dtrsm_(
const char*,
const char*,
const char*,
const char*,
703 const int*,
const int*,
const double*,
const double*,
const int*,
704 double*,
const int*,
int,
int,
int,
int);
705extern void dgemv_(
const char *,
const int *,
const int *,
const double *,
706 const double *a,
const int *,
const double *,
const int *,
707 const double *,
double *,
const int *,
int);
710extern int dgemm_(
const char*,
const char*,
const int*,
const int*,
const int*,
711 const double*,
const double*,
const int*,
const double*,
712 const int*,
const double*,
double*,
const int*);
713extern int dtrsv_(
char*,
char*,
char*,
int*,
double*,
int*,
715extern int dtrsm_(
const char*,
const char*,
const char*,
const char*,
716 const int*,
const int*,
const double*,
const double*,
const int*,
717 double*,
const int*);
718extern void dgemv_(
const char *,
const int *,
const int *,
const double *,
719 const double *a,
const int *,
const double *,
const int *,
720 const double *,
double *,
const int *);
723extern void dger_(
const int*,
const int*,
const double*,
724 const double*,
const int*,
const double*,
const int*,
725 double*,
const int*);
727extern int dscal_(
const int *n,
const double *alpha,
double *dx,
const int *incx);
728extern int daxpy_(
const int *n,
const double *alpha,
const double *x,
729 const int *incx,
double *y,
const int *incy);
733 int m,
int n,
int k,
double alpha,
double *a,
734 int lda,
double *b,
int ldb,
double beta,
double *c,
int ldc);
736 const char *transa,
const char *diag,
const int m,
const int n,
737 const double alpha,
const double *a,
738 const int lda,
double *b,
const int ldb);
740 const double *x,
const int incx,
const double *y,
741 const int incy,
double *a,
const int lda);
742extern int superlu_dscal(
const int n,
const double alpha,
double *x,
const int incx);
744 const double *x,
const int incx,
double *y,
const int incy);
746 const int n,
const double alpha,
const double *a,
747 const int lda,
const double *x,
const int incx,
748 const double beta,
double *y,
const int incy);
750 int n,
double *a,
int lda,
double *x,
int incx);
752#ifdef SLU_HAVE_LAPACK
753extern void dtrtri_(
char*,
char*,
int*,
double*,
int*,
int*);
758 int *ldb,
double **x,
int *ldx,
761 int *ldb,
double **x,
int *ldx,
786 double *U_mat,
int ldu,
double *bigV,
791 int *indirect,
int *indirect2,
792 int_t **Lrowind_bc_ptr,
double **Lnzval_bc_ptr,
793 int_t **Ufstnz_br_ptr,
double **Unzval_br_ptr,
795#ifdef SCATTER_PROFILE
796 ,
double *Host_TheadScatterMOP,
double *Host_TheadScatterTimer
803dblock_gemm_scatter_lock(
int_t lb,
int_t j, omp_lock_t* lock,
805 double *L_mat,
int_t ldl,
double *U_mat,
int_t ldu,
811 int *indirect,
int *indirect2,
812 int_t **Lrowind_bc_ptr,
double **Lnzval_bc_ptr,
813 int_t **Ufstnz_br_ptr,
double **Unzval_br_ptr,
815#ifdef SCATTER_PROFILE
816 ,
double *Host_TheadScatterMOP,
double *Host_TheadScatterTimer
825 int* indirect,
int* indirect2,
833 int* indirect,
int* indirect2,
840 int* indirect,
int* indirect2,
847 int* indirect,
int* indirect2,
854 double *uval,
double *bigU,
int_t ldu,
860 double * lval,
int_t LD_lval,
902 double* uval,
double *tempv);
905 double* uval,
double *tempv);
907 int_t *
usub,
double* uval,
double *tempv,
949 double* Lval_buf,
double* Uval_buf,
981 double beta,
double* Lval_buf,
986 double beta,
double* Uval_buf,
992 int **ToSendR,
int_t *xsup,
int );
1035 double *BlockUFactor,
double *BlockLFactor,
1036 int_t* IrecvPlcd_D, MPI_Request *, MPI_Request *,
1040 SCT_t *,
int tag_ub);
1045 MPI_Request *,
double* BlockUFactor,
gridinfo_t *,
1048 double* BlockLFactor,
double* bigV,
1052 MPI_Request *, MPI_Request *,
1053 int_t* Lsub_buf,
double* Lval_buf,
1055 SCT_t *,
int tag_ub);
1057 MPI_Request *,
int_t* Usub_buf,
double* Uval_buf,
1073 double *bigU,
int_t* Lsub_buf,
1074 double* Lval_buf,
int_t* Usub_buf,
1097 int_t *perm_c_supno,
1107 int_t * gIperm_c_supno,
1110 double thresh,
SCT_t *SCT,
1117 int_t *perm_c_supno,
1128 int_t * gIperm_c_supno,
1131 double thresh,
SCT_t *SCT,
1137 int_t *perm_c_supno,
1147 int_t * gIperm_c_supno,
1150 double thresh,
SCT_t *SCT,
int tag_ub,
1166 int_t * gIperm_c_supno,
1170 double thresh,
SCT_t *SCT,
int tag_ub,
1197 int_t * gIperm_c_supno,
1201 double thresh,
SCT_t *SCT,
int tag_ub,
int *info
int j
Definition: dutil_dist.c:248
#define dtrtri_
Definition: superlu_FCnames.h:161
int superlu_dger(const int m, const int n, const double alpha, const double *x, const int incx, const double *y, const int incy, double *a, const int lda)
int_t dLluBufInit(dLUValSubBuf_t *, dLUstruct_t *)
int_t dscatter3dLPanels(int_t nsupers, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d)
int dstatic_schedule(superlu_dist_options_t *, int, int, dLUstruct_t *, gridinfo_t *, SuperLUStat_t *, int_t *, int_t *, int *)
Definition: dstatic_schedule.c:46
void dSolveFinalize(superlu_dist_options_t *, dSOLVEstruct_t *)
Release the resources used for the solution phase.
Definition: pdutil.c:874
void dScaleAddId_CompRowLoc_Matrix_dist(SuperMatrix *, double)
Scale and add I: scales a matrix and adds an identity. A_{i,j} = c * A_{i,j} + \delta_{i,...
Definition: dutil_dist.c:356
int_t initPackLUInfo(int_t nsupers, packLUInfo_t *packLUInfo)
Definition: treeFactorization.c:367
void dScaleAdd_CompRowLoc_Matrix_dist(SuperMatrix *, SuperMatrix *, double)
Scale and add: adds a scalar multiple of one matrix to another. A_{i,j} = c * A_{i,...
Definition: dutil_dist.c:381
void dscatter_l(int ib, int ljb, int nsupc, int_t iukp, int_t *xsup, int klst, int nbrow, int_t lptr, int temp_nbrow, int_t *usub, int_t *lsub, double *tempv, int *indirect_thread, int *indirect2, int_t **Lrowind_bc_ptr, double **Lnzval_bc_ptr, gridinfo_t *grid)
int dDeAllocLlu_3d(int_t n, dLUstruct_t *, gridinfo3d_t *)
Definition: dutil_dist.c:450
int_t pdReDistribute_B_to_X(double *B, int_t m_loc, int nrhs, int_t ldb, int_t fst_row, int_t *ilsum, double *x, dScalePermstruct_t *, Glu_persist_t *, gridinfo_t *, dSOLVEstruct_t *)
Definition: pdgstrs.c:347
int_t dPackLBlock(int_t k, double *Dest, Glu_persist_t *, gridinfo_t *, dLocalLU_t *)
int updateDirtyBit(int_t k0, HyP_t *HyP, gridinfo_t *grid)
Definition: sec_structs.c:618
void pdGetDiagU(int_t, dLUstruct_t *, gridinfo_t *, double *)
Definition: pdGetDiagU.c:66
int superlu_daxpy(const int n, const double alpha, const double *x, const int incx, double *y, const int incy)
int dcreate_matrix(SuperMatrix *, int, double **, int *, double **, int *, FILE *, gridinfo_t *)
Definition: dcreate_matrix.c:349
void pdgsrfs(int_t, SuperMatrix *, double, dLUstruct_t *, dScalePermstruct_t *, gridinfo_t *, double[], int_t, double[], int_t, int, dSOLVEstruct_t *, double *, SuperLUStat_t *, int *)
int_t dQuerySpace_dist(int_t, dLUstruct_t *, gridinfo_t *, SuperLUStat_t *, superlu_dist_mem_usage_t *)
Definition: dmemory_dist.c:73
int dcreate_matrix3d(SuperMatrix *A, int nrhs, double **rhs, int *ldb, double **x, int *ldx, FILE *fp, gridinfo3d_t *grid3d)
void dGenCSCLblocks(int, int_t, gridinfo_t *, Glu_persist_t *, dLocalLU_t *, double **, int_t **, int_t **, int_t *, int_t *)
Definition: dutil_dist.c:901
void dZeroUblocks(int iam, int n, gridinfo_t *, dLUstruct_t *)
Sets all entries of matrix U to zero.
Definition: dutil_dist.c:1249
void pdgsmv_init(SuperMatrix *, int_t *, gridinfo_t *, pdgsmv_comm_t *)
Definition: pdgsmv.c:27
int_t dISend_UDiagBlock(int_t k0, double *ublk_ptr, int_t size, MPI_Request *, gridinfo_t *, int)
int dfreeScuBufs(dscuBufs_t *scuBufs)
int_t dUDiagBlockRecvWait(int_t k, int_t *IrecvPlcd_D, int_t *factored_L, MPI_Request *, gridinfo_t *, dLUstruct_t *, SCT_t *)
void pdgsmv(int_t, SuperMatrix *, gridinfo_t *, pdgsmv_comm_t *, double x[], double ax[])
Definition: pdgsmv.c:235
int_t dreduceAncestors3d(int_t sender, int_t receiver, int_t nnodes, int_t *nodeList, double *Lval_buf, double *Uval_buf, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d, SCT_t *SCT)
void dGenCSRLblocks(int, int_t, gridinfo_t *, Glu_persist_t *, dLocalLU_t *, double **, int_t **, int_t **, int_t *, int_t *)
Definition: dutil_dist.c:1054
int_t dTrs2_GatherTrsmScatter(int_t klst, int_t iukp, int_t rukp, int_t *usub, double *uval, double *tempv, int_t knsupc, int nsupr, double *lusup, Glu_persist_t *Glu_persist)
Definition: pdgstrf2.c:716
int_t dcollect3dUpanels(int_t layer, int_t nsupers, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d)
int_t dIRecv_UDiagBlock(int_t k0, double *ublk_ptr, int_t size, int_t src, MPI_Request *, gridinfo_t *, SCT_t *, int)
int_t dinitScuBufs(int_t ldt, int_t num_threads, int_t nsupers, dscuBufs_t *, dLUstruct_t *, gridinfo_t *)
int_t ddenseTreeFactor(int_t nnnodes, int_t *perm_c_supno, commRequests_t *comReqs, dscuBufs_t *scuBufs, packLUInfo_t *packLUInfo, msgs_t *msgs, dLUValSubBuf_t *LUvsb, ddiagFactBufs_t *dFBuf, factStat_t *factStat, factNodelists_t *fNlists, superlu_dist_options_t *options, int_t *gIperm_c_supno, int_t ldt, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d, SuperLUStat_t *stat, double thresh, SCT_t *SCT, int tag_ub, int *info)
void dinit3DLUstructForest(int_t *myTreeIdxs, int_t *myZeroTrIdxs, sForest_t **sForests, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d)
int_t scuStatUpdate(int_t knsupc, HyP_t *HyP, SCT_t *SCT, SuperLUStat_t *stat)
Definition: sec_structs.c:635
int pdgsmv_AXglobal_abs(int_t, int_t[], double[], int_t[], double[], double[])
Definition: pdgsmv_AXglobal.c:285
int_t dgatherAllFactoredLU(trf3Dpartition_t *trf3Dpartition, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d, SCT_t *SCT)
void dreadrb_dist(int, FILE *, int_t *, int_t *, int_t *, double **, int_t **, int_t **)
Definition: dreadrb.c:275
void pdCompute_Diag_Inv(int_t, dLUstruct_t *, gridinfo_t *, SuperLUStat_t *, int *)
Definition: pdgstrs.c:839
void pdgsequ(SuperMatrix *, double *, double *, double *, double *, double *, int_t *, gridinfo_t *)
Definition: pdgsequ.c:86
int dscal_(const int *n, const double *alpha, double *dx, const int *incx)
int_t dWaitL(int_t k, int *msgcnt, int *msgcntU, MPI_Request *, MPI_Request *, gridinfo_t *, dLUstruct_t *, SCT_t *)
int dtrsm_(const char *, const char *, const char *, const char *, const int *, const int *, const double *, const double *, const int *, double *, const int *)
void dGenXtrue_dist(int_t, int_t, double *, int_t)
Definition: dutil_dist.c:486
void d3D_printMemUse(trf3Dpartition_t *trf3Dpartition, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d)
Definition: dmemory_dist.c:243
void dgather_l(int_t num_LBlk, int_t knsupc, Remain_info_t *L_info, double *lval, int_t LD_lval, double *L_buff)
int sp_dgemv_dist(char *, double, SuperMatrix *, double *, int, double, double *, int)
SpGEMV.
Definition: dsp_blas2_dist.c:391
int_t dzRecvLPanel(int_t k, int_t sender, double alpha, double beta, double *Lval_buf, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d, SCT_t *SCT)
int_t dIBcast_UPanel(int_t k, int_t k0, int_t *usub, double *uval, gridinfo_t *, int *msgcnt, MPI_Request *, int *ToSendD, int)
int getNsupers(int, Glu_persist_t *)
Definition: trfAux.c:42
int dfreeDiagFactBufsArr(int_t mxLeafNode, ddiagFactBufs_t **dFBufs)
double pdlangs(char *, SuperMatrix *, gridinfo_t *)
Definition: pdlangs.c:65
int daxpy_(const int *n, const double *alpha, const double *x, const int *incx, double *y, const int *incy)
trf3Dpartition_t * dinitTrf3Dpartition(int_t nsupers, superlu_dist_options_t *options, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d)
void dGenCOOLblocks(int, int_t, gridinfo_t *, Glu_persist_t *, dLocalLU_t *, int_t **, int_t **, double **, int_t *, int_t *)
Definition: dutil_dist.c:794
int_t dSchurComplementSetup(int_t k, int *msgcnt, Ublock_info_t *, Remain_info_t *, uPanelInfo_t *, lPanelInfo_t *, int_t *, int_t *, int_t *, double *bigU, int_t *Lsub_buf, double *Lval_buf, int_t *Usub_buf, double *Uval_buf, gridinfo_t *, dLUstruct_t *)
void dDestroy_A3d_gathered_on_2d(dSOLVEstruct_t *, gridinfo3d_t *)
Definition: pdutil.c:894
int_t dzSendLPanel(int_t k, int_t receiver, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d, SCT_t *SCT)
int_t dp3dScatter(int_t n, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d)
void dCreate_CompRowLoc_Matrix_dist(SuperMatrix *, int_t, int_t, int_t, int_t, int_t, double *, int_t *, int_t *, Stype_t, Dtype_t, Mtype_t)
void Free_HyP(HyP_t *HyP)
Definition: sec_structs.c:594
void dlsum_bmod_inv(double *, double *, double *, double *, int, int_t, int *bmod, int_t *, Ucb_indptr_t **, int_t **, int_t *, gridinfo_t *, dLocalLU_t *, SuperLUStat_t **, int_t *, int_t *, int_t, int_t, int, int)
Definition: pdgstrs_lsum.c:1355
int_t dblock_gemm_scatterTopLeft(int_t lb, int_t j, double *bigV, int_t knsupc, int_t klst, int_t *lsub, int_t *usub, int_t ldt, int *indirect, int *indirect2, HyP_t *HyP, dLUstruct_t *, gridinfo_t *, SCT_t *SCT, SuperLUStat_t *)
void dlsum_fmod(double *, double *, double *, double *, int, int, int_t, int *fmod, int_t, int_t, int_t, int_t *, gridinfo_t *, dLocalLU_t *, MPI_Request[], SuperLUStat_t *)
Definition: pdgstrs_lsum.c:62
int_t dIRecv_LDiagBlock(int_t k0, double *L_blk_ptr, int_t size, int_t src, MPI_Request *, gridinfo_t *, SCT_t *, int)
void dScalePermstructFree(dScalePermstruct_t *)
Deallocate ScalePermstruct.
Definition: dutil_dist.c:409
int_t dzSendUPanel(int_t k, int_t receiver, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d, SCT_t *SCT)
int pdPermute_Dense_Matrix(int_t, int_t, int_t[], int_t[], double[], int, double[], int, int, gridinfo_t *)
Permute the distributed dense matrix: B <= perm(X). perm[i] = j means the i-th row of X is in the j-t...
Definition: pdutil.c:294
void dRgather_U(int_t k, int_t jj0, int_t *usub, double *uval, double *bigU, gEtreeInfo_t *, Glu_persist_t *, gridinfo_t *, HyP_t *, int_t *myIperm, int_t *iperm_c_supno, int_t *perm_u)
void dlsum_bmod_inv_master(double *, double *, double *, double *, int, int_t, int *bmod, int_t *, Ucb_indptr_t **, int_t **, int_t *, gridinfo_t *, dLocalLU_t *, SuperLUStat_t **, int_t, int_t, int, int)
Definition: pdgstrs_lsum.c:1819
int_t checkRecvUDiag(int_t k, commRequests_t *comReqs, gridinfo_t *grid, SCT_t *SCT)
Definition: treeFactorization.c:401
int pdgsmv_AXglobal(int_t, int_t[], double[], int_t[], double[], double[])
Definition: pdgsmv_AXglobal.c:259
int_t dAllocLlu_3d(int_t nsupers, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d)
void pdgstrs2(int_t m, int_t k0, int_t k, Glu_persist_t *Glu_persist, gridinfo_t *grid, dLocalLU_t *Llu, SuperLUStat_t *stat)
void dgemv_(const char *, const int *, const int *, const double *, const double *a, const int *, const double *, const int *, const double *, double *, const int *)
ddiagFactBufs_t ** dinitDiagFactBufsArr(int_t mxLeafNode, int_t ldt, gridinfo_t *grid)
int_t dIBcastRecvLPanel(int_t k, int_t k0, int *msgcnt, MPI_Request *, MPI_Request *, int_t *Lsub_buf, double *Lval_buf, int_t *factored, gridinfo_t *, dLUstruct_t *, SCT_t *, int tag_ub)
void dinf_norm_error_dist(int_t, int_t, double *, int_t, double *, int_t, gridinfo_t *)
Check the inf-norm of the error vector.
Definition: dutil_dist.c:522
float ddistribute(fact_t, int_t, SuperMatrix *, Glu_freeable_t *, dLUstruct_t *, gridinfo_t *)
Definition: ddistribute.c:65
int pdgsmv_AXglobal_setup(SuperMatrix *, Glu_persist_t *, gridinfo_t *, int_t *, int_t *[], double *[], int_t *[], int_t[])
void pdgsrfs_ABXglobal(int_t, SuperMatrix *, double, dLUstruct_t *, gridinfo_t *, double *, int_t, double *, int_t, int, double *, SuperLUStat_t *, int *)
Definition: pdgsrfs_ABXglobal.c:125
void dGatherNRformat_loc3d(fact_t Fact, NRformat_loc *A, double *B, int ldb, int nrhs, gridinfo3d_t *grid3d, NRformat_loc3d **)
int_t dcollect3dLpanels(int_t layer, int_t nsupers, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d)
int dcreate_matrix_postfix3d(SuperMatrix *A, int nrhs, double **rhs, int *ldb, double **x, int *ldx, FILE *fp, char *postfix, gridinfo3d_t *grid3d)
Definition: dcreate_matrix3d.c:72
void dreadMM_dist(FILE *, int_t *, int_t *, int_t *, double **, int_t **, int_t **)
Definition: dreadMM.c:38
void dInit_HyP(HyP_t *HyP, dLocalLU_t *Llu, int_t mcb, int_t mrb)
void dlsum_fmod_inv_master(double *, double *, double *, double *, int, int, int_t, int *fmod, int_t, int_t *, gridinfo_t *, dLocalLU_t *, SuperLUStat_t **, int_t, int_t, int_t, int_t, int, int)
Definition: pdgstrs_lsum.c:956
int freePackLUInfo(packLUInfo_t *packLUInfo)
Definition: treeFactorization.c:376
void dDestroy_Tree(int_t, gridinfo_t *, dLUstruct_t *)
Destroy broadcast and reduction trees used in triangular solve.
Definition: pdutil.c:437
void dblock_gemm_scatter(int_t lb, int_t j, Ublock_info_t *Ublock_info, Remain_info_t *Remain_info, double *L_mat, int ldl, double *U_mat, int ldu, double *bigV, int_t knsupc, int_t klst, int_t *lsub, int_t *usub, int_t ldt, int_t thread_id, int *indirect, int *indirect2, int_t **Lrowind_bc_ptr, double **Lnzval_bc_ptr, int_t **Ufstnz_br_ptr, double **Unzval_br_ptr, int_t *xsup, gridinfo_t *, SuperLUStat_t *)
int_t dscatter3dUPanels(int_t nsupers, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d)
void dDestroy_LU(int_t, gridinfo_t *, dLUstruct_t *)
Destroy distributed L & U matrices.
Definition: pdutil.c:485
void pdgssvx3d(superlu_dist_options_t *, SuperMatrix *, dScalePermstruct_t *, double B[], int ldb, int nrhs, gridinfo3d_t *, dLUstruct_t *, dSOLVEstruct_t *, double *berr, SuperLUStat_t *, int *info)
Definition: pdgssvx3d.c:501
int_t dWait_LRecv(MPI_Request *, int *msgcnt, int *msgcntsU, gridinfo_t *, SCT_t *)
void dCopy_CompRowLoc_Matrix_dist(SuperMatrix *, SuperMatrix *)
Definition: dutil_dist.c:324
void dCreate_CompCol_Matrix_dist(SuperMatrix *, int_t, int_t, int_t, double *, int_t *, int_t *, Stype_t, Dtype_t, Mtype_t)
int_t dgatherAllFactoredLUFr(int_t *myZeroTrIdxs, sForest_t *sForests, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d, SCT_t *SCT)
int_t dTrs2_ScatterU(int_t iukp, int_t rukp, int_t klst, int_t nsupc, int_t ldu, int_t *usub, double *uval, double *tempv)
Definition: pdgstrf2.c:694
int_t dDiagFactIBCast(int_t k, int_t k0, double *BlockUFactor, double *BlockLFactor, int_t *IrecvPlcd_D, MPI_Request *, MPI_Request *, MPI_Request *, MPI_Request *, gridinfo_t *, superlu_dist_options_t *, double thresh, dLUstruct_t *LUstruct, SuperLUStat_t *, int *info, SCT_t *, int tag_ub)
int_t dsparseTreeFactor(int_t nnodes, int_t *perm_c_supno, treeTopoInfo_t *treeTopoInfo, commRequests_t *comReqs, dscuBufs_t *scuBufs, packLUInfo_t *packLUInfo, msgs_t *msgs, dLUValSubBuf_t *LUvsb, ddiagFactBufs_t *dFBuf, factStat_t *factStat, factNodelists_t *fNlists, superlu_dist_options_t *options, int_t *gIperm_c_supno, int_t ldt, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d, SuperLUStat_t *stat, double thresh, SCT_t *SCT, int *info)
void dPrint_Dense_Matrix_dist(SuperMatrix *)
int_t dblock_gemm_scatterTopRight(int_t lb, int_t j, double *bigV, int_t knsupc, int_t klst, int_t *lsub, int_t *usub, int_t ldt, int *indirect, int *indirect2, HyP_t *HyP, dLUstruct_t *, gridinfo_t *, SCT_t *SCT, SuperLUStat_t *)
void dRgather_L(int_t k, int_t *lsub, double *lusup, gEtreeInfo_t *, Glu_persist_t *, gridinfo_t *, HyP_t *, int_t *myIperm, int_t *iperm_c_supno)
int_t dblock_gemm_scatterBottomLeft(int_t lb, int_t j, double *bigV, int_t knsupc, int_t klst, int_t *lsub, int_t *usub, int_t ldt, int *indirect, int *indirect2, HyP_t *HyP, dLUstruct_t *, gridinfo_t *, SCT_t *SCT, SuperLUStat_t *)
void pdgstrs(int_t, dLUstruct_t *, dScalePermstruct_t *, gridinfo_t *, double *, int_t, int_t, int_t, int, dSOLVEstruct_t *, SuperLUStat_t *, int *)
Definition: pdgstrs.c:1030
int dScatter_B3d(NRformat_loc3d *A3d, gridinfo3d_t *grid3d)
void dgather_u(int_t num_u_blks, Ublock_info_t *Ublock_info, int_t *usub, double *uval, double *bigU, int_t ldu, int_t *xsup, int_t klst)
int file_dPrint_CompRowLoc_Matrix_dist(FILE *fp, SuperMatrix *A)
int_t dIBcastRecvUPanel(int_t k, int_t k0, int *msgcnt, MPI_Request *, MPI_Request *, int_t *Usub_buf, double *Uval_buf, gridinfo_t *, dLUstruct_t *, SCT_t *, int tag_ub)
void dZeroLblocks(int, int, gridinfo_t *, dLUstruct_t *)
Sets all entries of matrix L to zero.
Definition: dutil_dist.c:619
int sp_dtrsv_dist(char *, char *, char *, SuperMatrix *, SuperMatrix *, double *, int *)
Definition: dsp_blas2_dist.c:95
int dldperm_dist(int, int, int_t, int_t[], int_t[], double[], int_t *, double[], double[])
Definition: dldperm_dist.c:96
int_t dLpanelUpdate(int_t off0, int_t nsupc, double *ublk_ptr, int_t ld_ujrow, double *lusup, int_t nsupr, SCT_t *)
void * duser_malloc_dist(int_t, int_t)
Definition: dmemory_dist.c:30
void Local_Dgstrf2(superlu_dist_options_t *options, int_t k, double thresh, double *BlockUFactor, Glu_persist_t *, gridinfo_t *, dLocalLU_t *, SuperLUStat_t *, int *info, SCT_t *)
Definition: pdgstrf2.c:402
int_t LDiagBlockRecvWait(int_t k, int_t *factored_U, MPI_Request *, gridinfo_t *)
Definition: communication_aux.c:218
void pdgstrs_Bglobal(int_t, dLUstruct_t *, gridinfo_t *, double *, int_t, int, SuperLUStat_t *, int *)
Definition: pdgstrs_Bglobal.c:104
int_t dWait_URecv(MPI_Request *, int *msgcnt, SCT_t *)
void dLUstructFree(dLUstruct_t *)
Deallocate LUstruct.
Definition: pdutil.c:419
int dPrint_CompRowLoc_Matrix_dist(SuperMatrix *)
void dCreate_SuperNode_Matrix_dist(SuperMatrix *, int_t, int_t, int_t, double *, int_t *, int_t *, int_t *, int_t *, int_t *, Stype_t, Dtype_t, Mtype_t)
void pdgssvx_ABglobal(superlu_dist_options_t *, SuperMatrix *, dScalePermstruct_t *, double *, int, int, gridinfo_t *, dLUstruct_t *, double *, SuperLUStat_t *, int *)
void dPrint_CompCol_Matrix_dist(SuperMatrix *)
int dtrsv_(char *, char *, char *, int *, double *, int *, double *, int *)
int_t dIrecv_LPanel(int_t k, int_t k0, int_t *Lsub_buf, double *Lval_buf, gridinfo_t *, MPI_Request *, dLocalLU_t *, int)
void pdgstrf2_trsm(superlu_dist_options_t *options, int_t k0, int_t k, double thresh, Glu_persist_t *, gridinfo_t *, dLocalLU_t *, MPI_Request *, int tag_ub, SuperLUStat_t *, int *info)
Definition: pdgstrf2.c:143
int_t pdgstrs_init(int_t, int_t, int_t, int_t, int_t[], int_t[], gridinfo_t *grid, Glu_persist_t *, dSOLVEstruct_t *)
Definition: pdutil.c:657
int_t treeFactor(int_t nnnodes, int_t *perm_c_supno, commRequests_t *comReqs, dscuBufs_t *scuBufs, packLUInfo_t *packLUInfo, msgs_t *msgs, dLUValSubBuf_t *LUvsb, ddiagFactBufs_t *dFBuf, factStat_t *factStat, factNodelists_t *fNlists, superlu_dist_options_t *options, int_t *gIperm_c_supno, int_t ldt, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d, SuperLUStat_t *stat, double thresh, SCT_t *SCT, int *info)
int_t dISend_LDiagBlock(int_t k0, double *lblk_ptr, int_t size, MPI_Request *, gridinfo_t *, int)
int_t dgatherFactoredLU(int_t sender, int_t receiver, int_t nnodes, int_t *nodeList, dLUValSubBuf_t *LUvsb, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d, SCT_t *SCT)
int_t dinitDiagFactBufs(int_t ldt, ddiagFactBufs_t *dFBuf)
int_t pdgstrf(superlu_dist_options_t *, int, int, double anorm, dLUstruct_t *, gridinfo_t *, SuperLUStat_t *, int *)
Definition: pdgstrf.c:242
double * dgetBigU(int_t, gridinfo_t *, dLUstruct_t *)
int_t dSchurComplementSetupGPU(int_t k, msgs_t *msgs, packLUInfo_t *, int_t *, int_t *, int_t *, gEtreeInfo_t *, factNodelists_t *, dscuBufs_t *, dLUValSubBuf_t *LUvsb, gridinfo_t *, dLUstruct_t *, HyP_t *)
int dAllocGlu_3d(int_t n, int_t nsupers, dLUstruct_t *)
Definition: dutil_dist.c:432
int_t dBcast_UPanel(int_t k, int_t k0, int_t *usub, double *uval, gridinfo_t *, int *msgcnt, int *ToSendD, SCT_t *, int)
int file_Printdouble5(FILE *, char *, int_t, double *)
Definition: dutil_dist.c:555
void dreadhb_dist(int, FILE *, int_t *, int_t *, int_t *, double **, int_t **, int_t **)
Definition: dreadhb.c:107
int_t dTrs2_GatherU(int_t iukp, int_t rukp, int_t klst, int_t nsupc, int_t ldu, int_t *usub, double *uval, double *tempv)
Definition: pdgstrf2.c:669
void pdgstrs2_omp(int_t k0, int_t k, Glu_persist_t *, gridinfo_t *, dLocalLU_t *, Ublock_info_t *, SuperLUStat_t *)
Definition: pdgstrf2.c:762
int superlu_dgemv(const char *trans, const int m, const int n, const double alpha, const double *a, const int lda, const double *x, const int incx, const double beta, double *y, const int incy)
void dCompRow_to_CompCol_dist(int_t, int_t, int_t, double *, int_t *, int_t *, double **, int_t **, int_t **)
void dscatter_u(int ib, int jb, int nsupc, int_t iukp, int_t *xsup, int klst, int nbrow, int_t lptr, int temp_nbrow, int_t *lsub, int_t *usub, double *tempv, int_t **Ufstnz_br_ptr, double **Unzval_br_ptr, gridinfo_t *grid)
void dgsequ_dist(SuperMatrix *, double *, double *, double *, double *, double *, int_t *)
Definition: dgsequ_dist.c:84
int_t dRecv_UDiagBlock(int_t k0, double *ublk_ptr, int_t size, int_t src, gridinfo_t *, SCT_t *, int)
void dLUstructInit(const int_t, dLUstruct_t *)
Allocate storage in LUstruct.
Definition: pdutil.c:405
void dCreate_Dense_Matrix_dist(SuperMatrix *, int_t, int_t, double *, int_t, Stype_t, Dtype_t, Mtype_t)
void dallocateA_dist(int_t, int_t, double **, int_t **, int_t **)
Definition: dmemory_dist.c:147
void dlsum_fmod_inv(double *, double *, double *, double *, int, int_t, int *fmod, int_t *, gridinfo_t *, dLocalLU_t *, SuperLUStat_t **, int_t *, int_t *, int_t, int_t, int_t, int_t, int, int)
Definition: pdgstrs_lsum.c:416
int dcreate_matrix_rb(SuperMatrix *, int, double **, int *, double **, int *, FILE *, gridinfo_t *)
float pddistribute(fact_t, int_t, SuperMatrix *, dScalePermstruct_t *, Glu_freeable_t *, dLUstruct_t *, gridinfo_t *)
Definition: pddistribute.c:328
int superlu_dtrsm(const char *sideRL, const char *uplo, const char *transa, const char *diag, const int m, const int n, const double alpha, const double *a, const int lda, double *b, const int ldb)
void pxgstrs_finalize(pxgstrs_comm_t *)
Definition: util.c:266
void dlsum_bmod(double *, double *, double *, int, int_t, int *bmod, int_t *, Ucb_indptr_t **, int_t **, int_t *, gridinfo_t *, dLocalLU_t *, MPI_Request[], SuperLUStat_t *)
Definition: pdgstrs_lsum.c:246
void pdinf_norm_error(int, int_t, int_t, double[], int_t, double[], int_t, MPI_Comm)
Check the inf-norm of the error vector.
Definition: pdutil.c:921
int dread_binary(FILE *, int_t *, int_t *, int_t *, double **, int_t **, int_t **)
Definition: dbinary_io.c:4
double * doubleMalloc_dist(int_t)
Definition: dmemory_dist.c:155
int pdCompRow_loc_to_CompCol_global(int_t, SuperMatrix *, gridinfo_t *, SuperMatrix *)
Gather A from the distributed compressed row format to global A in compressed column format.
Definition: pdutil.c:32
int dSolveInit(superlu_dist_options_t *, SuperMatrix *, int_t[], int_t[], int_t, dLUstruct_t *, gridinfo_t *, dSOLVEstruct_t *)
Initialize the data structure for the solution phase.
Definition: pdutil.c:786
int_t dIBcast_LPanel(int_t k, int_t k0, int_t *lsub, double *lusup, gridinfo_t *, int *msgcnt, MPI_Request *, int **ToSendR, int_t *xsup, int)
void pdgstrf2(superlu_dist_options_t *, int_t nsupers, int_t k0, int_t k, double thresh, Glu_persist_t *, gridinfo_t *, dLocalLU_t *, MPI_Request *, int, SuperLUStat_t *, int *)
void dPrintUblocks(int, int_t, gridinfo_t *, Glu_persist_t *, dLocalLU_t *)
Print the blocks in the factored matrix U.
Definition: dutil_dist.c:1208
int dreduceAllAncestors3d(int_t ilvl, int_t *myNodeCount, int_t **treePerm, dLUValSubBuf_t *LUvsb, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d, SCT_t *SCT)
int_t dzeroSetLU(int_t nnodes, int_t *nodeList, dLUstruct_t *, gridinfo3d_t *)
int_t dWaitU(int_t k, int *msgcnt, MPI_Request *, MPI_Request *, gridinfo_t *, dLUstruct_t *, SCT_t *)
int dcreate_matrix_postfix(SuperMatrix *, int, double **, int *, double **, int *, FILE *, char *, gridinfo_t *)
Definition: dcreate_matrix.c:76
int_t dUPanelTrSolve(int_t k, double *BlockLFactor, double *bigV, int_t ldt, Ublock_info_t *, gridinfo_t *, dLUstruct_t *, SuperLUStat_t *, SCT_t *)
int superlu_dgemm(const char *transa, const char *transb, int m, int n, int k, double alpha, double *a, int lda, double *b, int ldb, double beta, double *c, int ldc)
int superlu_dscal(const int n, const double alpha, double *x, const int incx)
int dDeAllocGlu_3d(dLUstruct_t *)
Definition: dutil_dist.c:442
void dClone_CompRowLoc_Matrix_dist(SuperMatrix *, SuperMatrix *)
double dlangs_dist(char *, SuperMatrix *)
Definition: dlangs_dist.c:62
int dLluBufFreeArr(int_t numLA, dLUValSubBuf_t **LUvsbs)
int_t ancestorFactor(int_t ilvl, 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_t ldt, HyP_t *HyP, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d, SuperLUStat_t *stat, double thresh, SCT_t *SCT, int tag_ub, int *info)
void pdgsmv_finalize(pdgsmv_comm_t *)
Definition: pdgsmv.c:371
void dScalePermstructInit(const int_t, const int_t, dScalePermstruct_t *)
Allocate storage in ScalePermstruct.
Definition: dutil_dist.c:398
void dlaqgs_dist(SuperMatrix *, double *, double *, double, double, double, char *)
Definition: dlaqgs_dist.c:81
float ddist_psymbtonum(fact_t, int_t, SuperMatrix *, dScalePermstruct_t *, Pslu_freeable_t *, dLUstruct_t *, gridinfo_t *)
Definition: pdsymbfact_distdata.c:1188
int d_c2cpp_GetHWPM(SuperMatrix *, gridinfo_t *, dScalePermstruct_t *)
Definition: d_c2cpp_GetHWPM.cpp:53
int dgemm_(const char *, const char *, const int *, const int *, const int *, const double *, const double *, const int *, const double *, const int *, const double *, double *, const int *)
void dger_(const int *, const int *, const double *, const double *, const int *, const double *, const int *, double *, const int *)
int superlu_dtrsv(char *uplo, char *trans, char *diag, int n, double *a, int lda, double *x, int incx)
void dCopy_Dense_Matrix_dist(int_t, int_t, double *, int_t, double *, int_t)
int dcreate_matrix_dat(SuperMatrix *, int, double **, int *, double **, int *, FILE *, gridinfo_t *)
int_t dBcast_LPanel(int_t k, int_t k0, int_t *lsub, double *lusup, gridinfo_t *, int *msgcnt, int **ToSendR, int_t *xsup, SCT_t *, int)
int_t dLPanelTrSolve(int_t k, int_t *factored_L, double *BlockUFactor, gridinfo_t *, dLUstruct_t *)
void dreadtriple_dist(FILE *, int_t *, int_t *, int_t *, double **, int_t **, int_t **)
Definition: dreadtriple.c:35
int_t pdgstrf3d(superlu_dist_options_t *, int m, int n, double anorm, trf3Dpartition_t *, SCT_t *, dLUstruct_t *, gridinfo3d_t *, SuperLUStat_t *, int *)
Definition: pdgstrf3d.c:121
void duser_free_dist(int_t, int_t)
Definition: dmemory_dist.c:49
void dZero_CompRowLoc_Matrix_dist(SuperMatrix *)
Sets all entries of a matrix to zero, A_{i,j}=0, for i,j=1,..,n.
Definition: dutil_dist.c:339
void dDestroy_trf3Dpartition(trf3Dpartition_t *trf3Dpartition, gridinfo3d_t *grid3d)
int_t dzRecvUPanel(int_t k, int_t sender, double alpha, double beta, double *Uval_buf, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d, SCT_t *SCT)
int_t dinit3DLUstruct(int_t *myTreeIdxs, int_t *myZeroTrIdxs, int_t *nodeCount, int_t **nodeList, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d)
int_t checkRecvLDiag(int_t k, commRequests_t *comReqs, gridinfo_t *, SCT_t *)
Definition: treeFactorization.c:422
double * dgetBigV(int_t, int_t)
void dFillRHS_dist(char *, int_t, double *, int_t, SuperMatrix *, double *, int_t)
Let rhs[i] = sum of i-th row of A, so the solution vector is all 1's.
Definition: dutil_dist.c:499
void dreadtriple_noheader(FILE *, int_t *, int_t *, int_t *, double **, int_t **, int_t **)
Definition: dreadtriple_noheader.c:35
void dComputeLevelsets(int, int_t, gridinfo_t *, Glu_persist_t *, dLocalLU_t *, int_t *)
Definition: dutil_dist.c:752
int_t dsparseTreeFactor_ASYNC(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_t ldt, HyP_t *HyP, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d, SuperLUStat_t *stat, double thresh, SCT_t *SCT, int tag_ub, int *info)
double * doubleCalloc_dist(int_t)
Definition: dmemory_dist.c:162
int_t dUPanelUpdate(int_t k, int_t *factored_U, MPI_Request *, double *BlockLFactor, double *bigV, int_t ldt, Ublock_info_t *, gridinfo_t *, dLUstruct_t *, SuperLUStat_t *, SCT_t *)
void Printdouble5(char *, int_t, double *)
Definition: dutil_dist.c:543
int_t dp3dCollect(int_t layer, int_t n, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d)
void dPrintLblocks(int, int_t, gridinfo_t *, Glu_persist_t *, dLocalLU_t *)
Print the blocks in the factored matrix L.
Definition: dutil_dist.c:570
dLUValSubBuf_t ** dLluBufInitArr(int_t numLA, dLUstruct_t *LUstruct)
int sp_dgemm_dist(char *, int, double, SuperMatrix *, double *, int, double, double *, int)
Definition: dsp_blas3_dist.c:124
void pdlaqgs(SuperMatrix *, double *, double *, double, double, double, char *)
Definition: pdlaqgs.c:85
int_t dblock_gemm_scatterBottomRight(int_t lb, int_t j, double *bigV, int_t knsupc, int_t klst, int_t *lsub, int_t *usub, int_t ldt, int *indirect, int *indirect2, HyP_t *HyP, dLUstruct_t *, gridinfo_t *, SCT_t *SCT, SuperLUStat_t *)
int_t dIrecv_UPanel(int_t k, int_t k0, int_t *Usub_buf, double *, dLocalLU_t *, gridinfo_t *, MPI_Request *, int)
int_t dLPanelUpdate(int_t k, int_t *IrecvPlcd_D, int_t *factored_L, MPI_Request *, double *BlockUFactor, gridinfo_t *, dLUstruct_t *, SCT_t *)
void dCopy_CompCol_Matrix_dist(SuperMatrix *, SuperMatrix *)
void dfill_dist(double *, int_t, double)
Fills a double precision array with a given value.
Definition: dutil_dist.c:512
void pdgssvx(superlu_dist_options_t *, SuperMatrix *, dScalePermstruct_t *, double *, int, int, gridinfo_t *, dLUstruct_t *, dSOLVEstruct_t *, double *, SuperLUStat_t *, int *)
#define NBUFFERS
Definition: superlu_defs.h:194
int int_t
Definition: superlu_defs.h:114
DiagScale_t
Definition: superlu_enum_consts.h:35
fact_t
Definition: superlu_enum_consts.h:30
Mtype_t
Definition: supermatrix.h:42
Dtype_t
Definition: supermatrix.h:35
Stype_t
Definition: supermatrix.h:22
void pdconvertU(superlu_dist_options_t *options, gridinfo_t *grid, dLUstruct_t *LUstruct, SuperLUStat_t *stat, int_t n)
Definition: pdgssvx.c:1639
integer, parameter, public lsub
Definition: superlupara.f90:35
integer, parameter, public trans
Definition: superlupara.f90:35
integer, parameter, public factored
Definition: superlupara.f90:35
integer, parameter, public lusup
Definition: superlupara.f90:35
integer, parameter, public usub
Definition: superlupara.f90:35
Definition: superlu_defs.h:1142
Definition: superlu_defs.h:490
Definition: superlu_defs.h:435
Definition: superlu_ddefs.h:329
Definition: psymbfact.h:57
Definition: superlu_defs.h:770
Definition: util_dist.h:172
Definition: util_dist.h:95
Definition: supermatrix.h:54
Definition: superlu_defs.h:760
Definition: superlu_defs.h:752
Definition: superlu_defs.h:924
Definition: superlu_ddefs.h:357
Definition: superlu_ddefs.h:254
Definition: superlu_ddefs.h:97
int64_t * Unzval_bc_offset
Definition: superlu_ddefs.h:132
int_t * Ucolind_bc_dat
Definition: superlu_ddefs.h:126
int64_t Uindval_loc_bc_cnt
Definition: superlu_ddefs.h:138
int64_t Unzval_bc_cnt
Definition: superlu_ddefs.h:133
int_t ** Ucolind_bc_ptr
Definition: superlu_ddefs.h:125
int64_t * Ucolind_bc_offset
Definition: superlu_ddefs.h:127
int64_t * Uindval_loc_bc_offset
Definition: superlu_ddefs.h:137
int64_t Ucolind_bc_cnt
Definition: superlu_ddefs.h:128
double ** Unzval_bc_ptr
Definition: superlu_ddefs.h:130
int_t ** Uindval_loc_bc_ptr
Definition: superlu_ddefs.h:135
double * Unzval_bc_dat
Definition: superlu_ddefs.h:131
int_t * Uindval_loc_bc_dat
Definition: superlu_ddefs.h:136
Definition: superlu_ddefs.h:284
Definition: superlu_ddefs.h:76
Definition: superlu_ddefs.h:391
Definition: superlu_ddefs.h:385
Definition: superlu_ddefs.h:406
int_t * myNodeCount
Definition: superlu_ddefs.h:409
sForest_t ** sForests
Definition: superlu_ddefs.h:413
int_t * supernode2treeMap
Definition: superlu_ddefs.h:414
int_t * myZeroTrIdxs
Definition: superlu_ddefs.h:411
int_t ** treePerm
Definition: superlu_ddefs.h:412
dLUValSubBuf_t * LUvsb
Definition: superlu_ddefs.h:415
gEtreeInfo_t gEtreeInfo
Definition: superlu_ddefs.h:407
int_t * myTreeIdxs
Definition: superlu_ddefs.h:410
int_t * iperm_c_supno
Definition: superlu_ddefs.h:408
Definition: superlu_defs.h:937
Definition: superlu_defs.h:839
Definition: superlu_defs.h:890
Definition: superlu_defs.h:398
Definition: superlu_defs.h:388
Definition: superlu_ddefs.h:317
Definition: superlu_defs.h:947
Definition: superlu_ddefs.h:397
Definition: superlu_ddefs.h:263
void * val_torecv
Definition: superlu_ddefs.h:308
void * val_tosend
Definition: superlu_ddefs.h:307
Definition: superlu_defs.h:551
Definition: superlu_defs.h:901
Definition: superlu_defs.h:744
Definition: superlu_defs.h:712
Definition: superlu_defs.h:882
Definition: superlu_ddefs.h:308
#define MAX_LOOKAHEADS
Definition: superlu_ddefs.h:96
Definitions which are precision-neutral.