There is still a problem with OpenIB and threads (external to C/R functionality). It has been reported in Ticket #1539
Additionally:
* Fix a file cleanup bug in CRS Base.
* Fix a possible deadlock in the TCP ft_event function
* Add a mca_base_param_deregister() function to MCA base
* Add whole process checkpoint timers
* Add support for BTL: OpenIB, MX, Shared Memory
* Add support Mpool: rdma, sm
* Sundry bounds checking an cleanup in some scattered functions
This commit was SVN r19756.
OMPI trunk. Need all organizations to ensure I got spellings and
affiliations correct.
Also commit a helper script to help keep AUTHORS up to date on the
trunk; it should be run before we create release branches.
This commit was SVN r19612.
The new component fixes a number of problems with the old component. The core algorithm is the same, but by changing the data strucutres a bit we have improved performance and memory utilization.
There are still a couple corner cases that still need some work. However, I did not want to delay bringing this into the trunk (and v1.3 branch) for too much longer.
This commit was SVN r19537.
* Make the creation of the build dir for the man pages a bit more
robust (thanks to suggestions from Ralf W.).
* Only distribute the .Xin files, not the .X man pages themselves.
* Make the .X files depend on opal_config.h so that if you re-run
configure and change opal_config.h (e.g., a new version), the man
pages should get rebuilt.
* Man pages are now cleaned with "distclean", not "maintainer-clean".
* Fix a typo in opal_crs.7in.
* Udpate make_dist_tarball to update "date" in the VERSION file.
* Make make_dist_tarball a bit friendlier to hg checkouts.
This commit was SVN r19219.
Some minor changes to help facilitate debugger support so that both mpirun and yod can operate with it. Still to be completed.
This commit was SVN r18664.
parallel. Remove the "-j 4" so we don't get random tarball build failures.
Hopefully this won't take all that much longer to make the tarball each night.
This commit was SVN r18552.
Update the make_dist_tarball script and the HACKING file to the new trunk
autotools requirements, including the addition of a specific m4 version:
* m4 1.4.11
* autoconf 2.62
* automake 1.10.1
* libtool 2.2.4
This commit was SVN r18465.
The following Trac tickets were found above:
Ticket 1265 --> https://svn.open-mpi.org/trac/ompi/ticket/1265
Update the rsh tree spawn capability so we spawn the next wave of daemons before launching our own local procs.
Add an ability to encode nodenames for large clusters with contiguous node name numbering schemes - this allows communication of all node names in a few bytes instead of tens-of-bytes/node.
This commit was SVN r18338.
Greatly reduce the number of "foo" -> "opal_foo" symbol renames in the
libevent source, and instead greatly expand the event_rename.h file
that uses preprocessor macros to make all public symbols be
"opal_foo".
This commit was SVN r17923.
Some MPI C interface files saw some spacing changes to conform to the coding standards of Open MPI.
Changed MPI C interface files to use {{{OPAL_CR_ENTER_LIBRARY()}}} and {{{OPAL_CR_EXIT_LIBRARY()}}} instead of just {{{OPAL_CR_TEST_CHECKPOINT_READY()}}}. This will allow the checkpoint/restart system more flexibility in how it is to behave.
Fixed the configure check for {{{--enable-ft-thread}}} so it has a know dependance on {{{--enable-mpi-thread}}} (and/or {{{--enable-progress-thread}}}).
Added a line for Checkpoint/Restart support to {{{ompi_info}}}.
Added some options to choose at runtime whether or not to use the checkpoint polling thread. By default, if the user asked for it to be compiled in, then it is used. But some users will want the ability to toggle its use at runtime.
There are still some places for improvement, but the feature works correctly. As always with Checkpoint/Restart, it is compiled out unless explicitly asked for at configure time. Further, if it was configured in, then it is not used unless explicitly asked for by the user at runtime.
This commit was SVN r17516.
Update properties to ignore the carto_file_lex.c file since that is also dynamically generated.
Update the build-hgignore.pl to properly disregard DS_Store files
This commit was SVN r17301.
* Remove duplicate %{_sysconfdir} in the % files sections when
building the sub-packages.
* When building the sub-packages, ensure that devel.files also picks
up the F90 module.
* Hard-code the directory name "openmpi" into _pkglibdir (vs. using
%{name}) because the OMPI code base has it hard-coded as well.
Thanks to Jim Kusznir for noticing the problem.
This commit was SVN r17036.
* Fix some missing includes in a few places.
* Add the cr_request() functionality to the BLCR CRS component.
We are now dependent upon the 0.6.* series of BLCR.
* Made the CR notification mechanism a registered function.
This way we can have an OPAL-only version and it can be replaced at
runtime with the ORTE version.
* Add a 'opal_cr_allow_opal_only' parameter that will enable OPAL-only
CR functionality when the user wants it. Default: Disabled.
* Fix the placement of a checkpoint request check in MPI_Init
* Pull the OPAL notification mechanism into the SnapC framework.
* We no longer fork/exec the 'opal-checkpoint' command for local
checkpointing, the Local coordinator in the orted does this directly.
* The Local and Application coordinator talk together bypassing the OPAL
notifiation mechanism.
* Optimized the Local <-> App Coordinator communication.
* Improved the structure used to track vpid_snapshots in the local coord.
* Fix a race condition in which an application under heavy communication load
may produce an inconsistent global checkpoint.
This commit was SVN r16389.
grpcomm cnos component
- Remove the .ompi_ignore
- add a configure.m4 that should keep it from building on any system
other than Cray XT* (copied from rml/cnos)
- Fix some mis-named symbols resulting from cut/paste errors.
This patch brings the Cray build back into 'working' order.
This commit was SVN r15651.
Add support for Cray cross compile systems (otherwise configure fails)
This commit was SVN r15136.
The following SVN revision numbers were found above:
r15133 --> open-mpi/ompi@d3372729bb
use_default_rpm_opt_flags. It defaults to a value of 1, meaning that
we'll try to use $RPM_OPT_FLAGS. But if you're not compiling with the
GNU compilers, you might want to set this value to 0 so that your
compiler doesn't get flags that it doesn't understand (e.g., PGI 7.0
will barf on flags that it doesn't understand).
This commit was SVN r14477.
finally brings in functionality that is already on the 1.2 branch, and
was developed and tested in the v1.2ofed branch (and other places).
Short version of new features:
* Support for ibv_fork_init()
* Automatically fill in the openib BTL bandwidth value by
querying the HCA port
* Installdirs functionality
* Fixes to always use -I in the Fortran wrapper compilers (#924)
* Gleb's mpool updates
* Remove some kruft in btl/openib/configure.m4, therefore
fixing the harmless warnings noted in #665
* Bunches of updates to the Linux RPM spec file
I.e., effectively the same thing that r14411 brought to the v1.2
branch.
Also effectively brought in r14432 and r14433 (some fixes on top of
the original r14411 commit to v1.2). Still need to bring in the moral
equivalent of r14445 after this commit (fixes to installdirs).
This commit was SVN r14449.
The following SVN revision numbers were found above:
r14411 --> open-mpi/ompi@83b31314ae
r14432 --> open-mpi/ompi@a48f160595
r14433 --> open-mpi/ompi@68f346d2bc
r14445 --> open-mpi/ompi@13d366b827
include the fixes to the backtrace and signal handler code for x86_64 builds,
so no need to disable them in the configure code.
This commit was SVN r14278.
while LAM/MPI was at IU (well after it was at Notre Dame or OSC). I wrote
the original version, so I am positive of this fact. The ND and OSC
copyrights should never have been committed into the LAM/MPI tree, much
less the Open MPI tree as this code has no origin with either institution.
The bulk of the script was developed at Indiana University (again, almost
entirely by myself), with later additions after I moved to Los Alamos.
This commit was SVN r14277.
- Remove OMPI_VER_PACKAGE from the user-editable configuration
stuff -- users shouldn't ever need to deal with it
- Disable the stack trace stuff, since it causes problems
on 64 bit Intel builds
- Only include binaries for 32 bit platforms, but libraries
for 32 and 64 bit platforms
- Print more information about build configuration during
the start of the script
This commit was SVN r14276.
This merge adds Checkpoint/Restart support to Open MPI. The initial
frameworks and components support a LAM/MPI-like implementation.
This commit follows the risk assessment presented to the Open MPI core
development group on Feb. 22, 2007.
This commit closes trac:158
More details to follow.
This commit was SVN r14051.
The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
r13912
The following Trac tickets were found above:
Ticket 158 --> https://svn.open-mpi.org/trac/ompi/ticket/158
- mca_base_param_file_prefix
(Default: NULL)
This is the fullname of the "-am" mpirun option. Used to specify a ':'
separated list of AMCA parameter set files.
- mca_base_param_file_path
(Default: $SYSCONFDIR/amca-param-sets/:$CWD)
The path to search for AMCA files with relative paths. A warning will be
printed if the AMCA file cannot be found.
* Added a new function "mca_base_param_recache_files" the re-reads the file
configurations. This is used internally to help bootstrap the MCA system.
* Added a new orterun/mpirun command line option '-am' that aliases for the
mca_base_param_file_prefix MCA parameter
* Exposed the opal_path_access function as it is generally useful in other
places in the code.
* New function "opal_cmd_line_make_opt_mca" which will allow you to append a
new command line option with MCA parameter identifiers to set at the same
time. Previously this could only be done at command line declaration time.
* Added a new directory under the $pkgdatadir named "amca-param-sets" where all
the 'shipped with' Open MPI AMCA parameter sets are placed. This is the first
place to search for AMCA sets with relative paths.
* An example.conf AMCA parameter set file is located in
contrib/amca-param-sets/.
* Jeff Squyres contributed an OpenIB AMCA set for benchmarking.
Note: You will need to autogen with this commit as it adds a configure param.
Sorry :(
This commit was SVN r13867.
- only include binaries for ppc/i386 -- no need for 64 bit
- default to not printing load errors so that the XGrid pls
doesn't cause errors when doing 64 bit builds
This commit was SVN r13577.
* Separate out test clauses; don't have the same guarantees of
left-to-right evaluation in shell script that you do in other
languages (i.e., protect against the case of running "basename ''")
This commit was SVN r13463.
- The Verification check only checked that a file that's in SVN is there,
which AM would have complained about during make dist, so it's really
a pointless check
- No need to remove / restore autogen.sh, as AM isn't going to put it
in the tarball anyway, and even if it would, this thing would only
cause it to fail during make dist. All this step did was erase any
changes you had to autogen.sh when you run make_dist_tarball, which
really sucks.
This commit was SVN r13307.
deploy: will create a full binary distribution (.msi file)
ompi-small: will create an update binary distribution(
no include files, nothing else except the libs and execs).
ompi_install.sh: sh script to install manually into a specific
target directory.
This commit was SVN r12589.
little bit from the prior commit (r12051).
This commit was SVN r12052.
The following SVN revision numbers were found above:
r12051 --> open-mpi/ompi@72e202a432
* OFED bug 249 (http://openib.org/bugzilla/show_bug.cgi?id=249) where
Suse systems automatically add "-D_FORTIFY_SOURCE=2" to the
RPM_OPT_FLAGS, which works fine when you're compiling with gcc.
But not so much when using other compilers (_FORTIFY source
silently changes the names of functions like memcpy() in an attempt
to protect against buffer overflows, and uses a gcc __builtin
thingy that results in undefined symbols when you compile/link with
other compilers, such as icc -- as of 6 Oct 2006). So do some
horrid huersitics to see if we're using gcc, and if so, sed out any
FORTIFY_SOURCE stuff in RPM_OPT_FLAGS.
* If we're building a single rpm, don't bother creating the
runtime.files and devel.files files. And if we are making multiple
RPMs, then ensure to end the pipe chain with /bin/true so that if
the user specified --enable-static --disable-shared and the egrep
for *.so files fails, the return status from egrep (1) doesn't
cause RPM to barf. Specifically, do this so that /bin/true's
return value of 0 is always what rpmbuild sees, regardless of the
return status of egrep:
{{{
find $RPM_BUILD_ROOT -type f -o -type l | \
sed -e "s@$RPM_BUILD_ROOT@@" | \
egrep "lib.*\.a|lib.*\.la" > devel.files | /bin/true
}}}
This commit was SVN r12051.
* Remove LANL section; they don't want it
* Add some help for OFED building
* Remove some outdated "rm -f" lines for executables that we no longer
ship
This commit was SVN r12046.
* Print a warning error message if a target is not in an exposure epoch
and an update is received. This results in the app continuing with
that call having never happened, rather than evil hangs.
refs trac:325
This commit was SVN r11514.
The following Trac tickets were found above:
Ticket 325 --> https://svn.open-mpi.org/trac/ompi/ticket/325
backwards -- should have done the work on the trunk and merged to the
v1.1 branch).
This commit was SVN r11447.
The following SVN revision numbers were found above:
r11434 --> open-mpi/ompi@50d1587b10
r11444 --> open-mpi/ompi@bb4d7fac0e
stand now are built of a static list of files, the prototype for the packages
is not being dynamically generated. The goal will be to make changes to
have dynamically generated package prototypes.
This commit was SVN r11160.
- Just use the prefix in the % files list so that we a) grab the whole
tree and b) it removes all the directories when the RPM is removed.
Thanks to Bernard Li for reporting the problem.
This commit was SVN r10617.
up here on the trunk -- nothing has changes w.r.t the RPM packaging
yet). Used svn cp to bring in README and buildrpm.sh, but since
openmpi.spec already existed here, I couldn't svn cp because it
complained about one being in the way. I *could* svn merge it here to
preserve all the history, but I'm not really interested in the history
-- I just want to replace it en masse with the stuff from the 1.0
branch because that's the latest latest latest.
This commit was SVN r9720.
* Add a platform spec for using the portals reference implementation's
RTE instead of our own to make local testing easier.
* Add a cnos rmgr component so that 1) we don't have to build nearly
as many components (no need for ras,rds,pls,etc.) and 2) calls
to MPI_ABORT() won't print error messages about not being able to
contact the daemon. Still need to fill in some of the terminate
stuff with calls from cnos, but will come in time.
* Make gpr_null use the base code for creating value and keyval
structures so that we don't segfault in ompi_mpi_init().
This commit was SVN r9510.
tarballs: one with greek and one without -- without running "svn up"
in between. This guarantees that we have two tarballs of the same SVN
R number (e.g., vA.B.Crc7 and vA.B.C if rc7 turns out to be perfect).
Add option --greekonly if you know that there's no chance that this
tarball will be perfect, and therefore there's no point in making the
non-greek tarball.
This commit was SVN r8367.
"distcheck" does a bunch of sanity checks on the tarball to ensure
that it's good. Hence, if someone mucked up a Makefile.am, we'll find
out during distcheck rather than having all the nightly builds fail
(i.e., a new tarball won't be built and none of the builds will be
kicked off)
This commit was SVN r7572.
AM_INIT_AUTOMAKE, instead of the deprecated version.
* Work around dumbness in modern AC_INIT that requires the version
number to be set at autoconf time (instead of at configure time, as
it was before). Set the version number, minus the subversion r number,
at autoconf time. Override the internal variables to include the r
number (if needed) at configure time. Basically, the right thing
should always happen. The only place it might not is the version
reported as part of configure --help will not have an r number.
* Since AM_INIT_AUTOMAKE taks a list of options, no need to specify
them in all the Makefile.am files.
* Addes support for subdir-objects, meaning that object files are put
in the directory containing source files, even if the Makefile.am is
in another directory. This should start making it feasible to
reduce the number of Makefile.am files we have in the tree, which
will greatly reduce the time to run autogen and configure.
This commit was SVN r7211.
the OMPI suppressions file. Yeah, we could fix it, but that would mean
threading a finalize routine through the event library...
This commit was SVN r7187.
not to build to not be added to the ALL_COMPONENTS list and therefore
not distributed in a tarball
* add some of the contrib/ stuff to the dist tarball (the stuff to
make binary packages and the "--with-platform" files)
This commit was SVN r6955.
of flags to configure. Now don't need to specify the contrib/platform
part of the path if you don't want to
* Add "optimized" platform setting that will undo all the performance-
affecting things that a developer build sets up.
This commit was SVN r6946.
it plainly obvious
- Unlink source files when done with them
- Close the perl file handles after writing test source files so that
stale NFS handles aren't left around when building on networked file
systems (duh!)
This commit was SVN r6912.
Nightly build of trunk and test-suite (PMB and mpich-testsuite)
as defined in build-HOSTNAME.txt
Uses build_tarball.pl (which creates ompi-out-VERSION.txt)
Uses build_tests.pl (which uses ompi-out-VERSION.txt and creates
ompi-tests-out-TEST_VERSION.txt)
Then should qsub the all created combinations of MPI-installations
build_tests.pl:
- Updated to take package_dir; the test-suites subdirectory to
configure -- currently PMB and mpich-testsuite
This commit was SVN r6604.
which should ease building:
--no_check: do not make check -- may not be interesting,
we still want to do further testing.
--install-dir: On clusters, tmp may not be shared,
still, one may not want to use --scrdir
build_tests.pl is taken form build_tarball.pl.
Actually all subs are the same (is it possible to have
a module that is included by both?)
It configures and compiles two tests (now PMB and the
mpichtests) and installs them for later execution.
This takes a (misnamed) input --outfile, the output
file of build_tarball.pl, so the test-files are
compiled for every combination of OpenMPI-compilations.
The following ompi_crontab.sh script the pulls all
combinations of MPI-tests compiled and qsubs them.
This commit was SVN r5579.
- If -d is specified, it assumes that the next parameter is
a valid subdirectory path.
- If -f is specified, then it generates the statistic for tehse
files. Each -f is pared with one file only. So multiple files require
multiple -f's
- -p "%" can be given to spew out the files which have a coverage
below this percentage
This commit was SVN r5426.
- Added some minor changes to make sure that files are not reported more than once
- Print average coverage statistics
- TODO
- Add support to get statistics for a particular file
This commit was SVN r5418.
Currently, the fllowing have been implemented:
- the directory/ies are specified in a file "dir_list"
- gcov is run on all the files which were touched
- 4 files are generated as output
- touched_files (those files which generated .da files)
- untouched_files (those which did nto generate .da files)
- coverage_stats.txt (index, filename, dirname, %coverage)
- zero_coverage.txt (same as above, but for those with 0% coverage)
- Currently, the statistics are generated only for *.c and *.cc files.
gcov does infact generate the numbers for header files as and when
they are used. So, for every inclusion of a header file, a seperate
.da for that header file is created. To get the numbers out for
the header files, we need to aggregate all the stats for the header
files manually. This is yet to be done
Things to do;
- Generate the statistics for the header files
- Command line parsing instead of reading from "dir_list"
- Input a % and list all the files which were covered less
than that percentage
This commit was SVN r5415.
1. header file and source file protections using #ifdef WIN32
2. new files and directories to support windows functionality
3. appropritate linkage symbols added (OMPI_DECLSPEC) for windows
4. some functions are unimplemented on the windows side. this is mostly
because there might not be need to implement it in windows land. eg., forking
a daemon off
5. Introduced locking mechanisms for windows
This commit was SVN r3286.
compiled libraries and compononents. Still to do:
- check components
- send mail if it finds anything wrong
- check multiple installation directories (?)
This commit was SVN r2811.
it's not going to the testing@open-mpi.org list (correspondingly
remove the subject prefix from the testing@open-mpi.org list config)
- re-add a missing unlink() that was causing problems.
This commit was SVN r2517.
per-host / per-config basis because some people (like me!) have a
common scratch root on NFS for multiple machines (e.g., share a
downloads directory).
This commit was SVN r2410.
- ensure to only keep a finite number of old build roots around (build
roots are kept if you --leave-install or if there was a build error
-- so you can go look and see what the error was, etc.)
- check to see if the last run already built the same tarball version
that's currently on the nightly build website -- if we've already
tested it, there's no point in compiling / testing it again. This
should cut down on the volume of [repetitive] testing e-mails to the
mailing list.
- add --force parameter to override ^^ -- *always* compile/test,
regardless of whether we have tested that version before.
- fix logic removing old tarballs
This commit was SVN r2405.
confusion on what this script actually does (i.e., it does *not* run
the various test suites, etc. -- it just tries to build the tarball
and link some simple "hello world" MPI apps; it doesn't even try to
run them).
--This line, and those below will be ignored--
D nightly/test_tarball.pl
A nightly/build_tarball.pl
This commit was SVN r2269.
yet (still have stdout/stderr separated -- need to merge in some kind
of sane way). Will send details of how to use this script to the
devel list soon.
This commit was SVN r2265.