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