/[escript]/trunk/paso/src/MKL.h
ViewVC logotype

Contents of /trunk/paso/src/MKL.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 425 - (show annotations)
Tue Jan 10 04:10:39 2006 UTC (13 years, 7 months ago) by gross
File MIME type: text/plain
File size: 1185 byte(s)
The sparse solver can be called by paso now. 

the building has been change to reduce some code redundancy:
now all scons SCscripts are importing scons/esys_options.py which
imports platform specific settings. 



1 /* $Id$ */
2
3 /**************************************************************/
4
5 /* Paso: SystemMatrix: interface to intel MKL sparse solver */
6
7 /**************************************************************/
8
9 /* Copyrights by ACcESS Australia 2006 */
10 /* Author: gross@access.edu.au */
11
12 /**************************************************************/
13
14 #ifndef INC_PASO_MKL
15 #define INC_PASO_MKL
16
17 #include "SystemMatrix.h"
18
19 # if defined(_WIN32) || defined(_WIN64)
20 #define PARDISO pardiso
21 #else
22 #define PARDISO pardiso_
23 #endif
24
25 #ifdef MKL
26 #include "mkl_solver.h"
27 #endif
28
29
30 #define MKL_ERROR_NO 0
31 #define MKL_MTYPE_SYM -2
32 #define MKL_MTYPE_UNSYM 11
33
34 #define MKL_REORDERING_MINIMUM_DEGREE 0
35 #define MKL_REORDERING_NESTED_DISSECTION 2
36 #define MKL_PHASE_SYMBOLIC_FACTORIZATION 11
37 #define MKL_PHASE_FACTORIZATION 22
38 #define MKL_PHASE_SOLVE 33
39 #define MKL_PHASE_RELEASE_MEMORY -1
40
41 /* extern int PARDISO
42 # (void *, int *, int *, int *, int *, int *,
43 # double *, int *, int *, int *, int *, int *,
44 # int *, double *, double *, int *);
45 */
46
47
48 void Paso_MKL_free(Paso_SystemMatrix* A);
49 void Paso_MKL(Paso_SystemMatrix* A, double* out, double* in, Paso_Options* options);
50 #endif

  ViewVC Help
Powered by ViewVC 1.1.26