PLASMA 2.3.1

/home/mathieu/ICL/Plasma/svn/trunk/tools/plasma_2.4.0/control/tile.h

00001 
00014 #ifndef _PLASMA_TILE_H_
00015 #define _PLASMA_TILE_H_
00016 
00017 #if defined( _WIN32 ) || defined( _WIN64 )
00018 typedef __int64 int64_t;
00019 #else
00020 #include <inttypes.h>
00021 #endif
00022 
00023 #define ELTADDR(A, type, m, n)  (type *)plasma_geteltaddr(A, m, n)
00024 #define ELTLDD(A, k) ( ( (((k)-1)/(A).mb) + (A).i/(A).mb) < (A).lm1 ? (A).mb : (A).lm%(A).mb )
00025 #define BLKADDR(A, type, m, n)  (type *)plasma_getaddr(A, m, n)
00026 #define BLKLDD(A, k) ( ( (k) + (A).i/(A).mb) < (A).lm1 ? (A).mb : (A).lm%(A).mb )
00027 
00028 #ifdef __cplusplus
00029 extern "C" {
00030 #endif
00031 
00032 /***************************************************************************/
00035 void plasma_pztile_to_lapack(plasma_context_t *plasma);
00036 void plasma_pctile_to_lapack(plasma_context_t *plasma);
00037 void plasma_pdtile_to_lapack(plasma_context_t *plasma);
00038 void plasma_pstile_to_lapack(plasma_context_t *plasma);
00039 void plasma_pzlapack_to_tile(plasma_context_t *plasma);
00040 void plasma_pclapack_to_tile(plasma_context_t *plasma);
00041 void plasma_pdlapack_to_tile(plasma_context_t *plasma);
00042 void plasma_pslapack_to_tile(plasma_context_t *plasma);
00043 void plasma_pztile_zero(plasma_context_t *plasma);
00044 void plasma_pctile_zero(plasma_context_t *plasma);
00045 void plasma_pdtile_zero(plasma_context_t *plasma);
00046 void plasma_pstile_zero(plasma_context_t *plasma);
00047 
00048 /***************************************************************************/
00051 void plasma_pztile_to_lapack_quark(PLASMA_desc, PLASMA_Complex64_t*, int, PLASMA_sequence *sequence, PLASMA_request *request);
00052 void plasma_pctile_to_lapack_quark(PLASMA_desc, PLASMA_Complex32_t*, int, PLASMA_sequence *sequence, PLASMA_request *request);
00053 void plasma_pdtile_to_lapack_quark(PLASMA_desc, double*, int, PLASMA_sequence *sequence, PLASMA_request *request);
00054 void plasma_pstile_to_lapack_quark(PLASMA_desc, float*, int, PLASMA_sequence *sequence, PLASMA_request *request);
00055 void plasma_pzlapack_to_tile_quark(PLASMA_Complex64_t*, int, PLASMA_desc, PLASMA_sequence *sequence, PLASMA_request *request);
00056 void plasma_pclapack_to_tile_quark(PLASMA_Complex32_t*, int, PLASMA_desc, PLASMA_sequence *sequence, PLASMA_request *request);
00057 void plasma_pdlapack_to_tile_quark(double*, int, PLASMA_desc, PLASMA_sequence *sequence, PLASMA_request *request);
00058 void plasma_pslapack_to_tile_quark(float*, int, PLASMA_desc, PLASMA_sequence *sequence, PLASMA_request *request);
00059 void plasma_pztile_zero_quark(PLASMA_desc, PLASMA_sequence *sequence, PLASMA_request *request);
00060 void plasma_pctile_zero_quark(PLASMA_desc, PLASMA_sequence *sequence, PLASMA_request *request);
00061 void plasma_pdtile_zero_quark(PLASMA_desc, PLASMA_sequence *sequence, PLASMA_request *request);
00062 void plasma_pstile_zero_quark(PLASMA_desc, PLASMA_sequence *sequence, PLASMA_request *request);
00063 
00064 #ifdef __cplusplus
00065 }
00066 #endif
00067 
00068 #endif
 All Data Structures