00001 /* src/bsp.h. Generated by configure. */ 00002 /* 00003 BSPonMPI. This is an implementation of the BSPlib standard on top of MPI 00004 Copyright (C) 2006 Wijnand J. Suijlen 00005 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Lesser General Public 00008 License as published by the Free Software Foundation; either 00009 version 2.1 of the License, or (at your option) any later version. 00010 00011 This library is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 Lesser General Public License for more details. 00015 00016 You should have received a copy of the GNU Lesser General Public 00017 License along with this library; if not, write to the Free Software 00018 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00019 00020 You may contact me via electronic mail: 00021 wjsuijle@users.sourceforge.net 00022 or snail mail: 00023 W.J. Suijlen 00024 Kraaiheidelaan 10 00025 2803 VP Gouda 00026 The Netherlands 00027 */ 00028 00029 00036 #ifndef BSP_H 00037 #define BSP_H 00038 00039 #include <stdarg.h> 00040 /* define to empty if 'const' does not conform to ANSi C. */ 00041 /* #undef const */ 00042 00043 /* Define to equivalent C99 restrict keyword, or to nothing if this is not 00044 * supported. Do not define if restrict is upported directly. */ 00045 #define restrict __restrict 00046 00049 void bsp_init (void (*smpd_part) (void), int, char *[]); 00050 void bsp_begin (int maxprocs); 00051 void bsp_end (); 00056 void bsp_abort (const char *format, ...); 00061 int bsp_nprocs (); 00062 int bsp_pid (); 00063 double bsp_time (); 00068 void bsp_sync (); 00073 void bsp_push_reg (const void *, int); 00074 void bsp_pop_reg (const void *); 00075 void bsp_put (int, const void *, void *, int, int); 00076 void bsp_get (int, const void *, int, void *, int); 00081 void bsp_send (int, const void *, const void *, int); 00082 void bsp_qsize (int * restrict , int * restrict ); 00083 void bsp_get_tag (int * restrict , void * restrict); 00084 void bsp_move (void *, int); 00085 void bsp_set_tagsize (int *); 00090 void bsp_hpput (int, const void *, void *, int, int); 00091 void bsp_hpget (int, const void *, int, void *, int); 00092 int bsp_hpmove (void **, void **); 00094 #endif