MAGMA
1.2.0
MatrixAlgebraonGPUandMulticoreArchitectures
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
magma_morse.h
Go to the documentation of this file.
1
17
/***************************************************************************/
20
#ifndef _MAGMA_MORSE_H_
21
#define _MAGMA_MORSE_H_
22
23
#if defined(MORSE_USE_CUDA)
24
#include <magma.h>
25
#endif
26
#include <plasma.h>
27
28
typedef
int
MAGMA_enum
;
29
typedef
int
MAGMA_bool
;
30
31
#if !defined(__STARPU_DATA_H__)
32
struct
starpu_data_state_t;
33
typedef
struct
starpu_data_state_t *
starpu_data_handle
;
34
#endif
35
36
typedef
struct
magma_desc_s
{
37
PLASMA_desc
desc
;
38
int
occurences
;
39
union
{
40
starpu_data_handle
*
starpu_handles
;
41
}
schedopt
;
42
}
magma_desc_t
;
43
44
struct
magma_context_s
;
45
typedef
struct
magma_context_s
magma_context_t
;
46
50
typedef
struct
magma_request_s
{
51
MAGMA_enum
status
;
// MAGMA_SUCCESS or appropriate error code
52
}
magma_request_t
;
53
54
#define MAGMA_REQUEST_INITIALIZER {MAGMA_SUCCESS}
55
61
typedef
struct
magma_sequence_s
{
62
MAGMA_bool
status
;
/* MAGMA_SUCCESS or appropriate error code */
63
magma_request_t
*
request
;
/* failed request */
64
union
{
65
Quark_Sequence
*
quark_sequence
;
/* QUARK sequence associated with MAGMA sequence */
66
}
schedopt
;
67
}
magma_sequence_t
;
68
69
#include "
morse.h
"
70
74
#define MAGMA_FALSE 0
75
#define MAGMA_TRUE 1
76
77
#define MAGMA_CPU ((1ULL)<<1)
78
#define MAGMA_CUDA ((1ULL)<<3)
79
83
#define MAGMA_WARNINGS 1
84
#define MAGMA_ERRORS 2
85
#define MAGMA_AUTOTUNING 3
86
#define MAGMA_PROFILING_MODE 4
87
#define MAGMA_PARALLEL_MODE 5
88
92
#define MAGMA_CONCURRENCY 1
93
#define MAGMA_TILE_SIZE 2
94
#define MAGMA_INNER_BLOCK_SIZE 3
95
#define MAGMA_HOUSEHOLDER_MODE 5
96
#define MAGMA_HOUSEHOLDER_SIZE 6
97
#define MAGMA_TRANSLATION_MODE 7
98
99
#define MAGMA_FLAT_HOUSEHOLDER 1
100
#define MAGMA_TREE_HOUSEHOLDER 2
101
102
#define MAGMA_INPLACE 1
103
#define MAGMA_OUTOFPLACE 2
104
108
#define MAGMA_SUCCESS 0
109
#define MAGMA_ERR_NOT_INITIALIZED -101
110
#define MAGMA_ERR_REINITIALIZED -102
111
#define MAGMA_ERR_NOT_SUPPORTED -103
112
#define MAGMA_ERR_ILLEGAL_VALUE -104
113
#define MAGMA_ERR_NOT_FOUND -105
114
#define MAGMA_ERR_OUT_OF_RESOURCES -106
115
#define MAGMA_ERR_INTERNAL_LIMIT -107
116
#define MAGMA_ERR_UNALLOCATED -108
117
#define MAGMA_ERR_FILESYSTEM -109
118
#define MAGMA_ERR_UNEXPECTED -110
119
#define MAGMA_ERR_SEQUENCE_FLUSHED -111
120
121
int
MAGMA_Init
(
int
nworkers,
int
ncudas);
122
int
MAGMA_InitPar
(
int
nworkers,
int
ncudas,
int
nthreads_per_worker);
123
int
MAGMA_Finalize
(
void
);
124
125
/* Descriptor */
126
int
MAGMA_Desc_Create
(
magma_desc_t
**desc,
void
*mat,
MAGMA_enum
dtyp,
127
int
mb,
int
nb,
int
bsiz,
int
lm,
int
ln,
128
int
i,
int
j,
int
m,
int
n);
129
int
MAGMA_Desc_Destroy
(
magma_desc_t
**desc);
130
int
MAGMA_Desc_acquire
(
magma_desc_t
*desc);
131
int
MAGMA_Desc_release
(
magma_desc_t
*desc);
132
133
/*int MAGMA_Dealloc_Handle_Tile(magma_desc_t **desc);*/
134
135
int
MAGMA_Enable
(
MAGMA_enum
option);
136
int
MAGMA_Disable
(
MAGMA_enum
option);
137
int
MAGMA_Set
(
MAGMA_enum
param,
int
value);
138
int
MAGMA_Get
(
MAGMA_enum
param,
int
*value);
139
140
/*void MAGMA_profile_display(void);*/
141
142
#include "
magma_morse_z.h
"
143
#include "magma_morse_c.h"
144
#include "magma_morse_d.h"
145
#include "magma_morse_s.h"
146
147
#endif
/* __MAGMA_MORSE_H__ */
magma-1.2.0
multi-gpu-dynamic
include
magma_morse.h
Generated on Mon May 21 2012 16:42:21 for MAGMA by
1.8.1