PLASMA  2.8.0
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
plasma.h
1 
14 #ifndef _PLASMA_H_
15 #define _PLASMA_H_
16 
17 #include <quark.h>
18 #include "plasmatypes.h"
19 #include "descriptor.h"
20 
24 typedef struct plasma_request_t {
25  PLASMA_enum status;
27 
28 #define PLASMA_REQUEST_INITIALIZER {PLASMA_SUCCESS}
29 
34 typedef struct plasma_sequence_t {
35  Quark_Sequence *quark_sequence;
36  PLASMA_bool status;
39 
40 #define plasma_const_neg(const) (((const-1)^0x01)+1)
41 
45 #define PLASMA_FALSE 0
46 #define PLASMA_TRUE 1
47 
51 #define PLASMA_WARNINGS 1
52 #define PLASMA_ERRORS 2
53 #define PLASMA_AUTOTUNING 3
54 #define PLASMA_DAG 4
55 
59 #define PLASMA_CONCURRENCY 1
60 #define PLASMA_TILE_SIZE 2
61 #define PLASMA_INNER_BLOCK_SIZE 3
62 #define PLASMA_SCHEDULING_MODE 4
63 #define PLASMA_HOUSEHOLDER_MODE 5
64 #define PLASMA_HOUSEHOLDER_SIZE 6
65 #define PLASMA_TRANSLATION_MODE 7
66 #define PLASMA_TNTPIVOTING_MODE 8
67 #define PLASMA_TNTPIVOTING_SIZE 9
68 #define PLASMA_EV_WSMODE 10
69 #define PLASMA_EV_TASKNB 11
70 #define PLASMA_EV_SMLSZE 12
71 
72 #define PLASMA_STATIC_SCHEDULING 1
73 #define PLASMA_DYNAMIC_SCHEDULING 2
74 
75 #define PLASMA_FLAT_HOUSEHOLDER 1
76 #define PLASMA_TREE_HOUSEHOLDER 2
77 
78 #define PLASMA_TOURNAMENT_LU 1
79 #define PLASMA_TOURNAMENT_QR 2
80 
81 #define PLASMA_INPLACE 1
82 #define PLASMA_OUTOFPLACE 2
83 
87 #include <plasma_z.h>
88 #include <plasma_d.h>
89 #include <plasma_c.h>
90 #include <plasma_s.h>
91 #include <plasma_zc.h>
92 #include <plasma_ds.h>
93 
94 #ifdef __cplusplus
95 extern "C" {
96 #endif
97 
101 int PLASMA_Version(int *ver_major, int *ver_minor, int *ver_micro);
102 int PLASMA_Enable(PLASMA_enum lever);
103 int PLASMA_Disable(PLASMA_enum lever);
104 int PLASMA_Set(PLASMA_enum param, int value);
105 int PLASMA_Get(PLASMA_enum param, int *value);
106 int PLASMA_Init(int cores);
107 int PLASMA_Init_Affinity(int cores, int *bindtab);
108 int PLASMA_Finalize();
109 int PLASMA_Desc_Create(PLASMA_desc **desc, void *mat, PLASMA_enum dtyp, int mb, int nb, int bsiz, int lm, int ln, int i, int j, int m, int n);
110 int PLASMA_Desc_Destroy(PLASMA_desc **desc);
111 int PLASMA_Lapack_to_Tile(void *Af77, int LDA, PLASMA_desc *A);
112 int PLASMA_Tile_to_Lapack(PLASMA_desc *A, void *Af77, int LDA);
113 
117 int PLASMA_Get_Quark(Quark **);
119 int PLASMA_Dynamic_Hold();
120 
124 int PLASMA_Dealloc_Handle(void **handle);
126 
133 int PLASMA_Sequence_Flush(PLASMA_sequence *sequence, PLASMA_request *request);
134 
135 #ifdef __cplusplus
136 }
137 #endif
138 
139 #endif
int PLASMA_Desc_Create(PLASMA_desc **desc, void *mat, PLASMA_enum dtyp, int mb, int nb, int bsiz, int lm, int ln, int i, int j, int m, int n)
Definition: descriptor.c:151
Quark_Sequence * quark_sequence
Definition: plasma.h:35
int PLASMA_Enable(PLASMA_enum lever)
Definition: context.c:178
int PLASMA_Dynamic_Spawn()
Definition: context.c:573
PLASMA_enum status
Definition: plasma.h:25
int PLASMA_Finalize()
Definition: control.c:320
int PLASMA_Init_Affinity(int cores, int *bindtab)
Definition: control.c:203
int PLASMA_Lapack_to_Tile(void *Af77, int LDA, PLASMA_desc *A)
Definition: tile.c:41
int PLASMA_Get(PLASMA_enum param, int *value)
Definition: context.c:471
int PLASMA_Sequence_Destroy(PLASMA_sequence *sequence)
Definition: async.c:124
int PLASMA_Sequence_Flush(PLASMA_sequence *sequence, PLASMA_request *request)
Definition: async.c:197
int PLASMA_Set(PLASMA_enum param, int value)
Definition: context.c:306
PLASMA_bool status
Definition: plasma.h:36
int PLASMA_Sequence_Create(PLASMA_sequence **sequence)
Definition: async.c:93
int PLASMA_Version(int *ver_major, int *ver_minor, int *ver_micro)
Definition: auxiliary.c:286
Definition: plasma.h:34
PLASMA_request * request
Definition: plasma.h:37
int PLASMA_Init(int cores)
Definition: control.c:172
int PLASMA_Dynamic_Hold()
Definition: context.c:609
int PLASMA_Sequence_Wait(PLASMA_sequence *sequence)
Definition: async.c:159
Definition: plasma.h:24
int PLASMA_Disable(PLASMA_enum lever)
Definition: context.c:233
int PLASMA_Tile_to_Lapack(PLASMA_desc *A, void *Af77, int LDA)
Definition: tile.c:106
int PLASMA_Dealloc_Handle(void **handle)
Definition: workspace.c:194
int PLASMA_Desc_Destroy(PLASMA_desc **desc)
Definition: descriptor.c:195
Definition: descriptor.h:41
int PLASMA_Dealloc_Handle_Tile(PLASMA_desc **desc)
Definition: workspace.c:229
int PLASMA_Get_Quark(Quark **)
Definition: context.c:541