PLASMA
Parallel Linear Algebra Software for Multicore Architectures
Main Page
Routines
core_lapack.h
1
10
#ifndef ICL_CORE_LAPACK_H
11
#define ICL_CORE_LAPACK_H
12
13
14
15
#if defined(PLASMA_WITH_MKL)
16
#include <mkl_cblas.h>
17
#include <mkl_lapacke.h>
18
19
// MKL LAPACKE doesn't provide LAPACK_GLOBAL macro, so define it here.
20
// MKL provides all 3 name manglings (foo, foo_, FOO); pick foo_.
21
#ifndef LAPACK_GLOBAL
22
#define LAPACK_GLOBAL(lcname,UCNAME) lcname##_
23
#endif
24
#elif defined(PLASMA_WITH_ESSL)
25
// GCC + ESSL(BLAS) + LAPACKE/CBLAS from LAPACK
26
#include <cblas.h>
27
#include <lapacke.h>
28
#ifndef LAPACK_GLOBAL
29
#define LAPACK_GLOBAL(lcname,UCNAME) lcname##_
30
#endif
31
#else
32
#include <cblas.h>
33
#include <lapacke.h>
34
35
// Intel mkl_cblas.h does: typedef enum {...} CBLAS_ORDER;
36
// Netlib cblas.h does: enum CBLAS_ORDER {...};
37
// OpenBLAS cblas.h does: typedef enum CBLAS_ORDER {...} CBLAS_ORDER;
38
// We use (CBLAS_ORDER), so add these typedefs for Netlib.
39
#ifndef OPENBLAS_VERSION
40
typedef
enum
CBLAS_ORDER CBLAS_ORDER;
41
typedef
enum
CBLAS_TRANSPOSE CBLAS_TRANSPOSE;
42
typedef
enum
CBLAS_UPLO CBLAS_UPLO;
43
typedef
enum
CBLAS_DIAG CBLAS_DIAG;
44
typedef
enum
CBLAS_SIDE CBLAS_SIDE;
45
#endif
46
#endif
47
48
#include "core_lapack_s.h"
49
#include "core_lapack_d.h"
50
#include "core_lapack_c.h"
51
#include "core_lapack_z.h"
52
#endif // ICL_CORE_LAPACK_H
include
core_lapack.h
Generated by
1.8.10