summaryrefslogtreecommitdiffstats
path: root/testpar
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r1115] Changes since 19990302Robb Matzke1999-03-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./INSTALL ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] Improvements for parallel library. If you have a properly working mpicc you should be able to just say: $ CC=mpicc ./configure and you will see checking for mpirun... /usr/local/mpi/bin/mpirun checking for parallel support files... skipped checking how to run on one processor... /usr/local/mpi/bin/mpirun -np 1 checking how to run in parallel... /usr/local/mpi/bin/mpirun -np $$NPROCS To quote from the INSTALL file.... *** Parallel vs. serial library The HDF5 library can be configured to use MPI and MPI-IO for parallelizm on a distributed multi-processor system. The easy way to do this is to have a properly installed parallel compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that executable as the value of the CC environment variable: [NOTE: mpcc is not tested yet] $ CC=mpcc ./configure $ CC=/usr/local/mpi/bin/mpicc ./configure If no such wrapper script is available then you must specify your normal C compiler along with the distribution of MPI/MPI-IO which is to be used (values other than `mpich' will be added at a later date): $ ./configure --enable-parallel=mpich If the MPI/MPI-IO include files and/or libraries cannot be found by the compiler then their directories must be given as arguments to CPPFLAGS and/or LDFLAGS: $ CPPFLAGS=-I/usr/local/mpi/include \ LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \ ./configure --enable-parallel=mpich If a parallel library is being built then configure attempts to determine how to run a parallel application on one processor and on many processors. If the compiler is mpicc and the user hasn't specified values for RUNSERIAL and RUNPARALLEL then configure chooses `mpirun' from the same directory as `mpicc': RUNSERIAL: /usr/local/mpi/bin/mpirun -np 1 RUNPARALLEL: /usr/local/mpi/bin/mpirun -np $${NPROCS:=2} The `$${NPROCS:=2}' will be substituted with the value of the NPROCS environment variable at the time `make check' is run (or the value 2). ./testpar/Makefile.in Saying `make check' (or `make test') will run the tests on two processors by default. If you define NPROCS then that many processors are used instead: $ NPROCS=4 make check ./configure.in Fixed (hopefully) bugs with detecting whether __attribute__ and __FUNCTION__ are special keywords for the compiler. ./Makefile.in Saying `make install' from the top level directory shows instructions for using shared libraries. ./config/commence.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Moved the @top_srcdir@ into the makefiles because it was expanded too early and had the wrong value. ./INSTALL Added a warning that if the wrong version of hdf4 tools are installed then `make check' will fail in the tools directory.
* [svn-r1112] Changes since 19990301Robb Matzke1999-03-021-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
* [svn-r1071] Moved the MPI test to a file of its own (t_mpi.c) for future ↵Albert Cheng1999-02-175-257/+258
| | | | | | | | | addition of other MPI tests. Changed return code tests from comparing with FAIL to with 0. Updated MANIFEST for the addition of a new file. Tested in O2k.
* [svn-r1068] Completed the previous to do auto-configure for parallel tests too.Albert Cheng1999-02-151-7/+6
| | | | | | Also removed the pre-defined "USE_PAUSE" since it should be invoked only in individual cases, rather than as defaults. Tested in O2K.
* [svn-r1035] t_file.c:Albert Cheng1999-01-272-2/+143
| | | | | | | | | | | Added a new test to verify the MPIO can support independent overlapping writes. testphdf5.c: Bracketed the MPIO write test with a #ifdef so that it is tested only when the explicitely turned on. Platform tested: O2K.
* [svn-r1034] Changed spelling of extendable to extendible just for ↵Albert Cheng1999-01-271-8/+8
| | | | consistency sake.
* [svn-r928] Changes since 19981118Robb Matzke1998-11-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5.c ./src/H5Smpio.c ./src/H5T.c ./src/H5Tconv.c ./src/H5Tpublic.h ./src/H5detect.c ./src/H5private.h ./src/H5public.h ./test/big.c The `long long' type isn't quite as prevalent as we had hoped; there is at least one system that defines `__int64' but not `long long'. Therefore, I've temporarily changed all occurrences of `long long' to `long_long' and then #define that in H5private.h based on the existence of `long long' or `__int64'. This gets rid of some #ifdef's in other parts of the code. The semantics of the hdf5 types are: *int8_t Exactly one byte *int16_t At least two bytes. We favor 32-bit integers over 16-bit integers if the 16-bit integer is 4-bytes wide (Cray) *int32_t At least four bytes. *int64_t At least eight bytes long_long The widest integral integer type The H5Smpio.c contains debugging code which is non-portable. ./tools/h5ls.c Changed the order native types are detected so we favor the name `int' over `short' or `long' if two of them are the same. ./config/conclude.in Added a rule to make test programs depend on the hdf5 library. This fixes a minor bug where changing H5detect.c and then running `make test' caused H5Tinit.c to not be recompiled and therefore the test files are not relinked.
* [svn-r907] Changes since 19981111Robb Matzke1998-11-131-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./INSTALL Added instructions about specifying a path for GNU zlib and HDF4 headers and library. Added comments for each of the tool names. Added h5toh4 as a tool name. ./configure.in ./conigure [REGENERATED] ./src/H5config.h.in [REGENERATED] The config/* scripts get invoked with $CC_BASENAME set the base name of the compiler in order to make it easier to handle setting compiler flags for different compilers in a big case statement. For instance, if $CC has the value /usr/local/mpi/bin/mpicc -ansi -64 then $CC_BASENAME will be `mpicc'. The $CC_BASENAME is not set if $CC is not set. Fixed alignment in `configure --help'. An include and/or library path can be specified for GNU zlib if configure can't find it in normal places. The "normal" means wherever your compiler normally searches, including search paths you've added through environment variables like CPPFLAGS and LDFLAGS. The INSTALL file has instructions. The `-ljpeg' library is detected. If `ssize_t' is not found then a #define is added to H5config.h similar to what we already do for `size_t'. We detect the hdf5 header file `mfhdf.h' and libraries `-lmfhdf' and `-ldf' and if found define the H5TOH4 and TESTH5TOH4 Makefile variables. The user can specify an include and/or library path. The INSTALL file has instructions. The `RUNTEST' variable has been split into `RUNSERIAL' and `RUNPARALLEL' because these are different commands. The makefile still uses `RUNTEST', which defaults to the RUNSERIAL value. The new testpar/Makefile.in sets RUNTEST to the RUNPARALLEL value. The default RUNSERIAL value is empty and the default RUNPARALLEL value is `mpirun -np 2'. These can both be overridden in the config/* files. To make the value the empty string set it like `RUNPARALLEL=none' in the config/* file. The new testpar/Makefile is generated from testpar/Makefile.in ./config/commence.in Added the RUNSERIAL and RUNPARALLEL makefile definitions. ./src/Makefile.in The `H5detect' program is run with RUNSERIAL, which is empty on all platforms except intel-osf1 (ASCI/Red) ./config/conclude.in Removed the `.c.a:' implicit rule -- we don't use it any more. ./config/BlankForm ./config/alpha-dec ./config/alpha-dec-osf4.0 ./config/freebsd2.2.7 ./config/hpux10.20 ./config/hpux9.03 ./config/intel-osf1 ./config/irix5.3 ./config/irix6.2 ./config/irix64 ./config/linux ./config/powerpc-ibm-aix4.2.1.0 ./config/rs6000-ibm-aix4.1.4.0 ./config/solaris2.5 All of these files have been updated to hande multiple compilers. Most of them assume `cc' if CC is not set. The documentation in `BlankForm' has been updated and documentation in the other files refer to `BlankForm'. The intel-osf1 uses LDFLAGS instead of LIBS to specify the extra library search paths. ./examples/Makefile.in ./test/Makefile.in ./tools/Makefile.in Simplified by grouping some dependency information together more succinctly. The tools Makefile.in has been modified to work with the `h5toh4' and `testh5toh4' programs. Until Paul checks these in you may have problems compiling. If so, just create files h5toh4.c and testh5toh4.c that contain: #include <stdio.h> int main(int argc, char *argv[]) { fprintf(stderr, "%s: not implemented\n", argv[0]); return 1; } ./src/H5public.h Removed definition for `ssize_t' since this is now handled by configure in H5config.h with a #define. ./MANIFEST ./testpar/Makefile.in [NEW] Added a makefile for parallel tests. As soon as we get this working properly we can remove the other four makefiles in that directory and maintain just one.
* [svn-r651] Changed name: call H5Sget_simple_extent_dims instead of old ↵Robert Kim Yates1998-09-011-2/+2
| | | | H5Sextent_dims.
* [svn-r634] *** empty log message ***Albert Cheng1998-08-311-1/+1
|
* [svn-r591] For IBM SP using mpich v1.1.1 and ROMIO.Robert Kim Yates1998-08-131-0/+95
|
* [svn-r564] Purpose:Paul Harten1998-08-033-19/+92
| | | | | | | | | | | | | | | | | | New feature Problem: Source code must be modified prior to compiling to allow full filenames to contain preferred user directories. Source must be recompiled everytime the preferred user directory changes. Solution: Instead, allow file prefixes preferred by user to be passed at runtime using the arguments "-f <prefix>". The "-f" to signal the next argument is to be a file prefix, and the "<prefix>" to be the actual prefix used. Platform tested: ASCI Red
* [svn-r543] Purpose:Paul Harten1998-07-241-1/+1
| | | | | | | | | | | | | Link Bug Fix Problem: Fixed a typo, Woops! Solution: replaced `H5Sexent_dims' with `H5Sextent_dims' Platform tested: ASCI Red
* [svn-r542] Purpose:Paul Harten1998-07-241-2/+2
| | | | | | | | | | | | | Link Bug Fix Problem: undefined reference to `H5Sget_dims' Solution: replaced with reference to `H5Sextent_dims' Platform tested: ASCI Red
* [svn-r483] Revised for alpha-2 release.Albert Cheng1998-07-134-19/+53
|
* [svn-r465] Replaced old H5Sset_hyperslab with new H5Sselect_hyperslab calls.Albert Cheng1998-07-072-43/+57
| | | | Tested on O2K.
* [svn-r461] Purpose:Paul Harten1998-07-072-5/+10
| | | | | | | | | | | | | | | | | | | | | | The purpose of the change is to correct the H5 filenames declared in testphdf5.c when used on the Intel TFLOP PFS system. Problem: The ROMIO library complains of the H5 filenames having no "piofs:", "pfs:", "ufs:", or "nfs:" prefixes on the filenames. The only type currently recognized are the "pfs:" prefixes, and the files must reside in the Intel TFLOP PFS system: /pfs. Solution: (REQUIRED) The compile flag -DPOOMA_ARCH=TFLOP is added to the list of CFLAGS in Makefile.ascired located in the parallel test directory. This compile flag will allow a special set of filenames to be used when compiling testphdf5.c on the Intel TFLOP. In addition, instructions to editing the filenames in testphdf5.c to reside in the user's own /pfs directory are included in INSTALL.ascired. Platform tested: Intel TFLOP
* [svn-r449] Corrected some grammar errors in the debug messages.Albert Cheng1998-07-052-70/+70
|
* [svn-r448] Updated with more tests for extendable datasets such as testingAlbert Cheng1998-07-053-38/+123
| | | | | the expected failures in writing data beyond the current dimension sizes and also in attempting to extend a dataset opened RDONLY.
* [svn-r442] MPIO library maintained by William M. Davidson (wmdavid) has beenAlbert Cheng1998-07-021-14/+9
| | | | | | | | | changed to use system supported MPI library. The path to it is changed slightly too. Updated all the paths variables. Also updated to reflect the new program source files structure. Platform tested: Intel Red
* [svn-r440] Header file for the PHDF5 tests. (forgot to add it last time.)Albert Cheng1998-07-011-0/+67
|
* [svn-r439] Changed the PHDF test programs substantially. Used to be just oneAlbert Cheng1998-07-014-900/+1144
| | | | | | | | big testphdf5.c file. Broke it into modules of related routines. testphdf5.c -- main routine and global variables initialization plus some ulitility routines. t_file.c -- tests of file operations using parallel I/O. t_dset.c -- tests of datasets operations.
* [svn-r427] Added -lm to libraries needed.Albert Cheng1998-06-161-1/+1
|
* [svn-r420] Put 'go' in the DISTCLEAN variable so that it will be cleanedAlbert Cheng1998-06-102-0/+2
| | | | for distribution.
* [svn-r419] Removed 'go' from the cleanup list. Let individual decides whenAlbert Cheng1998-06-102-2/+2
| | | | to purge the file.
* [svn-r403] Revised PHDF5 test program. Used VRFY macros instead ofAlbert Cheng1998-05-291-194/+170
| | | | | assert. That allowed more customization in the future (like allow different levels of verboseness.)
* [svn-r366] Purpose:Paul Harten1998-04-232-1/+117
| | | | | | | | | | New feature Solution: Parallel HDF5 support on Intel TFLOPS machine using PFS file system. Platform tested: Intel TFLOPS (ASCI Red)
* [svn-r352] *** empty log message ***Albert Cheng1998-04-172-19/+20
|
* [svn-r348] Removed shdf entries. With more parallel access features used,Albert Cheng1998-04-161-9/+3
| | | | | | it is hard to keep an equivalent sequential version. Its useness has diminshed too now that the basic parallel access features are working.
* [svn-r344] Added collective access tests to testphdf5.c.Albert Cheng1998-04-132-132/+598
| | | | | Changed the data file names to *.h5f to avoid potential mixup with the split file convention.
* [svn-r332] Overhauled the testing routines:Albert Cheng1998-03-301-73/+204
| | | | | | | Added routines to fill in test data and to verify data read back. Would verify data and report errors when detected. Added verbose flag to control output "volume"--be more verbose only if it is run with -v option.
* [svn-r331] Moved its code into testphdf.c. Easier that way.Albert Cheng1998-03-301-54/+0
|
* [svn-r330] Remove sphdf from the automatic tests. Need to be invoke ↵Albert Cheng1998-03-301-1/+1
| | | | | | | specifically instead of by default. It is getting harder to maintain a serial version of testphdf. May have to drop it later.
* [svn-r316] Added test for opening parallel file by communicator other thanAlbert Cheng1998-03-111-9/+98
| | | | COMM_WORLD.
* [svn-r308] revised according API changes.Albert Cheng1998-03-061-11/+12
| | | | | | Added #define FAIL patch due to confusion that API's are still defined to return FAIL while FAIL has been undefined from public.h.
* [svn-r307] Revised with new name schemes.Albert Cheng1998-03-051-23/+23
|
* [svn-r291] Changes since 19980206Robb Matzke1998-02-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./configure.in ./src/H5Fprivate.h ./src/H5Fsec2.c We now detect and use lseek64() on systems that have it (e.g., Irix64) and are able to generate >2GB files on Irix XFS file systems (and anything else that supports large files). This change also removed some warning messages from the Irix `-64' compiler. > $ ls -l istore.h5 > -rw-r--r-- 1 matzke meshtv 8605436856 Feb 17 14:03 istore.h5 ./configure.in ./src/H5Fprivate.h ./src/H5Fstdio.h We now detect and use fseek64() on systems that have it (e.g., Irix64) and are able to generate >2GB files on Irix XFS file systems (and anything else that supports large files). This change also removed some warning messages from the Iris `-64' compiler. ./src/H5E.c ./src/H5Epublic.h Added the H5E_OVERFLOW error to signal file address overflow. ./src/H5Fpublic.h ./examples/h5_chunk_read.c ./examples/h5_compound.c ./examples/h5_extend_write.c ./examples/h5_group.c ./examples/h5_read.c ./examples/h5_write.c ./html/Datasets.html ./html/Files.html ./html/H5.api.html ./html/H5.intro.html ./html/H5.sample_code.html ./html/ph5example.c ./html/review1.html ./test/cmpd_dset.c ./test/dsets.c ./test/extend.c ./test/tfile.c ./test/th5p.c ./test/theap.c ./test/tohdr.c ./test/tstab.c ./testpar/phdf5.c Renamed file access constants to follow the naming scheme. Also changed the base names a little to be more accurate as to what they do. The old names H5ACC_WRITE and H5ACC_OVERWRITE will temporarily work. H5ACC_DEFAULT --> H5F_ACC_RDONLY for H5Fopen() H5ACC_DEFAULT --> H5F_ACC_EXCL for H5Fcreate() H5ACC_WRITE --> H5F_ACC_RDWR H5ACC_OVERWRITE --> H5F_ACC_TRUNC Albert or Kim: The H5ACC_INDEPENDENT and H5ACC_COLLECTIVE macros in H5Fpublic.h should be an enum typedef and have names more like H5F_MPIO_INDEPENDENT and H5F_MPIO_COLLECTIVE. Also change the access_mode argument of H5Cset_mpio(). H5Fcreate() and H5Fopen() are more strict now about which flags are acceptable for the operation. ./src/H5Fprivate.h ./src/H5F.c ./src/H5C.c Changed the file access template to make it more general. A union contains a struct for each type of low-level driver and the default template is initialized at run-time. ./src/H5Fpublic.h ./src/H5F.c Added H5Fget_access_template() and cleaned up H5Fget_create_template(). ./src/H5C.c The H5Cset_mpi() no longer trashes the file access template when an error is detected. We check for errors and *then* update the file access template. Added H5C_close() so Albert and Kim have a place to release the MPI communicator and info from the file access property list. Kim or Albert: I notice in H5Cset_mpi() you copy the MPI communicator. Do you need to do something similar in H5C_copy()? ./src/H5F.c Added more error checking for the file creation and access property lists because it used to be possible to make the library dump core by swapping the creation and access property list ID numbers of H5Fcreate(). ./test/istore.c ./test/tfile.c ./test/th5p.c ./test/theap.c ./test/tohdr.c ./test/tstab.c ./testpar/testphdf5.c One must pass H5C_DEFAULT as the file creation or access property list in order to get the default property list. It is no longer possible to pass zero or any other arbitrary bad object ID. ./src/H5Fcore.c ./src/H5Ffamly.c ./src/H5Flow.c ./src/H5Fmpio.c ./src/H5Fsec2.c ./src/H5Fsplit.c ./src/H5Fstdio.c ./src/H5MF.c The file access property list is passed to all H5F_low_...() functions and to the drivers. ./src/H5Fcore.c The block size can be set at run time on a per-file basis instead of at compile time across all files. The "5000 items in a group test" now takes 1.6 seconds. ./src/H5private.h Removed inclusion of mpi.h and mpio.h since they're included from H5public.h. ./src/H5Cpublic.h ./src/H5C.c Added H5Cset_stdio(), H5Cset_sec2(), H5Cset_core(), H5Cset_split(), and H5Cset_family() in addition to the H5Cset_mpio() that Kim and Albert already wrote. We still need the H5Cget_driver() and an H5Cget...() counterpart for each of those functions. The split and family drivers still need a little work but I'm checking this in anyway.
* [svn-r284] Added more comments.Albert Cheng1998-02-161-1/+13
|
* [svn-r281] Initial version.Albert Cheng1998-02-161-0/+23
|
* [svn-r275] Initial version of test files for the parallel library.Albert Cheng1998-02-143-0/+501