Commit 8225b94d authored by Uwe Schulzweida's avatar Uwe Schulzweida
Browse files

Merge of branch cdo-pio into trunk cdi

parent f6512687
......@@ -212,9 +212,30 @@ src/mo_cdi.f90 -text
src/model.c -text
src/namespace.c -text
src/namespace.h -text
src/pio.c -text
src/pio.h -text
src/pio_c_temp.h -text
src/pio_comm.c -text
src/pio_comm.h -text
src/pio_dbuffer.c -text
src/pio_impl.h -text
src/pio_interface.c -text
src/pio_interface.h -text
src/pio_list_set.c -text
src/pio_mpinonb.c -text
src/pio_posixasynch.c -text
src/pio_posixfpguardsendrecv.c -text
src/pio_posixnonb.c -text
src/pio_record_send.c -text
src/pio_rpc.c -text
src/pio_rpc.h -text
src/pio_server.c -text
src/pio_server.h -text
src/pio_util.c -text
src/pio_util.h -text
src/pkgconfig/cdi.pc.in -text
src/resource_handle.c -text
src/resource_handle.h -text
src/service.h -text
src/servicelib.c -text
src/stream.c -text
......@@ -255,6 +276,7 @@ src/vlist.c -text
src/vlist.h -text
src/vlist_att.c -text
src/vlist_var.c -text
src/vlist_var.h -text
src/zaxis.c -text
tables/cosmo002 -text
tables/cosmo201 -text
......
## Process this file with automake to produce Makefile.in
#
SUBDIRS = src interfaces app examples tests
SUBDIRS = src interfaces app examples
#
EXTRA_DIST=config/default \
doc/cdi_cman.pdf \
......
......@@ -54,10 +54,10 @@ subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/cdi.settings.in \
$(top_srcdir)/configure $(top_srcdir)/src/pkgconfig/cdi.pc.in \
$(top_srcdir)/util/serialrun.in AUTHORS COPYING ChangeLog \
INSTALL NEWS config/compile config/config.guess \
config/config.sub config/depcomp config/install-sh \
config/ltmain.sh config/missing config/mkinstalldirs
AUTHORS COPYING ChangeLog INSTALL NEWS config/compile \
config/config.guess config/config.sub config/depcomp \
config/install-sh config/ltmain.sh config/missing \
config/mkinstalldirs
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = \
$(top_srcdir)/m4/acx_assert_lang_is_fortran_variant.m4 \
......@@ -77,7 +77,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/src/config.h
CONFIG_CLEAN_FILES = util/serialrun cdi.settings src/pkgconfig/cdi.pc
CONFIG_CLEAN_FILES = cdi.settings src/pkgconfig/cdi.pc
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
......@@ -317,7 +317,7 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
#
SUBDIRS = src interfaces app examples tests
SUBDIRS = src interfaces app examples
#
EXTRA_DIST = config/default \
doc/cdi_cman.pdf \
......@@ -369,8 +369,6 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):
util/serialrun: $(top_builddir)/config.status $(top_srcdir)/util/serialrun.in
cd $(top_builddir) && $(SHELL) ./config.status $@
cdi.settings: $(top_builddir)/config.status $(srcdir)/cdi.settings.in
cd $(top_builddir) && $(SHELL) ./config.status $@
src/pkgconfig/cdi.pc: $(top_builddir)/config.status $(top_srcdir)/src/pkgconfig/cdi.pc.in
......
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for cdi 1.5.6.
# Generated by GNU Autoconf 2.69 for cdi 1.5.7.
#
# Report bugs to <http://code.zmaw.de/projects/cdi>.
#
......@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='cdi'
PACKAGE_TARNAME='cdi'
PACKAGE_VERSION='1.5.6'
PACKAGE_STRING='cdi 1.5.6'
PACKAGE_VERSION='1.5.7'
PACKAGE_STRING='cdi 1.5.7'
PACKAGE_BUGREPORT='http://code.zmaw.de/projects/cdi'
PACKAGE_URL=''
 
