#include <maloc/maloc_base.h>
#include <maloc/vsys.h>
Go to the source code of this file.
Classes | |
struct | sVcom |
Contains public data members for Vcom class. More... | |
Defines | |
#define | VCOM_MPI_TAG 111 |
A base value for MPI tags. | |
Typedefs | |
typedef struct sVcom | Vcom |
Declaration of the Vcom class as the Vcom structure. | |
Functions | |
int | Vcom_init (int *argc, char ***argv) |
The Vmp initializer. | |
int | Vcom_finalize (void) |
The Vmp finalizer. | |
Vcom * | Vcom_ctor (int commtype) |
Construct the communications object. This routine sets up data members of class and initializes MPI. | |
int | Vcom_ctor2 (Vcom *thee, int commtype) |
Construct the communications object. This routine sets up data members of class and initializes MPI. This is broken into two parts to be callable from FORTRAN. | |
void | Vcom_dtor (Vcom **thee) |
Destroy the communications object. | |
void | Vcom_dtor2 (Vcom *thee) |
Destroy the communications object. This is broken into two parts to be callable from FORTRAN. | |
int | Vcom_send (Vcom *thee, int des, void *buf, int len, int type, int block) |
Send a buffer. Returns 1 on success. | |
int | Vcom_recv (Vcom *thee, int src, void *buf, int len, int type, int block) |
Receive a (character) buffer. The blocking flag is present, but not used. All receives are assumed to be blocking. A non-blocking receive would be *very* ugly to implement (signals or something?). | |
int | Vcom_getCount (Vcom *thee, int src, int *length, int type) |
Perform a blocking probe to get the length (in number of items of specified type) of an incoming message and place it in the argument ``length". | |
int | Vcom_reduce (Vcom *thee, void *sendbuf, void *recvbuf, int length, int type, int op) |
Perform a reduction of the data across all processors. This is equivalent (and in the case of MPI is identical to) MPI_Allreduce. Basically, the specified operations are appleed to each member of the sendbuf across all processors and the results are written to recvbuf. | |
int | Vcom_size (Vcom *thee) |
Get the number of PEs in communicator. | |
int | Vcom_resize (Vcom *thee, int newsize) |
Resize (shrink) the communications group to include only newsize number of processors. Obsolete processes are given rank of -1 and size of 0. | |
int | Vcom_rank (Vcom *thee) |
Get the ID of the local PE. | |
int | Vcom_barr (Vcom *thee) |
Synchronization barrier. |
* * MALOC = < Minimal Abstraction Layer for Object-oriented C > * Copyright (C) 1994--2008 Michael Holst * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *
#define VCOM_MPI_TAG 111 |
A base value for MPI tags.