SuperLU Distributed 9.0.0
gpu3d
superlu_upacked.h
Go to the documentation of this file.
1#pragma once
2
3#include "superlu_ddefs.h"
4#include "superlu_zdefs.h"
5#include "superlu_sdefs.h"
6
7int_t pdgstrf3d_v100(superlu_dist_options_t *options, int m, int n, double anorm,
8 dtrf3Dpartition_t *trf3Dpartition, SCT_t *SCT,
9 dLUstruct_t *LUstruct, gridinfo3d_t *grid3d,
10 SuperLUStat_t *stat, int *info);
11
12#ifdef __cplusplus
13extern "C"
14{
15#endif
16
17 // Left for backward compatibility
18 struct LUstruct_v100;
19 typedef struct LUstruct_v100 *LUgpu_Handle;
20
24 double thresh_, int *info_);
25
26 extern void destroyLUgpuHandle(LUgpu_Handle LuH);
27
29
30 extern int copyLUGPU2Host(LUgpu_Handle LuH, dLUstruct_t *LUstruct);
31
33
34 struct dLUstruct_v1;
35 typedef struct dLUstruct_v1 *dLUgpu_Handle;
36
37 dLUgpu_Handle dCreateLUgpuHandle(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_);
38
40
42
43 int dCopyLUGPU2Host(dLUgpu_Handle LuH, dLUstruct_t *LUstruct);
44
45 int pdgstrf3d_LUv1(dLUgpu_Handle LUHand);
46
47 // Forward declaration of structs
48 // Forward declarations
49// struct strf3Dpartition_t;
50// typedef struct strf3Dpartition_t strf3Dpartition_t;
51// struct sLUstruct_t;
52// typedef struct sLUstruct_t sLUstruct_t;
55struct cLUstruct_t;
56typedef struct cLUstruct_t cLUstruct_t;
57// struct ztrf3Dpartition_t;
58// typedef struct ztrf3Dpartition_t ztrf3Dpartition_t;
59// struct zLUstruct_t;
60// typedef struct zLUstruct_t zLUstruct_t;
61
62// Define the single precision real interface
63 struct sLUstruct_v1;
64 typedef struct sLUstruct_v1 *sLUgpu_Handle;
65
66 // extern sLUgpu_Handle sCreateLUgpuHandle(int_t nsupers, int_t ldt_,
67 // strf3Dpartition_t *trf3Dpartition,
68 // sLUstruct_t *LUstruct, gridinfo3d_t *grid3d,
69 // SCT_t *SCT_, superlu_dist_options_t *options_, SuperLUStat_t *stat,
70 // double thresh_, int *info_);
71 extern sLUgpu_Handle sCreateLUgpuHandle(int_t nsupers, int_t ldt_, strf3Dpartition_t *trf3Dpartition,
72 sLUstruct_t *LUstruct, gridinfo3d_t *grid3d,
73 SCT_t *SCT_, superlu_dist_options_t *options_, SuperLUStat_t *stat,
74 float thresh_, int *info_);
75
77
79
82
84
85 // struct cLUstruct_v1;
86 // typedef struct cLUstruct_v1 *cLUgpu_Handle;
87
88 // extern cLUgpu_Handle cCreateLUgpuHandle(int_t nsupers, int_t ldt_, ctrf3Dpartition_t *trf3Dpartition,
89 // cLUstruct_t *LUstruct, gridinfo3d_t *grid3d,
90 // SCT_t *SCT_, superlu_dist_options_t *options_, SuperLUStat_t *stat,
91 // float thresh_, int *info_);
92
93 // extern void cdestroyLUgpuHandle(cLUgpu_Handle LuH);
94
95 // extern int cgatherFactoredLU3Dto2D(cLUgpu_Handle LuH);
96
97 // extern int ccopyLUGPU2Host(cLUgpu_Handle LuH, cLUstruct_t *LUstruct);
98
99 // extern int pcgstrf3d_LUpackedInterface(cLUgpu_Handle LUHand);
100
101 struct zLUstruct_v1;
102 typedef struct zLUstruct_v1 *zLUgpu_Handle;
103
104 extern zLUgpu_Handle zCreateLUgpuHandle(int_t nsupers, int_t ldt_, ztrf3Dpartition_t *trf3Dpartition,
105 zLUstruct_t *LUstruct, gridinfo3d_t *grid3d,
106 SCT_t *SCT_, superlu_dist_options_t *options_, SuperLUStat_t *stat,
107 double thresh_, int *info_);
108
110
112
116
119
121
123 int_t nsupers, int_t ldt, dtrf3Dpartition_t *trf3Dpartition, dLUstruct_t *LUstruct,
124 gridinfo3d_t *grid3d, superlu_dist_options_t *options, SuperLUStat_t *stat, int *info
125 );
126
128 BatchFactorize_Handle ws, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d,
129 SCT_t *SCT_, superlu_dist_options_t *options, SuperLUStat_t *stat
130 );
131
133
134#ifdef __cplusplus
135}
136#endif
Definition: batch_factorize.h:63
int_t ldt
Definition: batch_factorize.h:77
int_t nsupers
Definition: batch_factorize.h:77
Definition: lupanels.hpp:330
SuperLUStat_t * stat
Definition: lupanels.hpp:351
int_t nsupers
Definition: lupanels.hpp:337
dtrf3Dpartition_t * trf3Dpartition
Definition: lupanels.hpp:355
gridinfo3d_t * grid3d
Definition: lupanels.hpp:333
Definition: util_dist.h:199
Definition: util_dist.h:101
Definition: superlu_ddefs.h:340
Definition: superlu_ddefs.h:318
Definition: superlu_defs.h:414
Definition: superlu_defs.h:989
Definition: superlu_sdefs.h:340
Definition: superlu_sdefs.h:318
Definition: superlu_defs.h:728
Definition: superlu_zdefs.h:340
Definition: superlu_zdefs.h:318
Distributed SuperLU data types and function prototypes.
int64_t int_t
Definition: superlu_defs.h:119
Distributed SuperLU data types and function prototypes.
struct sLUstruct_v1 * sLUgpu_Handle
Definition: superlu_upacked.h:64
int psgstrf3d_LUpackedInterface(sLUgpu_Handle LUHand)
struct BatchFactorizeWorkspace * BatchFactorize_Handle
Definition: superlu_upacked.h:118
struct cLUstruct_t cLUstruct_t
Definition: superlu_upacked.h:56
int dgatherFactoredLU3Dto2D(LUgpu_Handle LuH)
dLUgpu_Handle dCreateLUgpuHandle(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_)
Definition: LUgpuCHandle_interface_impl.cpp:12
struct zLUstruct_v1 * zLUgpu_Handle
Definition: superlu_upacked.h:102
int dCopyLUGPU2Host(dLUgpu_Handle LuH, dLUstruct_t *LUstruct)
Definition: LUgpuCHandle_interface_impl.cpp:49
int_t pdgstrf3d_v100(superlu_dist_options_t *options, int m, int n, double anorm, dtrf3Dpartition_t *trf3Dpartition, SCT_t *SCT, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d, SuperLUStat_t *stat, int *info)
int pzgstrf3d_LUpackedInterface(zLUgpu_Handle LUHand)
void destroyLUgpuHandle(LUgpu_Handle LuH)
Definition: LUgpuCHandle_interface.cpp:27
void dDestroyLUgpuHandle(dLUgpu_Handle LuH)
Definition: LUgpuCHandle_interface_impl.cpp:37
int copyLUGPU2Host(LUgpu_Handle LuH, dLUstruct_t *LUstruct)
Definition: LUgpuCHandle_interface.cpp:36
BatchFactorize_Handle getBatchFactorizeWorkspace(int_t nsupers, int_t ldt, dtrf3Dpartition_t *trf3Dpartition, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d, superlu_dist_options_t *options, SuperLUStat_t *stat, int *info)
void copyGPULUDataToHost(BatchFactorize_Handle ws, dLUstruct_t *LUstruct, gridinfo3d_t *grid3d, SCT_t *SCT_, superlu_dist_options_t *options, SuperLUStat_t *stat)
int scopyLUGPU2Host(sLUgpu_Handle LuH, sLUstruct_t *LUstruct)
int zgatherFactoredLU3Dto2D(zLUgpu_Handle LuH)
int pzgstrf3d_LUv1(zLUgpu_Handle LUHand)
void sdestroyLUgpuHandle(sLUgpu_Handle LuH)
zLUgpu_Handle zCreateLUgpuHandle(int_t nsupers, int_t ldt_, ztrf3Dpartition_t *trf3Dpartition, zLUstruct_t *LUstruct, gridinfo3d_t *grid3d, SCT_t *SCT_, superlu_dist_options_t *options_, SuperLUStat_t *stat, double thresh_, int *info_)
sLUgpu_Handle sCreateLUgpuHandle(int_t nsupers, int_t ldt_, strf3Dpartition_t *trf3Dpartition, sLUstruct_t *LUstruct, gridinfo3d_t *grid3d, SCT_t *SCT_, superlu_dist_options_t *options_, SuperLUStat_t *stat, float thresh_, int *info_)
int dsparseTreeFactorBatchGPU(BatchFactorize_Handle ws, sForest_t *sforest)
int pdgstrf3d_LUv1(dLUgpu_Handle LUHand)
Definition: LUgpuCHandle_interface_impl.cpp:69
void zdestroyLUgpuHandle(zLUgpu_Handle LuH)
LUgpu_Handle createLUgpuHandle(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_)
Definition: LUgpuCHandle_interface.cpp:8
struct ctrf3Dpartition_t ctrf3Dpartition_t
Definition: superlu_upacked.h:54
struct dLUstruct_v1 * dLUgpu_Handle
Definition: superlu_upacked.h:35
int dGatherFactoredLU3Dto2D(dLUgpu_Handle LuH)
struct LUstruct_v100 * LUgpu_Handle
Definition: superlu_upacked.h:19
int pdgstrf3d_LUpackedInterface(LUgpu_Handle LUHand)
Definition: LUgpuCHandle_interface.cpp:54
int psgstrf3d_LUv1(sLUgpu_Handle LUHand)
int sgatherFactoredLU3Dto2D(sLUgpu_Handle LuH)
void freeBatchFactorizeWorkspace(BatchFactorize_Handle ws)
int zcopyLUGPU2Host(zLUgpu_Handle LuH, zLUstruct_t *LUstruct)
Distributed SuperLU data types and function prototypes.