Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
mpim-sw
libcdi
Commits
8225b94d
Commit
8225b94d
authored
Aug 24, 2012
by
Uwe Schulzweida
Browse files
Merge of branch cdo-pio into trunk cdi
parent
f6512687
Changes
32
Expand all
Hide whitespace changes
Inline
Side-by-side
.gitattributes
View file @
8225b94d
...
...
@@ -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
...
...
Makefile.am
View file @
8225b94d
## 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
\
...
...
Makefile.in
View file @
8225b94d
...
...
@@ -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
...
...
configure
View file @
8225b94d
#! /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
...
...
configure.ac
View file @
8225b94d
# 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
...
...
src/Makefile.am
View file @
8225b94d
...
...
@@ -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
...
...
src/Makefile.in
View file @
8225b94d
...
...
@@ -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@
...
...
src/namespace.c
View file @
8225b94d
...
...
@@ -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
;
}
...
...
src/pio.c
0 → 100644
View file @
8225b94d
#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:
*/
src/pio.h
0 → 100644
View file @
8225b94d
#ifndef _PIO_H
#define _PIO_H
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#ifdef USE_MPI
#include
<stdlib.h>
#include
<mpi.h>