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

Annotation of /temp/paso/src/Paso_MPI.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 751 - (hide annotations)
Mon Jun 26 01:46:34 2006 UTC (13 years ago) by bcumming
Original Path: trunk/paso/src/Paso_MPI.h
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 bcumming 731 #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 bcumming 751 #define PASO_INFO_ERRORMSG( err, msg ) { char _msg__[256]; sprintf( _msg__, "%s : %s:%d\n", msg, __FILE__, __LINE__ ); Paso_setError( err, _msg__ ); }
9 bcumming 731
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