📄 mpicxx.h.in
字号:
{ Prequest v7; MPIX_CALL( MPI_Bsend_init( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7.the_real_request) )); return v7; } virtual Prequest Ssend_init( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const { Prequest v7; MPIX_CALL( MPI_Ssend_init( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7.the_real_request) )); return v7; } virtual bool Is_inter( void ) const { int v2; MPIX_CALL( MPI_Comm_test_inter( (MPI_Comm) the_real_comm, &v2 )); return v2!= 0; } virtual Prequest Rsend_init( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const { Prequest v7; MPIX_CALL( MPI_Rsend_init( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7.the_real_request) )); return v7; } virtual Request Ibsend( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const { Request v7; MPIX_CALL( MPI_Ibsend( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7.the_real_request) )); return v7; } virtual void Abort( int v2 ) const { MPIX_CALL( MPI_Abort( (MPI_Comm) the_real_comm, v2 )); } virtual void Free( void ) { MPIX_CALL( MPI_Comm_free( (MPI_Comm *) &the_real_comm )); } virtual Prequest Send_init( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const { Prequest v7; MPIX_CALL( MPI_Send_init( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7.the_real_request) )); return v7; } virtual void Recv( void* v1, int v2, const Datatype &v3, int v4, int v5, Status & v7 ) const { MPIX_CALL( MPI_Recv( v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, (MPI_Status *)&(v7.the_real_status ) )); } virtual void Recv( void* v1, int v2, const Datatype &v3, int v4, int v5 ) const { MPIX_CALL( MPI_Recv( v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, MPI_STATUS_IGNORE )); } virtual void Sendrecv( const void * v1, int v2, const Datatype &v3, int v4, int v5, void * v6, int v7, const Datatype &v8, int v9, int v10, Status & v12 ) const { MPIX_CALL( MPI_Sendrecv( (void *)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, v6, v7, (MPI_Datatype)(v8.the_real_datatype), v9, v10, (MPI_Comm) the_real_comm, (MPI_Status *)&(v12.the_real_status ) )); } virtual void Sendrecv( const void * v1, int v2, const Datatype &v3, int v4, int v5, void * v6, int v7, const Datatype &v8, int v9, int v10 ) const { MPIX_CALL( MPI_Sendrecv( (void *)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, v6, v7, (MPI_Datatype)(v8.the_real_datatype), v9, v10, (MPI_Comm) the_real_comm, MPI_STATUS_IGNORE )); } virtual void Sendrecv_replace( void* v1, int v2, const Datatype &v3, int v4, int v5, int v6, int v7, Status & v9 ) const { MPIX_CALL( MPI_Sendrecv_replace( v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, v6, v7, (MPI_Comm) the_real_comm, (MPI_Status *)&(v9.the_real_status ) )); } virtual void Sendrecv_replace( void* v1, int v2, const Datatype &v3, int v4, int v5, int v6, int v7 ) const { MPIX_CALL( MPI_Sendrecv_replace( v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, v6, v7, (MPI_Comm) the_real_comm, MPI_STATUS_IGNORE )); } virtual int Get_topology( void ) const { int v2; MPIX_CALL( MPI_Topo_test( (MPI_Comm) the_real_comm, &v2 )); return v2; } virtual Request Isend( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const { Request v7; MPIX_CALL( MPI_Isend( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7.the_real_request) )); return v7; } virtual void Probe( int v1, int v2, Status & v4 ) const { MPIX_CALL( MPI_Probe( v1, v2, (MPI_Comm) the_real_comm, (MPI_Status *)&(v4.the_real_status ) )); } virtual void Probe( int v1, int v2 ) const { MPIX_CALL( MPI_Probe( v1, v2, (MPI_Comm) the_real_comm, MPI_STATUS_IGNORE )); } static int Compare( const Comm &v1, const Comm &v2 ) { int v3; MPIX_CALL( MPI_Comm_compare( (MPI_Comm)(v1.the_real_comm), (MPI_Comm)(v2.the_real_comm), &v3 )); return v3; } virtual int Get_size( void ) const { int v2; MPIX_CALL( MPI_Comm_size( (MPI_Comm) the_real_comm, &v2 )); return v2; } virtual Request Issend( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const { Request v7; MPIX_CALL( MPI_Issend( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7.the_real_request) )); return v7; } virtual void Set_errhandler( const Errhandler &v2 ) { MPIX_CALL( MPI_Comm_set_errhandler( (MPI_Comm) the_real_comm, (MPI_Errhandler)(v2.the_real_errhandler) )); } virtual void Send( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const { MPIX_CALL( MPI_Send( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm )); } virtual Request Irsend( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const { Request v7; MPIX_CALL( MPI_Irsend( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7.the_real_request) )); return v7; } virtual void Ssend( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const { MPIX_CALL( MPI_Ssend( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm )); } virtual Prequest Recv_init( void* v1, int v2, const Datatype &v3, int v4, int v5 ) const { Prequest v7; MPIX_CALL( MPI_Recv_init( v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7.the_real_request) )); return v7; } virtual bool Iprobe( int v1, int v2, Status & v5 ) const { int v4; MPIX_CALL( MPI_Iprobe( v1, v2, (MPI_Comm) the_real_comm, &v4, (MPI_Status *)&(v5.the_real_status ) )); return v4!= 0; } virtual bool Iprobe( int v1, int v2 ) const { int v4; MPIX_CALL( MPI_Iprobe( v1, v2, (MPI_Comm) the_real_comm, &v4, MPI_STATUS_IGNORE )); return v4!= 0; } virtual void Bsend( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const { MPIX_CALL( MPI_Bsend( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm )); } virtual Request Irecv( void* v1, int v2, const Datatype &v3, int v4, int v5 ) const { Request v7; MPIX_CALL( MPI_Irecv( v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7.the_real_request) )); return v7; } virtual Errhandler Get_errhandler( void ) const { Errhandler v2; MPIX_CALL( MPI_Comm_get_errhandler( (MPI_Comm) the_real_comm, &(v2.the_real_errhandler) )); return v2; } virtual void Rsend( const void* v1, int v2, const Datatype &v3, int v4, int v5 ) const { MPIX_CALL( MPI_Rsend( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Comm) the_real_comm )); } virtual void Gatherv( const void* v1, int v2, const Datatype &v3, void* v4, const int * v5, const int * v6, const Datatype &v7, int v8 ) const { MPIX_CALL( MPI_Gatherv( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, (int *)v5, (int *)v6, (MPI_Datatype)(v7.the_real_datatype), v8, (MPI_Comm) the_real_comm )); } virtual void Disconnect( void ) { MPIX_CALL( MPI_Comm_disconnect( (MPI_Comm *) &the_real_comm )); } virtual void Allreduce( const void* v1, void* v2, int v3, const Datatype &v4, const Op &v5 ) const { MPIX_CALL( MPI_Allreduce( (void*)v1, v2, v3, (MPI_Datatype)(v4.the_real_datatype), (MPI_Op)(v5.the_real_op), (MPI_Comm) the_real_comm )); } virtual void Alltoallw( const void * v1, const int v2[], const int v3[], const Datatype v4[], void * v5, const int v6[], const int v7[], const Datatype v8[] ) const { MPI_Datatype *l4 = new MPI_Datatype[Get_size()]; MPI_Datatype *l8 = new MPI_Datatype[Get_size()]; { int i4; for (i4=0;i4<Get_size();i4++) { l4[i4] = v4[i4].the_real_datatype; } } { int i8; for (i8=0;i8<Get_size();i8++) { l8[i8] = v8[i8].the_real_datatype; } } MPIX_CALL( MPI_Alltoallw( (void *)v1, (int *)v2, (int *)v3, l4, v5, (int *)v6, (int *)v7, l8, (MPI_Comm) the_real_comm )); delete[] l4; delete[] l8; } static Intercomm Join( const int v1 ) ; virtual void Alltoall( const void* v1, int v2, const Datatype &v3, void* v4, int v5, const Datatype &v6 ) const { MPIX_CALL( MPI_Alltoall( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Datatype)(v6.the_real_datatype), (MPI_Comm) the_real_comm )); } virtual bool Get_attr( int v2, void * v3 ) const { int v4; MPIX_CALL( MPI_Comm_get_attr( (MPI_Comm) the_real_comm, v2, v3, &v4 )); return v4!= 0; } virtual void Barrier( void ) const { MPIX_CALL( MPI_Barrier( (MPI_Comm) the_real_comm )); } virtual void Bcast( void* v1, int v2, const Datatype &v3, int v4 ) const { MPIX_CALL( MPI_Bcast( v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, (MPI_Comm) the_real_comm )); } virtual void Set_attr( int v2, const void * v3 ) { MPIX_CALL( MPI_Comm_set_attr( (MPI_Comm) the_real_comm, v2, (void *)v3 )); } virtual void Set_name( const char * v2 ) { MPIX_CALL( MPI_Comm_set_name( (MPI_Comm) the_real_comm, (char *)v2 )); } static Intercomm Get_parent( void ) ; virtual void Alltoallv( const void* v1, const int * v2, const int * v3, const Datatype &v4, void* v5, const int * v6, const int * v7, const Datatype &v8 ) const { MPIX_CALL( MPI_Alltoallv( (void*)v1, (int *)v2, (int *)v3, (MPI_Datatype)(v4.the_real_datatype), v5, (int *)v6, (int *)v7, (MPI_Datatype)(v8.the_real_datatype), (MPI_Comm) the_real_comm )); } virtual void Reduce_scatter( const void* v1, void* v2, int * v3, const Datatype &v4, const Op &v5 ) const { MPIX_CALL( MPI_Reduce_scatter( (void*)v1, v2, v3, (MPI_Datatype)(v4.the_real_datatype), (MPI_Op)(v5.the_real_op), (MPI_Comm) the_real_comm )); } virtual void Scatter( const void* v1, int v2, const Datatype &v3, void* v4, int v5, const Datatype &v6, int v7 ) const { MPIX_CALL( MPI_Scatter( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Datatype)(v6.the_real_datatype), v7, (MPI_Comm) the_real_comm )); } virtual void Call_errhandler( int v2 ) const { MPIX_CALL( MPI_Comm_call_errhandler( (MPI_Comm) the_real_comm, v2 )); } virtual void Gather( const void* v1, int v2, const Datatype &v3, void* v4, int v5, const Datatype &v6, int v7 ) const { MPIX_CALL( MPI_Gather( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Datatype)(v6.the_real_datatype), v7, (MPI_Comm) the_real_comm )); } static void Free_keyval( int &v1 ) { MPIX_CALL( MPI_Comm_free_keyval( &v1 )); } virtual void Reduce( const void* v1, void* v2, int v3, const Datatype &v4, const Op &v5, int v6 ) const { MPIX_CALL( MPI_Reduce( (void*)v1, v2, v3, (MPI_Datatype)(v4.the_real_datatype), (MPI_Op)(v5.the_real_op), v6, (MPI_Comm) the_real_comm )); } virtual void Allgather( const void* v1, int v2, const Datatype &v3, void* v4, int v5, const Datatype &v6 ) const { MPIX_CALL( MPI_Allgather( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, v5, (MPI_Datatype)(v6.the_real_datatype), (MPI_Comm) the_real_comm )); } virtual void Delete_attr( int v2 ) { MPIX_CALL( MPI_Comm_delete_attr( (MPI_Comm) the_real_comm, v2 )); } virtual void Scatterv( const void* v1, const int * v2, const int * v3, const Datatype &v4, void* v5, int v6, const Datatype &v7, int v8 ) const { MPIX_CALL( MPI_Scatterv( (void*)v1, (int *)v2, (int *)v3, (MPI_Datatype)(v4.the_real_datatype), v5, v6, (MPI_Datatype)(v7.the_real_datatype), v8, (MPI_Comm) the_real_comm )); } virtual void Get_name( char * v2, int &v3 ) const { MPIX_CALL( MPI_Comm_get_name( (MPI_Comm) the_real_comm, v2, &v3 )); } virtual void Allgatherv( const void* v1, int v2, const Datatype &v3, void* v4, const int * v5, const int * v6, const Datatype &v7 ) const { MPIX_CALL( MPI_Allgatherv( (void*)v1, v2, (MPI_Datatype)(v3.the_real_datatype), v4, (int *)v5, (int *)v6, (MPI_Datatype)(v7.the_real_datatype), (MPI_Comm) the_real_comm )); } virtual Comm &Clone(void) const = 0; typedef int Copy_attr_function(const Comm& oldcomm, int comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, bool& flag); typedef int Delete_attr_function(Comm& comm, int comm_keyval, void* attribute_val, void* extra_state); typedef void Errhandler_fn(Comm &, int *, ... ); static int Create_keyval( Copy_attr_function *, Delete_attr_function *, void * ); static int NULL_COPY_FN( const Comm &oldcomm, int keyval, void *ex, void *attr_in, void *attr_out, bool &flag ) { flag = 0; return 0;} static int NULL_DELETE_FN( Comm &comm, int keyval, void * attr, void *ex ) { return 0; } static int DUP_FN( const Comm &oldcomm, int keyval, void *ex, void *attr_in, void *attr_out, bool &flag ) { flag = 1; *(void **)attr_out = attr_in; return 0;} static Errhandler Create_errhandler( Errhandler_fn * );};class Nullcomm : public Comm { public: // new/delete inline Nullcomm(MPI_Comm obj) : Comm(obj) {} inline Nullcomm(void) : Comm() {} virtual ~Nullcomm() {} // copy/assignment Nullcomm(const Nullcomm &obj) : Comm(obj) {} Nullcomm& operator=(const Nullcomm &obj) { the_real_comm = obj.the_real_comm; return *this; } // C/C++ cast and assignment inline operator MPI_Comm*() { return &the_real_comm; } inline operator MPI_Comm() const { return the_real_comm; } Nullcomm& operator=(const MPI_Comm& obj) { the_real_comm = obj; return *this; }// If the compiler does not support variable return types, return a // reference to Comm. The user must then cast this to the correct type// (Standard-conforming C++ compilers support variable return types)#ifdef HAVE_NO_VARIABLE_RETURN_TYPE_SUPPORT virtual Comm & Clone(void) const { Comm *clone = new Nullcomm(MPI_COMM_NULL); return *clone; };#else virtual Nullcomm & Clone(void) const { Nullcomm *clone = new Nullcomm(); return *clone; };#endif};class Intercomm : public Comm { friend class Intracomm; public: // new/delete inline Intercomm(MPI_Comm obj) : Comm(obj) {} inline Intercomm(void) : Comm() {} virtual ~Intercomm() {} // copy/assignment Intercomm(const Intercomm &obj) : Comm(obj) {} Intercomm& operator=(const Intercomm &obj) { the_real_comm = obj.the_real_comm; return *this; } // C/C++ cast and assignment inline operator MPI_Comm*() { return &the_real_comm; } inline operator MPI_Comm() const { return the_real_comm; } Intercomm& operator=(const MPI_Comm& obj) { the_real_comm = obj; return *this; } virtual Intracomm Merge( bool v2 ) const; virtual Group Get_remote_group( void ) const { Group v2; MPIX_CALL( MPI_Comm_remote_group( (MPI_Comm) the_real_comm, &(v2.the_real_group) )); return v2; } virtual int Get_remote_size( void ) const { int v2; MPIX_CALL( MPI_Comm_remote_size( (MPI_Comm) the_real_comm, &v2 )); return v2; } Intercomm Dup( void ) const { Intercomm v2; MPIX_CALL( MPI_Comm_dup( (MPI_Comm) the_real_comm, &(v2.the_real_comm) )); return v2; } virtual Intercomm Split( int v2, int v3 ) const { Intercomm v4; MPIX_CALL( MPI_Comm_split( (MPI_Comm) the_real_comm, v2, v3, &(v4.the_real_comm) )); return v4;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -