changed reading hint
[gromacs/adressmacs.git] / include / mpiio.h
blob73a29e21caf1a518325e5270bf8c7ebb88598557
1 /*
2 * $Id$
3 *
4 * This source code is part of
5 *
6 * G R O M A C S
7 *
8 * GROningen MAchine for Chemical Simulations
9 *
10 * VERSION 2.0
12 * Copyright (c) 1991-1999
13 * BIOSON Research Institute, Dept. of Biophysical Chemistry
14 * University of Groningen, The Netherlands
16 * Please refer to:
17 * GROMACS: A message-passing parallel molecular dynamics implementation
18 * H.J.C. Berendsen, D. van der Spoel and R. van Drunen
19 * Comp. Phys. Comm. 91, 43-56 (1995)
21 * Also check out our WWW page:
22 * http://md.chem.rug.nl/~gmx
23 * or e-mail to:
24 * gromacs@chem.rug.nl
26 * And Hey:
27 * Good ROcking Metal Altar for Chronical Sinners
30 #ifndef _mpiio_h
31 #define _mpiio_h
33 static char *SRCID_mpiio_h = "$Id$";
35 #include <mpi.h>
36 #include "typedefs.h"
38 extern void mpiio_tx(int pid,void *buf,int bufsize);
39 extern void mpiio_tx_wait(int pid);
40 extern void mpiio_txs(int pid,void *buf,int bufsize);
41 extern void mpiio_rx(int pid,void *buf,int bufsize);
42 extern void mpiio_rx_wait(int pid);
43 extern void mpiio_rxs(int pid,void *buf,int bufsize);
44 extern int mpiio_setup(int *argc,char *argv[],int *nprocs);
45 /* If this is the master, spawn some kids. Nprocs is set to the
46 * number of processors.
47 * Return pid */
49 extern void mpiio_stat(FILE *fp,char *msg);
50 extern int mpinodenumber(void);
51 extern int mpinodecount(void);
52 extern int mpi_idle_send(void);
53 extern int mpi_idle_rec(void);
54 extern void mpi_left_right(int nprocs,int pid,int *left,int *right);
55 extern void mpiio_tx_rx(int send_pid,void *send_buf,int send_bufsize,
56 int rec_pid,void *rec_buf,int rec_bufsize);
57 extern void mpiio_wait(int left,int right);
58 extern void mpiio_sync_ring(int pid,int nprocs,int left,int right);
59 extern void mpi_reset_idle(void);
60 extern void mpi_abort(int pid,int nprocs,int errorno);
62 #define gmx_tx mpiio_tx
63 #define gmx_tx_wait mpiio_tx_wait
64 #define gmx_txs mpiio_txs
65 #define gmx_rx mpiio_rx
66 #define gmx_rx_wait mpiio_rx_wait
67 #define gmx_rxs mpiio_rxs
68 #define gmx_stat mpiio_stat
69 #define gmx_wait mpiio_wait
70 #define gmx_cpu_num mpinodecount
71 #define gmx_cpu_id mpinodenumber
72 #define gmx_left_right mpi_left_right
73 #define gmx_idle_send mpi_idle_send
74 #define gmx_idle_rec mpi_idle_rec
75 #define gmx_reset_idle mpi_reset_idle
76 #define gmx_abort mpi_abort
78 #endif