00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef INC_PASO_MKL
00027 #define INC_PASO_MKL
00028
00029 #include "SystemMatrix.h"
00030 #include "performance.h"
00031
00032 # if defined(_WIN32) || defined(_WIN64)
00033 #define PARDISO pardiso
00034 #else
00035 #define PARDISO pardiso_
00036 #endif
00037
00038 #ifdef MKL
00039 #include "mkl_pardiso.h"
00040 #endif
00041
00042
00043 #define MKL_ERROR_NO 0
00044 #define MKL_MTYPE_SYM -2
00045 #define MKL_MTYPE_UNSYM 11
00046
00047 #define MKL_REORDERING_MINIMUM_DEGREE 0
00048 #define MKL_REORDERING_NESTED_DISSECTION 2
00049 #define MKL_PHASE_SYMBOLIC_FACTORIZATION 11
00050 #define MKL_PHASE_FACTORIZATION 22
00051 #define MKL_PHASE_SOLVE 33
00052 #define MKL_PHASE_RELEASE_MEMORY -1
00053
00054
00055
00056
00057
00058
00059
00060
00061 void Paso_MKL_free(Paso_SystemMatrix* A);
00062 void Paso_MKL(Paso_SystemMatrix* A, double* out, double* in, Paso_Options* options,Paso_Performance* pp);
00063
00064 void Paso_MKL_free1(Paso_SparseMatrix* A);
00065 void Paso_MKL1(Paso_SparseMatrix* A, double* out, double* in, bool_t verbose);
00066 #endif