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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 751 - (show annotations)
Mon Jun 26 01:46:34 2006 UTC (12 years, 10 months ago) by bcumming
File MIME type: text/plain
File size: 731 byte(s)
Changes relating to the MPI version of escript
The standard OpenMP version of escript is unchanged

- updated data types (Finley_Mesh, Finley_NodeFile, etc) to store meshes
  over multiple MPI processes.
- added CommBuffer code in Paso for communication of Data associated
  with distributed meshes
- updates in Finley and Escript to support distributed data and operations
  on distributed data (such as interpolation).
- construction of RHS in MPI, so that simple explicit schemes (such as
  /docs/examples/wave.py without IO and the Locator) can run in MPI.
- updated mesh generation for first order line, rectangle and brick
  meshes and second order line meshes in MPI.        
- small changes to trunk/SConstruct and trunk/scons/ess_options.py to
  build the MPI version, these changes are turned off by default.

1 #ifndef INC_MPI
2 #define INC_MPI
3
4 #include "mpi_C.h"
5 #include "Common.h"
6
7 #define PASO_MPI_TODO { fprintf( stdout, "\nTODO : %s:%d\n", __FILE__, __LINE__); MPI_Finalize(); exit(1); }
8 #define PASO_INFO_ERRORMSG( err, msg ) { char _msg__[256]; sprintf( _msg__, "%s : %s:%d\n", msg, __FILE__, __LINE__ ); Paso_setError( err, _msg__ ); }
9
10 /* Datatypes */
11 struct Paso_MPIInfo{
12 dim_t reference_counter;
13 int size;
14 int rank;
15 MPI_Comm comm;
16 };
17
18 typedef struct Paso_MPIInfo Paso_MPIInfo;
19
20 /* Function prototypes */
21 Paso_MPIInfo* Paso_MPIInfo_alloc( MPI_Comm comm );
22 void Paso_MPIInfo_dealloc( Paso_MPIInfo* );
23 Paso_MPIInfo *Paso_MPIInfo_getReference( Paso_MPIInfo* in );
24 int Paso_MPI_initialized( void );
25
26 #endif

  ViewVC Help
Powered by ViewVC 1.1.26