/[escript]/trunk-mpi-branch/paso/src/SystemMatrixPattern.h
ViewVC logotype

Contents of /trunk-mpi-branch/paso/src/SystemMatrixPattern.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1120 - (show annotations)
Tue May 1 01:17:46 2007 UTC (12 years, 5 months ago) by ksteube
File MIME type: text/plain
File size: 2848 byte(s)
MPI branch now runs simplesolve.py with both useMPI=yes and useMPI=no

1 /* $Id$ */
2
3 /*
4 ********************************************************************************
5 * Copyright 2006 by ACcESS MNRF *
6 * *
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 /**************************************************************/
15
16 /* Paso: system matrix pattern */
17
18 /**************************************************************/
19
20 /* Copyrights by ACcESS Australia 2004,2005 */
21 /* Author: gross@access.edu.au */
22
23 /**************************************************************/
24
25 #ifndef INC_PASO_SYSTEMMATRIXPATTERN
26 #define INC_PASO_SYSTEMMATRIXPATTERN
27
28 #include "Distribution.h"
29 #include "Common.h"
30 #include "Paso_MPI.h"
31 #include "finley/Distribution.h"
32
33 /**************************************************************/
34
35 #define PATTERN_FORMAT_DEFAULT 0
36 #define PATTERN_FORMAT_SYM 1
37 #define PATTERN_FORMAT_OFFSET1 2
38
39 typedef struct Paso_SystemMatrixPattern {
40 int type;
41 dim_t myNumOutput;
42 dim_t maxNumOutput;
43 index_t numOutput;
44 dim_t myNumInput;
45 dim_t maxNumInput;
46 index_t numInput;
47 index_t* ptr;
48 index_t* index;
49 dim_t numHops;
50 index_t *hop;
51 dim_t myLen;
52 dim_t reference_counter;
53 Paso_MPIInfo *mpi_info;
54 Paso_Distribution *output_distribution;
55 Paso_Distribution *input_distribution;
56
57 /* this will go */
58 Finley_NodeDistribution *output_node_distribution;
59 Finley_NodeDistribution *input_node_distribution;
60
61 } Paso_SystemMatrixPattern;
62
63
64 /* interfaces: */
65
66 Paso_SystemMatrixPattern* Paso_SystemMatrixPattern_alloc(int type, Paso_Distribution* ptr_distribution, Paso_Distribution* index_range_distribution, index_t* ptr, index_t* index, dim_t numHops, index_t *hop);
67 Paso_SystemMatrixPattern* Paso_SystemMatrixPattern_reference(Paso_SystemMatrixPattern*);
68 void Paso_SystemMatrixPattern_dealloc(Paso_SystemMatrixPattern*);
69 int Paso_comparIndex(const void *,const void *);
70 Paso_SystemMatrixPattern* Paso_SystemMatrixPattern_getSubpattern(Paso_SystemMatrixPattern*,dim_t,dim_t,index_t*,index_t*);
71 void Paso_SystemMatrixPattern_mis(Paso_SystemMatrixPattern* pattern_p, index_t* mis_marker);
72 Paso_SystemMatrixPattern* Paso_SystemMatrixPattern_unrollBlocks(Paso_SystemMatrixPattern*,int, dim_t,dim_t);
73 void Paso_SystemMatrixPattern_makeHops(int type, Paso_Distribution* distribution, index_t* ptr, index_t* index, dim_t* numHops, index_t **hop);
74
75 #endif /* #ifndef INC_PASO_SYSTEMPATTERN */

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26