......@@ -1421,7 +1421,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures cdi 1.5.6 to adapt to many kinds of systems.
\`configure' configures cdi 1.5.7 to adapt to many kinds of systems.
 
Usage: $0 [OPTION]... [VAR=VALUE]...
 
......@@ -1491,7 +1491,7 @@ fi
 
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of cdi 1.5.6:";;
short | recursive ) echo "Configuration of cdi 1.5.7:";;
esac
cat <<\_ACEOF
 
......@@ -1648,7 +1648,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
cdi configure 1.5.6
cdi configure 1.5.7
generated by GNU Autoconf 2.69
 
Copyright (C) 2012 Free Software Foundation, Inc.
......@@ -2409,7 +2409,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
 
It was created by cdi $as_me 1.5.6, which was
It was created by cdi $as_me 1.5.7, which was
generated by GNU Autoconf 2.69. Invocation command line was
 
$ $0 $@
......@@ -3341,7 +3341,7 @@ fi
 
# Define the identity of the package.
PACKAGE='cdi'
VERSION='1.5.6'
VERSION='1.5.7'
 
 
cat >>confdefs.h <<_ACEOF
......@@ -26950,10 +26950,21 @@ fi
 
 
 
ac_config_files="$ac_config_files tests/test_cksum_grib tests/test_cksum_nc tests/test_cksum_nc2 tests/test_cksum_nc4 tests/test_cksum_extra tests/test_cksum_service tests/test_cksum_ieg tests/pio_write_run tests/pio_cksum_mpinonb tests/pio_cksum_fpguard tests/pio_cksum_asynch tests/pio_cksum_writer util/serialrun"
# AC_CONFIG_FILES([tests/test_cksum_grib \
# tests/test_cksum_nc \
# tests/test_cksum_nc2 \
# tests/test_cksum_nc4 \
# tests/test_cksum_extra \
# tests/test_cksum_service \
# tests/test_cksum_ieg \
# tests/pio_write_run \
# tests/pio_cksum_mpinonb \
# tests/pio_cksum_fpguard \
# tests/pio_cksum_asynch \
# tests/pio_cksum_writer \
# util/serialrun],[chmod a+x "$ac_file"])
 
ac_config_files="$ac_config_files Makefile src/Makefile interfaces/Makefile app/Makefile tests/Makefile examples/Makefile cdi.settings examples/pio/Makefile src/pkgconfig/cdi.pc"
ac_config_files="$ac_config_files Makefile src/Makefile interfaces/Makefile app/Makefile examples/Makefile cdi.settings src/pkgconfig/cdi.pc"
 
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
......@@ -27521,7 +27532,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by cdi $as_me 1.5.6, which was
This file was extended by cdi $as_me 1.5.7, which was
generated by GNU Autoconf 2.69. Invocation command line was
 
CONFIG_FILES = $CONFIG_FILES
......@@ -27587,7 +27598,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
cdi config.status 1.5.6
cdi config.status 1.5.7
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
 
......@@ -28272,27 +28283,12 @@ do
"src/config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config.h" ;;
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
"tests/test_cksum_grib") CONFIG_FILES="$CONFIG_FILES tests/test_cksum_grib" ;;
"tests/test_cksum_nc") CONFIG_FILES="$CONFIG_FILES tests/test_cksum_nc" ;;
"tests/test_cksum_nc2") CONFIG_FILES="$CONFIG_FILES tests/test_cksum_nc2" ;;
"tests/test_cksum_nc4") CONFIG_FILES="$CONFIG_FILES tests/test_cksum_nc4" ;;
"tests/test_cksum_extra") CONFIG_FILES="$CONFIG_FILES tests/test_cksum_extra" ;;
"tests/test_cksum_service") CONFIG_FILES="$CONFIG_FILES tests/test_cksum_service" ;;
"tests/test_cksum_ieg") CONFIG_FILES="$CONFIG_FILES tests/test_cksum_ieg" ;;
"tests/pio_write_run") CONFIG_FILES="$CONFIG_FILES tests/pio_write_run" ;;
"tests/pio_cksum_mpinonb") CONFIG_FILES="$CONFIG_FILES tests/pio_cksum_mpinonb" ;;
"tests/pio_cksum_fpguard") CONFIG_FILES="$CONFIG_FILES tests/pio_cksum_fpguard" ;;
"tests/pio_cksum_asynch") CONFIG_FILES="$CONFIG_FILES tests/pio_cksum_asynch" ;;
"tests/pio_cksum_writer") CONFIG_FILES="$CONFIG_FILES tests/pio_cksum_writer" ;;
"util/serialrun") CONFIG_FILES="$CONFIG_FILES util/serialrun" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
"interfaces/Makefile") CONFIG_FILES="$CONFIG_FILES interfaces/Makefile" ;;
"app/Makefile") CONFIG_FILES="$CONFIG_FILES app/Makefile" ;;
"tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
"examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
"cdi.settings") CONFIG_FILES="$CONFIG_FILES cdi.settings" ;;
"examples/pio/Makefile") CONFIG_FILES="$CONFIG_FILES examples/pio/Makefile" ;;
"src/pkgconfig/cdi.pc") CONFIG_FILES="$CONFIG_FILES src/pkgconfig/cdi.pc" ;;
 
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
......@@ -30100,19 +30096,6 @@ compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
_LT_EOF
 
;;
"tests/test_cksum_grib":F) chmod a+x "$ac_file" ;;
"tests/test_cksum_nc":F) chmod a+x "$ac_file" ;;
"tests/test_cksum_nc2":F) chmod a+x "$ac_file" ;;
"tests/test_cksum_nc4":F) chmod a+x "$ac_file" ;;
"tests/test_cksum_extra":F) chmod a+x "$ac_file" ;;
"tests/test_cksum_service":F) chmod a+x "$ac_file" ;;
"tests/test_cksum_ieg":F) chmod a+x "$ac_file" ;;
"tests/pio_write_run":F) chmod a+x "$ac_file" ;;
"tests/pio_cksum_mpinonb":F) chmod a+x "$ac_file" ;;
"tests/pio_cksum_fpguard":F) chmod a+x "$ac_file" ;;
"tests/pio_cksum_asynch":F) chmod a+x "$ac_file" ;;
"tests/pio_cksum_writer":F) chmod a+x "$ac_file" ;;
"util/serialrun":F) chmod a+x "$ac_file" ;;
 
esac
done # for ac_tag
......
# Process this file with autoconf to produce a configure script.
AC_INIT([cdi], [1.5.6], [http://code.zmaw.de/projects/cdi])
AC_INIT([cdi], [1.5.7], [http://code.zmaw.de/projects/cdi])
echo "configuring ${PACKAGE_NAME} ${PACKAGE_VERSION}"
......@@ -179,23 +179,23 @@ AM_CONDITIONAL([USE_FC],[test -n "$FC" && test "X$FC" != "Xno" && test x$acx_cv_
AC_SUBST([CPPFLAGS])
AC_CONFIG_FILES([tests/test_cksum_grib \
tests/test_cksum_nc \
tests/test_cksum_nc2 \
tests/test_cksum_nc4 \
tests/test_cksum_extra \
tests/test_cksum_service \
tests/test_cksum_ieg \
tests/pio_write_run \
tests/pio_cksum_mpinonb \
tests/pio_cksum_fpguard \
tests/pio_cksum_asynch \
tests/pio_cksum_writer \
util/serialrun],[chmod a+x "$ac_file"])
# AC_CONFIG_FILES([tests/test_cksum_grib \
# tests/test_cksum_nc \
# tests/test_cksum_nc2 \
# tests/test_cksum_nc4 \
# tests/test_cksum_extra \
# tests/test_cksum_service \
# tests/test_cksum_ieg \
# tests/pio_write_run \
# tests/pio_cksum_mpinonb \
# tests/pio_cksum_fpguard \
# tests/pio_cksum_asynch \
# tests/pio_cksum_writer \
# util/serialrun],[chmod a+x "$ac_file"])
AC_OUTPUT([Makefile src/Makefile interfaces/Makefile app/Makefile \
tests/Makefile examples/Makefile cdi.settings \
examples/pio/Makefile src/pkgconfig/cdi.pc])
examples/Makefile cdi.settings \
src/pkgconfig/cdi.pc])
# ----------------------------------------------------------------------
# Show configuration
......
......@@ -49,10 +49,31 @@ libcdi_la_SOURCES = \
ieglib.c \
institution.c \
model.c \
namespace.c \
namespace.h \
pio_util.c \
pio_util.h \
namespace.c \
namespace.h \
pio.c \
pio.h \
pio_c_temp.h \
pio_comm.c \
pio_comm.h \
pio_dbuffer.c \
pio_impl.h \
pio_interface.c \
pio_interface.h \
pio_mpinonb.c \
pio_record_send.c\
pio_posixasynch.c\
pio_posixfpguardsendrecv.c \
pio_posixnonb.c \
pio_list_set.c \
pio_rpc.c \
pio_rpc.h \
pio_server.c \
pio_server.h \
pio_util.c \
pio_util.h \
resource_handle.c\
resource_handle.h\
service.h \
servicelib.c \
stream_cdf.c \
......@@ -91,6 +112,7 @@ libcdi_la_SOURCES = \
vlist.h \
vlist_att.c \
vlist_var.c \
vlist_var.h \
zaxis.c \
stream.c \
swap.c
......
......@@ -112,7 +112,11 @@ am_libcdi_la_OBJECTS = basetime.lo binary.lo calendar.lo cdf.lo \
cdf_int.lo cdi_error.lo cdi_util.lo cdiFortran.lo \
cgribexlib.lo dmemory.lo error.lo extralib.lo file.lo \
gaussgrid.lo gribapi.lo grid.lo ieglib.lo institution.lo \
model.lo namespace.lo pio_util.lo servicelib.lo stream_cdf.lo \
model.lo namespace.lo pio.lo pio_comm.lo pio_dbuffer.lo \
pio_interface.lo pio_mpinonb.lo pio_record_send.lo \
pio_posixasynch.lo pio_posixfpguardsendrecv.lo \
pio_posixnonb.lo pio_list_set.lo pio_rpc.lo pio_server.lo \
pio_util.lo resource_handle.lo servicelib.lo stream_cdf.lo \
stream_cgribex.lo stream_ext.lo stream_grb.lo \
stream_gribapi.lo stream_history.lo stream_ieg.lo \
stream_int.lo stream_record.lo stream_srv.lo stream_var.lo \
......@@ -366,10 +370,31 @@ libcdi_la_SOURCES = \
ieglib.c \
institution.c \
model.c \
namespace.c \
namespace.h \
pio_util.c \
pio_util.h \
namespace.c \
namespace.h \
pio.c \
pio.h \
pio_c_temp.h \
pio_comm.c \
pio_comm.h \
pio_dbuffer.c \
pio_impl.h \
pio_interface.c \
pio_interface.h \
pio_mpinonb.c \
pio_record_send.c\
pio_posixasynch.c\
pio_posixfpguardsendrecv.c \
pio_posixnonb.c \
pio_list_set.c \
pio_rpc.c \
pio_rpc.h \
pio_server.c \
pio_server.h \
pio_util.c \
pio_util.h \
resource_handle.c\
resource_handle.h\
service.h \
servicelib.c \
stream_cdf.c \
......@@ -408,6 +433,7 @@ libcdi_la_SOURCES = \
vlist.h \
vlist_att.c \
vlist_var.c \
vlist_var.h \
zaxis.c \
stream.c \
swap.c
......@@ -535,7 +561,20 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/institution.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/model.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/namespace.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio_comm.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio_dbuffer.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio_interface.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio_list_set.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio_mpinonb.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio_posixasynch.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio_posixfpguardsendrecv.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio_posixnonb.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio_record_send.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio_rpc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio_server.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio_util.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/resource_handle.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/servicelib.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream_cdf.Plo@am__quote@
......
......@@ -70,6 +70,7 @@ namespaceTuple_t namespaceResHDecode ( int resH )
void namespaceInit ( int nspn, int * argHasLocalFile )
{
/* FIXME: this should not be PIO-only */
#ifdef USE_MPI
int nspID;
......@@ -106,9 +107,9 @@ int namespaceGetNumber ()
void pioNamespaceSetActive ( int nId )
{
/* FIXME: this should not be PIO-only */
#ifdef USE_MPI
if ( nId >= nNamespaces || nId < 0 )
abort ();
xassert ( nId < nNamespaces && nId >= 0 );
activeNamespace = nId;
#endif
......@@ -123,8 +124,7 @@ int namespaceGetActive ()
int namespaceHasLocalFile ( int nId )
{
if ( nId >= nNamespaces || nId < 0 )
abort ();
xassert ( nId < nNamespaces && nId >= 0 );
return hasLocalFiles ? hasLocalFiles[nId] : 0;
}
......
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#ifdef USE_MPI
#include "pio.h"
#include "cdi.h"
#include "pio_comm.h"
#include "pio_impl.h"
#include "pio_util.h"
char * command2charP[6] = {"IO_Open_file", "IO_Close_file",
"IO_Get_fp","IO_Set_fp",
"IO_Send_buffer", "IO_Finalize"};
long initial_buffersize = 16 * 1024 * 1024;
/* 4 KB <= x < 256 MB */
/* 16 * 1024 * 1024; */
/* 16 * 1024; */
/* 4 * 1024; */
enum {
tagKey = 100,
};
double accumProbe = 0.0;
double accumRecv = 0.0;
double accumSend = 0.0;
double accumSuspend = 0.0;
double accumWait = 0.0;
double accumWrite = 0.0;
char *token = "%";
/***************************************************************/
int encodeFileOpTag(int ID, int sc)
{
return ID * tagKey + sc;
}
/***************************************************************/
struct fileOpTag decodeFileOpTag(int tag)
{
struct fileOpTag rtag;
rtag.id = tag / tagKey;
rtag.command = tag % tagKey;
return rtag;
}
/***************************************************************/
size_t pioFileWrite ( int fileID, int tsID, const void *buffer, size_t len )
{
size_t iret = CDI_UNDEFID;
switch ( commInqIOMode ())
{
case PIO_MPI:
iret = fwMPINONB ( fileID, tsID, buffer, len );
break;
#ifndef _SX
case PIO_ASYNCH:
#endif
case PIO_WRITER:
iret = pioSendWrite(fileID, tsID, buffer, len);
break;
case PIO_FPGUARD:
iret = fwPOSIXFPGUARDSENDRECV ( fileID, tsID, buffer, len );
break;
}
return iret;
}
/***************************************************************/
int pioFileClose ( int id )
{
int iret = CDI_UNDEFID;
switch ( commInqIOMode ())
{
case PIO_MPI:
iret = fcMPINONB ( id );
break;
#ifndef _SX
case PIO_ASYNCH:
#endif
case PIO_WRITER:
iret = pioSendClose(id);
break;
case PIO_FPGUARD:
iret = fcPOSIXFPGUARDSENDRECV ( id );
break;
}
return iret;
}
/***************************************************************/
int pioFileOpenW ( const char *filename )
{
int iret = CDI_UNDEFID;
switch ( commInqIOMode ())
{
case PIO_MPI:
iret = fowMPINONB ( filename );
break;
#ifndef _SX
case PIO_ASYNCH:
#endif
case PIO_WRITER:
iret = pioSendOpen(filename);
break;
case PIO_FPGUARD:
iret = fowPOSIXFPGUARDSENDRECV ( filename );
break;
}
return iret;
}
/***************************************************************/
void backendInit ( void )
{
int IOMode = commInqIOMode ();
commDefCommNode ();
xassert ( IOMode != PIO_NONE || commInqSizeNode () == 1 );
switch ( IOMode )
{
case PIO_NONE:
commDefCommColl ( 1 );
commSendNodeInfo ();
commRecvNodeMap ();
commDefCommsIO ();
break;
case PIO_MPI:
initMPINONB ();
break;
#ifndef _SX
case PIO_ASYNCH:
#endif
case PIO_WRITER:
pioSendInitialize();
break;
case PIO_FPGUARD:
initPOSIXFPGUARDSENDRECV ();
break;
}
}
/***************************************************************/
void backendCleanup ( void )
{
int IOMode = commInqIOMode ();
switch ( IOMode )
{
case PIO_NONE:
break;
case PIO_MPI:
finalizeMPINONB ();
break;
#ifndef _SX
case PIO_ASYNCH:
#endif
case PIO_WRITER:
pioSendFinalize();
break;
case PIO_FPGUARD:
finalizePOSIXFPGUARDSENDRECV ();
break;
default:
xdebug("%s", " BACKENDCLEANUP FUNCTION NOT IMPLEMENTED YET.");
}
}
/***************************************************************/
void backendFinalize ( void )
{
commDestroy ();
MPI_Finalize ();
exit ( EXIT_SUCCESS );
}
#endif
/*
* Local Variables:
* c-file-style: "Java"
* c-basic-offset: 2
* indent-tabs-mode: nil
* show-trailing-whitespace: t
* require-trailing-newline: t
* End:
*/
#ifndef _PIO_H
#define _PIO_H
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#ifdef USE_MPI
#include <stdlib.h>
#include <mpi.h>
void backendCleanup