This section lists the changes to mpich since the previous version. These changes are taken from the CVS log entries that accompany each change and may not be complete or entirely accurate.
=1pt
- '#elif defined(FOO)' is better than '#elif FOO' if FOO might be undefined
- (romio) clean up the output a bit more
- (various configure.in files) for autoconf 2.13 and on, AC_SEARCH_LIBS adds any necessary libraries to the LIBS variable, so I modified our configure scripts to no longer rely on internal autoconf variables (ac_vc_search_*) and instead use LIBS.
- a start at adding pvfs2-specific hints
- Add DESTDIR to installation paths
- Add NETBSD uniformly to timer directory
- add PVFS2 to the list of filesystems that don't support shared file pointers
- Add a test for no f90 compiler
- Add code to save/set status on split collectives
- Add locations for Java
- Add mpi include path when testing for MPI_Offset size and only perform that test for Fortran
- Add mpichversion to MPICH and ensure that change directory commands in Makefile are successful before executing the next step
- Add new methods for data type SLOG_strlist_t
- Add support for io tests and upgrade runbase
- added 'struct gridftp_params' for MPICH-G2's use of Globus GridFTP
- Added .deps to .cvsignore
- Added AC_OBJEXT and AC_EXEEXT changes to Makefiles to support cygwin.
- Added AC_OBJEXT and AC_EXEEXT to configure.in and related changes to aclocal_mpi.m4, this is done to support cygwin.
- added API for IBM
- Added BUILDING_MPI symbol to suppress link tests in the midst of building
- Added CPPFLAGS to PAC_TEST_PROGRAM
- Added EXEEXT to move targets for cygwin
- Added FREEBSD_PPC machine time (like FREEBSD except for data representation
- Added FREEBSD_PPC to known arches for p4
- Added FREEBSD_PPC to known systems
- Added Fortran binding for MPE_Log_send() and MPE_Log_receive()
- Added LINUX_PPC to known arches
- Added MPE_LOGFILE_PREFIX to allow specification of MPE output filename prefix.
- added MPI_Pcontrol for illustration
- Added RANLIB
- Added Rabenseifner's algorithm for long-message Reduce and Allreduce. Also added a lgp recursive halving algorithm for Reduce_scatter in the case of commutative ops
- Added TAGS targets
- added __LINE__ to MPIR_Err_create_code
- Added a check for time.h and that sys/time.h and time.h may be used together
- Added a comment about determining the largest fd
- Added a default for F77 if no architecture is recognized
- Added a dummy definition of GREQUEST to make the romioconf.h.in files the same for configure and configure2
- Added a few comments about fields in File structure
- Added a fix for zap_p4_processes
- Added a freebsd_ppc type (likely MacOSX)
- Added a macro defn so that other parts of MPICH can tell if MPIO_Request has been defiend
- Added a more forgiving check for a valid arch in the MACHINES file
- Added a new test with an increment of two for group creation
- Added a note about problems with the AC_EXEEXT macro in autoconf 2.13
- Added a short comment about MPI_CC
- Added a test for READ_ONLY file
- Added a test for a failure in ROMIO configure
- Added a test that struct statfs can be compiled, because of problems with the Intel C compiler and glibc
- Added a way to skip the does-it-run-cleanly step, needed for coverage tests (which rarely run cleanly)
- added ad_iopen.c
- Added additional positional args for gcc
- Added additional search dirs
- added an MPI_Type_free for an MPI_Allgather subroutine
- Added an additional step to drain incoming messages and a comment about ordering head-to-head rendezvous messages
- Added an empty coverage target to MPE
- Added an option for an environment variable to set the stopfile
- Added another Linux synonym
- Added another test for cancel of Issend based on an MPICH bug report (currently MPICH1 fails this test with a SEGV in ch_p4 device)
- Added autom4te.cache to .cvsignore
- added barrier to MPI_File_close to avoid deletion of shared file pointer file while others were still accessing it.
- added bug fix sent in by Wei-keng on atomicity in collective writes (Req #516)
- added casts to int from functions that return size_t and added MPIU_dbg_init() to initthread
- Added check for getopt.h
- Added code to determine the argc/argv support needed for the ROMIO Fortran tests
- added code to propagate environment variables for Nick. Nothing happens unless P4_SETS_ALL_ENVVARS is set
- Added code to provide accurate MPI error classes for failure to open file (e.g., path too long, missing directory, no such file)
- Added comment about incompatible demon options in mpd1 and mpd2
- Added comments about setting the working directory
- Added copyright statements to ROMIO test programs
- Added coverage options and standard enable/disable for f77
- Added coverage output files to cvsignore
- Added coverage targets
- Added definitions to allow ROMIO programs that use MPIO_Wait to work with ROMIO under MPICH2, where generalized requests allow MPI_Wait et al to work
- added documentation comments, reported memory errors, put the pmi database on the root process
- added error checking blocks
- added error code for local success but remote file_open failure
- added error message catalog dll to ch_nt device
- Added exec_prefix and sbindir to mpirun variables so that we can invoke tools like cleanipcs in sbindir
- Added explanation when error seen
- Added export of OPTFLAGS and OPTFLAGSF so that all parts of MPICH get -opt=flags
- Added failure return if manager cannot be found
- Added fixes for autoconf later than 2.13; also make a failure to build slogsdk non-fatal
- Added function prototype and stdlib.h header to eliminate compiler warning on exit()
- added globus_core to globus-makefile-header command as a workaroundto newly introduced bug in either globus-makefile-header (notfinding the implicit dependency for it) or gpt-build (not seeingthe stuff from globus-makefile-header)
- Added hooks for ROMIO to propagate shared library information
- Added hooks for generating shared libraries for ROMIO adio/common directory
- Added if test to ROMIO configure to bypass check for Fortran if --disable-f77 is selected
- Added ifc to f90 compilers
- Added large file support for 32-bit OS: Added test to configure.in to check if O_LARGEFILE is available (Ref: http://ftp.sas.com/standards/large.file/xopen/x_open.05Mar96.html) and required macros to mpeconf.h.in.
- Added markers for error-checking code to aid in coverage analysis
- Added master_top_srcdir and man page documentation targets
- Added missing test for MPI_STATUS_IGNORE
- Added more support for shared libraries
- Added most of the multiple completion waits and tests in MPIO_Waitany etc. form
- Added mpicxx to installed files, and handle case-insensitive file systems (for Mac OS X)
- Added mpicxx to known compiler names
- added new algorithms for alltoall, allgather, and allgatherv
- Added optional definition of S_ISLNK if strict ANSI selected for C
- Added patch sent in by multiple people for uninitialized data bug
- Added pointer in ADIO_File structure for file system specific use.
- Added quotes to protect against an empty variable
- Added some tests for struct flock problems
- Added special support for TFLOPS architecture and devices that do not have MPID_Status_set_bytes
- Added stdlib.h
- Added stdlib.h header to eliminate compiler warning on exit()
- Added support for gcc dependency creation
- Added support for including patch information in mpichversion
- Added support for mpichversion
- Added support for setting group id
- Added support to make SLOG1 API's library and related tools depending on the successful return of the SLOG1 API's configure. This is added to support Cray. Also, modify some global subroutines that have CLOG_ prefix to C2S1_ instead( abbi's code ).
- Added temporary ac_subst items to enable the rest of the ROMIO tests
- Added test for CPP
- Added test for errno == 0 because of Solaris bug (return -1 but errno not set)
- Added test for pvfs header and int64_t definition fix
- added text on needing lockd daemon to NFS file lock error message
- Added the package slog2sdk to the configure.in and Makefile.in. Also added support for drop & configure support for slog_api, viewers and slog2sdk.
- adding ch_p4mpd device files
- adding files for lib in p4mpd
- adding files in include dir for p4mpd
- adding mpd source configure- and make-related files
- adding mpd source files
- adding top-level p4mpd files
- adjusted error handling block
- Allow -n as a synonym for -np in mpirun
- Allow a path list for mpd and make sure that it is propagated from the top-level configure
- Allow compile commands with options in command tests
- Allow empty arguments in mpeinstall
- Allow make to be set from the environment
- Assert that we support funneled thread safety
- autoconf already substitutes @prefix@, so don't manually AC_SUBST(PREFIX)
- Be sure to copy all data out of a short received packet before returning it to the available pool (where another process may use it)
- Better handle misssing comparison file
- cache local ip string
- Capability now there to use dataloop code for flattening, but it is currently disabled (at the top of flatten.c).
- ch_nt: added ad_set_view.c
- ch_nt: added gencheck.c to the project files
- ch_nt: added host name to error output
- ch_nt: added some retry code to avoid thread creation failures
- ch_nt: added synchronization to shmem queue initialization
- ch_nt: added the ability to share memory accross local windows workstation boundaries
- ch_nt: fixed mpptest in the examples \\nt directory
- ch_nt: updated error messages
- Change := to = in LIBS assignment
- Change mpptest output to use gnuplot by default
- Change p4_dprintf to p4_dprintfl in p4_sock_cr.c so that messages about environment are not printed by default
- Changed AUX_DIR to point to local version
- changed MPIR_ALLREDUCE_TAG to MPIR_REDUCE_SCATTER_TAG in a few places in reduce_scatter
- changed MPI_File_open to fail on all processes if any process returns error
- changed NULL to MPI_DATATYPE_NULL in ad_init.c
- Changed error message for intracomm expected
- changed faulty var name hostname -> host_name in DEBUG
- Changed max msg queues from 8 to 64 in p4_MD.h
- changed maximum number of processes from 32 to 256
- changed minimum spanning tree to binary tree in algorithm description for collectives
- changes to utilize GridFTP
- Check for PRINT_ERR_MSG defined
- Check for STATUS_IGNORE
- Check for and use errno.h
- Check for and use stdlib.h
- Check for broken autoconf (without support for AM macros)
- Check for f90 include files before trying to install them
- Check for mpichversion.exe for cygwin installations
- Check for needs int64_t definition
- Check for read-only access to the file before attempting to write
- Check the status of most MPI_File operations.. added some commented-out hints we should use whenever we teach coll_test how to handle more command-line arguments than just -fname
- Clean up ROMIO makefile
- Clean up ROMIOs aclocal.m4
- Cleanup use of getopt and use header file when available
- close a small memory leak
- closes romioreq #515: with pete wycoff's suggested fix: don't override user-specified include path.
- configure test for fstypename means we don't have to test for specific bsd versions anymore
- correct the markup for the deferred open hints
- corrected bug in mpirun.globus2 script: -np X with X>255 should work on any platform -- bug uncovered by [email protected], sent to [email protected] on Tue, 25 Nov 2003 13:19:57 +0800 (CST)
- Corrected message about number of allowed processes in test
- Create the links for the sharedlib names for use in-place
- DESTDIR for mpiinstall.in
- declared integer toterrs in isendf.f
- deferred open: now open the file if independent io attempted
- deleted trailing spaces in fortran/configure.in
- Deleted useless symbols: double precision MPE_WTIME, MPE_PTIME
- derrive the 'deferred_open' hint if the "no independent io" and "use collecitve buffering" hints are turned on.
- Detect a wtick of 0
- Do not define MPI_Info_xxx as PMPI_Info_xxx when building the MPI_Info routines in mpi2-other/info
- do not do link tests if building withing an MPI implementation
- Do not fail if we cannot remove a link to mpif.h that we believe we have created
- do not override includedir
- document no_indep_rw a bit better
- documentation to use SLOG-API to add arrow
- don't assume MPI_INFO_NULL is zero. explicitly compare against MPI_INFO_NULL
- don't mung MPI_LIB if you can help it. if ROMIO needs extra (non-mpi) libraries to link, use ROMIO_LIBLIST
- don't set C_OPT_FLAGS if user provides CFLAGS (closes: mpich2-req 238)
- Eliminating common uninitialized symbols in ROMIO common/ad_init.c.
- Ensure that CFLAGS is exported as well as CC in case the user has placed flags that change the compilers behavior in significant ways into CFLAGS instead of CC
- Ensure that MPI->PMPI mapping is used for internal routines
- Ensure that PAC macros are all expanded or not present in generated configure (like AC macro names, they should not even be in comments to simplify error checks for unexpanded macros)
- Ensure that all tests use FFLAGS or F90FLAGS
- Ensure that definitions of HAVE_MPI_INFO have the same value
- Ensure that long long is 8 bytes before using it for int64_t
- Ensure that sockets are only closed if they have been opened (some logic paths might not set end_1 and/or end_2)
- Ensure that status is set correctly for count == 0
- Ensure that temporary test files are removed
- Ensure that the ENABLE_SHLIBS variable is none if not building shared libraries in ROMIO
- Ensure that the Fortran interface libraries have the ranlib step applied
- Filter additional processes from aborttest checks
- fine-tuning hint precedence for deferred open
- first cut at using generalized requests, if avaliable
- Fix Makefile.in so it won't build mpereconfig from mpereconfig.in
- Fix ROMIOs scheme for detecting Fortran naming convention to use - in strings (-a isnt enough under Mac OSX)
- Fix [] bug in C++ autoconf macros (missing changequote statements)
- Fix array length
- Fix begin->end in error handling comment
- Fix for --enable-boot for ch_p4mpd testing
- Fix for MPICH variable in mpeinstall
- Fix for ROMIO under MPICH1
- Fix for exclude and machine files with ncpus specifiers
- Fix for gcc 3.2 weak symbols
- Fix for mpich-1 and romio
- fix for new mpiinstall
- Fix for read of uninitialized storage and error in the macro to check if a send has been cancelled
- Fix for shared libraris in ROMIO
- Fix for some broken automakes
- Fix for the second use of aborttest
- Fix ifdef for verbose output
- Fix incorrect use of config.log
- Fix invokation of romio configure
- Fix long-standing problem with IO tests in test suite
- Fix missing ierr on Allreduce call
- Fix missing semicolon
- Fix problems with dependency generation code
- Fix test for send datatype to apply only at the root process
- fix the unparameterized MPIR_Err_create_code calls
- Fix to allow totalview to work when -nolocal is selected
- Fix to ensure that include path is included in tests
- Fix typo in one of the wtime declarations
- fixed -hosts option bug
- fixed MPI_FILE_NULL warning and configuration bugs in ROMIO Fortran tests
- fixed ROMIO Fortran interface for gcc 3.2
- Fixed a bug in init_g.c caused by globus_duroc_intra_subjob_sendthat put a limit on the number of procs that could be startedANDcommented out "sanity checking" code that prevented MPICH-G2 fromlinking against the Globus Toolkit 2.4.3 libraries that were distributedin GT v3.2.
- fixed a logic problem comparing fd->info to MPI_INFO_NULL
- fixed bug in MPID_Comm_init so that it will now work with new MPI-2 functions MPI_Comm_connect,accept on machines with vMPI.
- fixed bug in MPI_Reduce_scatter
- fixed bug in alltoall
- fixed bug in bnr.c: reset global fence flag
- fixed bug in file_set_errhandler
- Fixed bug in noncontig memory/contig file listio code (not calling status set bytes).Added new combining write functionality into non-listio strided write, removing writev calls.
- fixed bug in reduce scatter
- Fixed bug in semop call when interrupts received
- fixed bug in type_create_darray
- fixed bug in weak symbols test in ROMIO's configure.in
- fixed bug related to MPI_DISPLACEMENT_CURRENT
- fixed bug with 0-size messages in collectives
- Fixed bugs in the new ROMIO configure