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

Diff of /trunk/paso/src/Coupler.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1551 by gross, Mon Feb 4 06:45:48 2008 UTC revision 1552 by gross, Thu May 8 08:52:41 2008 UTC
# Line 29  Line 29 
29  #include "SharedComponents.h"  #include "SharedComponents.h"
30  /**************************************************************/  /**************************************************************/
31    
32    typedef struct Paso_Connector {
33    
34      Paso_SharedComponents* send;
35      Paso_SharedComponents* recv;
36      dim_t reference_counter;
37      Paso_MPIInfo *mpi_info;
38    
39    } Paso_Connector;
40  typedef struct Paso_Coupler {  typedef struct Paso_Coupler {
41    
42    dim_t block_size;    dim_t block_size;
43    
44    Paso_SharedComponents* send;    Paso_Connector* connector;
45    
46    double *send_buffer;    double *send_buffer;
   Paso_SharedComponents* recv;  
47    double *recv_buffer;    double *recv_buffer;
48    #ifdef PASO_MPI    #ifdef PASO_MPI
49      MPI_Request* mpi_requests;      MPI_Request* mpi_requests;
# Line 51  typedef struct Paso_Coupler { Line 59  typedef struct Paso_Coupler {
59  } Paso_Coupler;  } Paso_Coupler;
60    
61    
62  Paso_Coupler* Paso_Coupler_alloc(Paso_SharedComponents * send,  Paso_Connector* Paso_Connector_alloc(Paso_SharedComponents * send, Paso_SharedComponents* recv);
63                                   Paso_SharedComponents* recv);  Paso_Connector* Paso_Connector_getReference(Paso_Connector*);
64    Paso_Connector* Paso_Connector_unroll(Paso_Connector* in, index_t block_size);
65    Paso_Connector* Paso_Connector_copy(Paso_Connector* in);
66    void Paso_Connector_free(Paso_Connector*);
67    
68    Paso_Coupler* Paso_Coupler_alloc(Paso_Connector*, dim_t blockSize);
69  Paso_Coupler* Paso_Coupler_getReference(Paso_Coupler*);  Paso_Coupler* Paso_Coupler_getReference(Paso_Coupler*);
 void Paso_Coupler_free(Paso_Coupler*);  
70  void Paso_Coupler_startCollect(Paso_Coupler* self,const double* in);  void Paso_Coupler_startCollect(Paso_Coupler* self,const double* in);
71  double* Paso_Coupler_finishCollect(Paso_Coupler* self);  double* Paso_Coupler_finishCollect(Paso_Coupler* self);
72  void Paso_Coupler_freeBuffer(Paso_Coupler* coupler);  void Paso_Coupler_free(Paso_Coupler* in);
 void Paso_Coupler_allocBuffer(Paso_Coupler* coupler,dim_t blockSize);  
 Paso_Coupler* Paso_Coupler_unroll(Paso_Coupler* in, index_t block_size);  
 bool_t Paso_Coupler_bufferIsAllocated(Paso_Coupler* coupler);  
73    
74  #endif  #endif

Legend:
Removed from v.1551  
changed lines
  Added in v.1552

  ViewVC Help
Powered by ViewVC 1.1.26