mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-27 02:10:55 +08:00
[svn-r11776] Purpose:
Added t_posix_compliant to the rest of the build and patched up minor compile bugs/warnings encountered on other platforms. Description: It seems that <getopt.h> needs to be included to get the file to build, even though the man page seems to indicate that <unistd.h> should be sufficient. Solution: Platforms tested: copper, colonelk, sol
This commit is contained in:
parent
48514c008f
commit
3f766acd0c
@ -24,7 +24,7 @@ INCLUDES=-I$(top_srcdir)/src -I$(top_srcdir)/test
|
||||
|
||||
# Test programs and scripts. These are our main targets.
|
||||
#
|
||||
TEST_PROG_PARA=t_mpi t_fphdf5 testphdf5
|
||||
TEST_PROG_PARA=t_mpi t_posix_compliant t_fphdf5 testphdf5
|
||||
TEST_SCRIPT_PARA=testph5.sh
|
||||
|
||||
check_PROGRAMS = $(TEST_PROG_PARA)
|
||||
|
@ -29,7 +29,7 @@
|
||||
#
|
||||
# hdf5 Parallel Library Test Makefile(.in)
|
||||
#
|
||||
SOURCES = t_fphdf5.c t_mpi.c $(testphdf5_SOURCES)
|
||||
SOURCES = t_fphdf5.c t_mpi.c t_posix_compliant.c $(testphdf5_SOURCES)
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
@ -65,7 +65,8 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/src/H5config.h
|
||||
CONFIG_CLEAN_FILES = testph5.sh
|
||||
am__EXEEXT_1 = t_mpi$(EXEEXT) t_fphdf5$(EXEEXT) testphdf5$(EXEEXT)
|
||||
am__EXEEXT_1 = t_mpi$(EXEEXT) t_posix_compliant$(EXEEXT) \
|
||||
t_fphdf5$(EXEEXT) testphdf5$(EXEEXT)
|
||||
t_fphdf5_SOURCES = t_fphdf5.c
|
||||
t_fphdf5_OBJECTS = t_fphdf5.$(OBJEXT)
|
||||
t_fphdf5_LDADD = $(LDADD)
|
||||
@ -76,6 +77,11 @@ t_mpi_SOURCES = t_mpi.c
|
||||
t_mpi_OBJECTS = t_mpi.$(OBJEXT)
|
||||
t_mpi_LDADD = $(LDADD)
|
||||
t_mpi_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
|
||||
t_posix_compliant_SOURCES = t_posix_compliant.c
|
||||
t_posix_compliant_OBJECTS = t_posix_compliant.$(OBJEXT)
|
||||
t_posix_compliant_LDADD = $(LDADD)
|
||||
t_posix_compliant_DEPENDENCIES = $(am__DEPENDENCIES_1) \
|
||||
$(am__DEPENDENCIES_2)
|
||||
am_testphdf5_OBJECTS = testphdf5.$(OBJEXT) t_dset.$(OBJEXT) \
|
||||
t_file.$(OBJEXT) t_mdset.$(OBJEXT) t_ph5basic.$(OBJEXT) \
|
||||
t_coll_chunk.$(OBJEXT) t_span_tree.$(OBJEXT) \
|
||||
@ -94,8 +100,9 @@ LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
SOURCES = t_fphdf5.c t_mpi.c $(testphdf5_SOURCES)
|
||||
DIST_SOURCES = t_fphdf5.c t_mpi.c $(testphdf5_SOURCES)
|
||||
SOURCES = t_fphdf5.c t_mpi.c t_posix_compliant.c $(testphdf5_SOURCES)
|
||||
DIST_SOURCES = t_fphdf5.c t_mpi.c t_posix_compliant.c \
|
||||
$(testphdf5_SOURCES)
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
@ -344,7 +351,7 @@ INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/test
|
||||
|
||||
# Test programs and scripts. These are our main targets.
|
||||
#
|
||||
TEST_PROG_PARA = t_mpi t_fphdf5 testphdf5
|
||||
TEST_PROG_PARA = t_mpi t_posix_compliant t_fphdf5 testphdf5
|
||||
TEST_SCRIPT_PARA = testph5.sh
|
||||
check_SCRIPTS = $(TEST_SCRIPT)
|
||||
testphdf5_SOURCES = testphdf5.c t_dset.c t_file.c t_mdset.c t_ph5basic.c \
|
||||
@ -419,6 +426,9 @@ t_fphdf5$(EXEEXT): $(t_fphdf5_OBJECTS) $(t_fphdf5_DEPENDENCIES)
|
||||
t_mpi$(EXEEXT): $(t_mpi_OBJECTS) $(t_mpi_DEPENDENCIES)
|
||||
@rm -f t_mpi$(EXEEXT)
|
||||
$(LINK) $(t_mpi_LDFLAGS) $(t_mpi_OBJECTS) $(t_mpi_LDADD) $(LIBS)
|
||||
t_posix_compliant$(EXEEXT): $(t_posix_compliant_OBJECTS) $(t_posix_compliant_DEPENDENCIES)
|
||||
@rm -f t_posix_compliant$(EXEEXT)
|
||||
$(LINK) $(t_posix_compliant_LDFLAGS) $(t_posix_compliant_OBJECTS) $(t_posix_compliant_LDADD) $(LIBS)
|
||||
testphdf5$(EXEEXT): $(testphdf5_OBJECTS) $(testphdf5_DEPENDENCIES)
|
||||
@rm -f testphdf5$(EXEEXT)
|
||||
$(LINK) $(testphdf5_LDFLAGS) $(testphdf5_OBJECTS) $(testphdf5_LDADD) $(LIBS)
|
||||
@ -437,6 +447,7 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_mdset.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_mpi.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_ph5basic.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_posix_compliant.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_span_tree.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testphdf5.Po@am__quote@
|
||||
|
||||
|
@ -33,10 +33,12 @@
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <getopt.h>
|
||||
|
||||
char* testfile = NULL;
|
||||
int err_flag = 0;
|
||||
int max_err_print = 5;
|
||||
|
||||
static char* testfile = NULL;
|
||||
static int err_flag = 0;
|
||||
static int max_err_print = 5;
|
||||
|
||||
#define CHECK_SUCCESS(res) \
|
||||
{ \
|
||||
@ -61,20 +63,19 @@ int max_err_print = 5;
|
||||
err_flag = 0; \
|
||||
}
|
||||
|
||||
void vrfy_elements(int* a, int* b, int size, int rank);
|
||||
int find_writesize(int rank, int numprocs, int write_size);
|
||||
static void vrfy_elements(int* a, int* b, int size, int rank);
|
||||
static int find_writesize(int rank, int numprocs, int write_size);
|
||||
|
||||
|
||||
/* All writes are to non-overlapping locations in the file
|
||||
* Then, each task reads another tasks' data
|
||||
* */
|
||||
|
||||
int allwrite_allread_blocks(int numprocs, int rank, int write_size)
|
||||
static int allwrite_allread_blocks(int numprocs, int rank, int write_size)
|
||||
{
|
||||
MPI_File fh = MPI_FILE_NULL;
|
||||
int mpio_result;
|
||||
int amode, i;
|
||||
MPI_Info hints_to_test = MPI_INFO_NULL;
|
||||
MPI_Offset offset = rank*write_size*sizeof(int);
|
||||
MPI_Status Status;
|
||||
int* writebuf = (int*)malloc(write_size*sizeof(int));
|
||||
@ -110,10 +111,10 @@ int allwrite_allread_blocks(int numprocs, int rank, int write_size)
|
||||
|
||||
}
|
||||
|
||||
int posix_allwrite_allread_blocks(int numprocs, int rank, int write_size)
|
||||
static int posix_allwrite_allread_blocks(int numprocs, int rank, int write_size)
|
||||
{
|
||||
int ret;
|
||||
int amode, i;
|
||||
int i;
|
||||
int offset = rank*write_size*sizeof(int);
|
||||
int* writebuf = (int*)malloc(write_size*sizeof(int));
|
||||
int* readbuf = (int*)malloc (write_size*sizeof(int));
|
||||
@ -183,10 +184,10 @@ int posix_allwrite_allread_blocks(int numprocs, int rank, int write_size)
|
||||
|
||||
}
|
||||
|
||||
int posix_onewrite_allread_blocks(int numprocs, int rank, int write_size)
|
||||
static int posix_onewrite_allread_blocks(int numprocs, int rank, int write_size)
|
||||
{
|
||||
int ret;
|
||||
int amode, i;
|
||||
int i;
|
||||
int offset = rank*write_size*sizeof(int);
|
||||
int* writebuf = (int*)malloc(write_size*sizeof(int));
|
||||
int* readbuf = (int*)malloc (write_size*sizeof(int));
|
||||
@ -262,10 +263,10 @@ int posix_onewrite_allread_blocks(int numprocs, int rank, int write_size)
|
||||
|
||||
}
|
||||
|
||||
int posix_onewrite_allread_interlaced(int numprocs, int rank, int write_size)
|
||||
static int posix_onewrite_allread_interlaced(int numprocs, int rank, int write_size)
|
||||
{
|
||||
int ret;
|
||||
int amode, i, fill, index;
|
||||
int i, fill, index;
|
||||
int offset = rank*write_size*sizeof(int);
|
||||
int* writebuf = (int*)malloc(write_size*sizeof(int));
|
||||
int* readbuf = (int*)malloc (write_size*sizeof(int));
|
||||
@ -354,13 +355,12 @@ int posix_onewrite_allread_interlaced(int numprocs, int rank, int write_size)
|
||||
*
|
||||
* Each proc then reads in the whole file and verifies that the data is what it is supposed to be*/
|
||||
|
||||
int allwrite_allread_interlaced(int numprocs, int rank, int write_size)
|
||||
static int allwrite_allread_interlaced(int numprocs, int rank, int write_size)
|
||||
{
|
||||
MPI_File fh = MPI_FILE_NULL;
|
||||
int mpio_result;
|
||||
int amode, i, counter = 0;
|
||||
MPI_Info hints_to_test = MPI_INFO_NULL;
|
||||
MPI_Datatype filetype, contig;
|
||||
MPI_Datatype filetype;
|
||||
MPI_Status Status;
|
||||
int* writebuf = (int*)malloc(write_size*sizeof(int));
|
||||
int* readbuf = (int*) malloc(numprocs*sizeof(int));
|
||||
@ -452,14 +452,13 @@ int allwrite_allread_interlaced(int numprocs, int rank, int write_size)
|
||||
* (1,2...((numprocs-1)*WRTE_SIZE).
|
||||
* */
|
||||
|
||||
int allwrite_allread_overlap(int numprocs, int rank, int write_size)
|
||||
static int allwrite_allread_overlap(int numprocs, int rank, int write_size)
|
||||
{
|
||||
|
||||
MPI_File fh = MPI_FILE_NULL;
|
||||
int mpio_result;
|
||||
int amode, i, counter = 0;
|
||||
MPI_Info hints_to_test = MPI_INFO_NULL;
|
||||
MPI_Datatype filetype, contig;
|
||||
MPI_Datatype filetype;
|
||||
MPI_Status Status;
|
||||
int* writebuf = (int*) malloc(write_size*(numprocs-1)*sizeof(int)); /* An upper bound...not all the elements will be written */
|
||||
int* readbuf = (int*) malloc(write_size*(numprocs-1)*sizeof(int));
|
||||
@ -547,13 +546,11 @@ int allwrite_allread_overlap(int numprocs, int rank, int write_size)
|
||||
*
|
||||
* Process i read's in write_size bytes at offset=i*write_size
|
||||
*/
|
||||
int onewrite_allread_blocks(int numprocs, int rank, int write_size)
|
||||
static int onewrite_allread_blocks(int numprocs, int rank, int write_size)
|
||||
{
|
||||
MPI_File fh = MPI_FILE_NULL;
|
||||
int mpio_result;
|
||||
int amode, i;
|
||||
MPI_Info hints_to_test = MPI_INFO_NULL;
|
||||
MPI_Offset offset = rank*write_size*sizeof(int);
|
||||
MPI_Status Status;
|
||||
int* writebuf = (int*)malloc(write_size*sizeof(int));
|
||||
int* readbuf = (int*)malloc (write_size*sizeof(int));
|
||||
@ -599,13 +596,12 @@ int onewrite_allread_blocks(int numprocs, int rank, int write_size)
|
||||
* 0000 1111 2222 3333 etc. (with 4 procs)
|
||||
*
|
||||
* Each proc reads out 0 1 2 3 starting at displacement i */
|
||||
int onewrite_allread_interlaced(int numprocs, int rank, int write_size)
|
||||
static int onewrite_allread_interlaced(int numprocs, int rank, int write_size)
|
||||
{
|
||||
MPI_File fh = MPI_FILE_NULL;
|
||||
int mpio_result;
|
||||
int amode, i;
|
||||
MPI_Info hints_to_test = MPI_INFO_NULL;
|
||||
MPI_Datatype filetype, contig;
|
||||
MPI_Datatype filetype;
|
||||
MPI_Status Status;
|
||||
int* writebuf = (int*) malloc(numprocs*write_size*sizeof(int)); /* Upper bound, not all used */
|
||||
int* readbuf = (int*)malloc (write_size*sizeof(int));
|
||||
@ -657,12 +653,11 @@ int onewrite_allread_interlaced(int numprocs, int rank, int write_size)
|
||||
|
||||
}
|
||||
|
||||
main(int argc, char* argv[])
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
|
||||
int numprocs, rank, opt, mpi_tests=1, posix_tests=1;
|
||||
int lb, ub, inc;
|
||||
err_flag = 0;
|
||||
int write_size = 0;
|
||||
char optstring[] = "h x m p: s: v:";
|
||||
|
||||
@ -804,7 +799,7 @@ done:
|
||||
|
||||
|
||||
|
||||
int find_writesize(int rank, int numprocs, int size)
|
||||
static int find_writesize(int rank, int numprocs, int size)
|
||||
{
|
||||
/* Largest number in the file */
|
||||
int tmp = (size-1)*numprocs;
|
||||
@ -825,7 +820,7 @@ int find_writesize(int rank, int numprocs, int size)
|
||||
return write_size;
|
||||
}
|
||||
|
||||
void vrfy_elements(int* a, int* b, int size, int rank)
|
||||
static void vrfy_elements(int* a, int* b, int size, int rank)
|
||||
{
|
||||
int i, counter = 0;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user