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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 633 - (hide annotations)
Thu Mar 23 05:37:00 2006 UTC (14 years ago) by dhawcroft
File MIME type: text/plain
File size: 1876 byte(s)


1 gross 425 /* $Id$ */
2    
3 dhawcroft 631 /*
4     ********************************************************************************
5 dhawcroft 633 * Copyright 2006 by ACcESS MNRF *
6 dhawcroft 631 * *
7     * http://www.access.edu.au *
8     * Primary Business: Queensland, Australia *
9     * Licensed under the Open Software License version 3.0 *
10     * http://www.opensource.org/licenses/osl-3.0.php *
11     ********************************************************************************
12     */
13    
14 gross 425 /**************************************************************/
15    
16     /* Paso: SystemMatrix: interface to intel MKL sparse solver */
17    
18     /**************************************************************/
19    
20     /* Copyrights by ACcESS Australia 2006 */
21     /* Author: gross@access.edu.au */
22    
23     /**************************************************************/
24    
25     #ifndef INC_PASO_MKL
26     #define INC_PASO_MKL
27    
28     #include "SystemMatrix.h"
29 gross 584 #include "performance.h"
30 gross 425
31     # if defined(_WIN32) || defined(_WIN64)
32     #define PARDISO pardiso
33     #else
34     #define PARDISO pardiso_
35     #endif
36    
37     #ifdef MKL
38     #include "mkl_solver.h"
39     #endif
40    
41    
42     #define MKL_ERROR_NO 0
43     #define MKL_MTYPE_SYM -2
44     #define MKL_MTYPE_UNSYM 11
45    
46     #define MKL_REORDERING_MINIMUM_DEGREE 0
47     #define MKL_REORDERING_NESTED_DISSECTION 2
48     #define MKL_PHASE_SYMBOLIC_FACTORIZATION 11
49     #define MKL_PHASE_FACTORIZATION 22
50     #define MKL_PHASE_SOLVE 33
51     #define MKL_PHASE_RELEASE_MEMORY -1
52    
53     /* extern int PARDISO
54     # (void *, int *, int *, int *, int *, int *,
55     # double *, int *, int *, int *, int *, int *,
56     # int *, double *, double *, int *);
57     */
58    
59    
60     void Paso_MKL_free(Paso_SystemMatrix* A);
61 gross 584 void Paso_MKL(Paso_SystemMatrix* A, double* out, double* in, Paso_Options* options,Paso_Performance* pp);
62 gross 425 #endif

  ViewVC Help
Powered by ViewVC 1.1.26