linked into libmpi
* add --enable-mca-direct to specify components that should be directly
called (instead of going through component structs and the like). The
components and component frameworks must explicitly support this.
Currently, only the TEG PML does so.
* Updated all the calls to the PML to use a macro so that they can either
be direct called or called through function pointer interfaces (aka
the component infrastructure)
This commit was SVN r5291.
ompi_mpi_init(): we no longer *query* the components to see what they
can support -- instead, we *tell* the components what they need to
support (if they can't support it, they should disqualify themselves
from selection).
This involved a bunch of things:
- pass the configure-time-decided OMPI_ENABLE_PROGRESS_THREADS and
OMPI_ENABLE_MPI_THREADS constants to each framework selection
function
- eliminate mca_base_init_select_components()
- eliminate all "allow_multi_user_threads" and "have_hidden_threads"
kinds of arguments and aggregation from various framework selection
and component/module functions
- correctly determine the max MPI thread level that we can support and
limit the final MPI thread level as appropriate during
ompi_mpi_init()
As a side effect, while editing nearly every MPI component I also did
the following:
- found 2 places (gm and ib ptls) where ompi_set_using_threads() was
erroneously being called (I think this is left over kruft from
misunderstandings by the original authors). I removed these.
This commit was SVN r5055.
files once. Turns out that linkers *aren't* smart enough to just
"figure it out" and ensure that we only get one copy (or perhaps it's
libtool who's trying to be too smart...?).
This commit was SVN r4371.
- Change mca_mpool_base_close() to know that mpool modules with a NULL
finalize should be skipped (i.e., it's legal)
- Fix a few function names in accorance to the prefix rule
This commit was SVN r4015.
* make sure to install the libevent header
* make Automake create the sysconf_DATA directory before trying to
install the config files
This commit was SVN r3614.
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.
- Add #include "ompi_config.h" to all .c files, and ensure that it's
the first #included file
- remove a few useless #if HAVE_CONFIG_H checks
This commit was SVN r3229.
thingy needs to go on the *declaration*, not the *definition*. Well,
at least this was all done en masse and via an automated mechanism, so
total time wasted was only about 15 minutes...
This commit was SVN r2858.
specific AC_DEFINE to a specific header file), emulate the behavior
of AC_HEADER_FILES when saving the values from the VERSION files;
dump them into a temporary file and diff them against the
already-existing .h file. If they're the same, do nothing. If
they're different, replace the .h file.
- With this capabiliy, move the #define's of all version numbers out
of ompi_config.h and into component-specific <type>-<name>-version.h
header files. This will prevent a lot of extra compilation when
you updat your local svn working copy.
- Remove the requirement for having a VERSION file. If you don't have
it, then a .h file with your version numbers won't be generated.
- Remove the VERSION file from lots of components that don't use it.
I've added it to my "consistency" list to go back and re-add them
along with using the proper #define's in the component struct after
we reach a period of stability.
This commit was SVN r1999.
horizontal integration
- Move the mpool_sm_mmap.[ch] files to a new sm common code area, and
rename to common_sm_mmap.[ch]
- update sm ptl and mpool to refer to the sm common code area for the
mmap code
This commit was SVN r1930.
code base.
- many (most) mca type names have "component" or "module" in them,
as relevant, just to further distinguish the difference between
component data/actions and module data/actions. All developers
are encouraged to perpetuate this convention when you create
types that are specific to a framework, component, or module
- did very little to entire framework (just the basics to make it
compile) because it's just about to be almost entirely replaced
- ditto for io / romio
- did not work on elan or ib components; have to commit and then
convert those on a different machine with the right libraries and
headers
- renamed a bunch of *_module.c files to *_component.c and *module*c
to *component*c (a few still remain, e.g., ptl/ib, ptl/elan, etc.)
- modified autogen/configure/build process to match new filenames
(e.g., output static-components.h instead of static-modules.h)
- removed DOS-style cr/lf stuff in ns/ns.h
- added newline to end of file src/util/numtostr.h
- removed some redundant error checking in the top-level topo
functions
- added a few {} here and there where people "forgot" to put them in
for 1 line blocks ;-)
- removed a bunch of MPI_* types from mca header files (replaced with
corresponding ompi_* types)
- all the ptl components had version numbers in their structs; removed
- converted a few more elements in the MCA base to use the OBJ
interface -- removed some old manual reference counting kruft
This commit was SVN r1830.
- Updated autogen.sh and friends to be more flexible and allow
components to be configured and built outside of the Open MPI tree
- Removed $(LIBOMPI_LA) from all component Makefile.am's -- it's
unnecessary
This commit was SVN r1566.
--disable-mca-dso to build MCA components statically as part of
libmpi, or --enable-mca-dso=LIST to only build some components as DSOs
(see ./configure --help for more details).
This commit was SVN r1521.
- for threaded case - cleanup event libraries progress thread
- cleanup of request handling for persistent sends
- added support for buffered sends
This commit was SVN r1461.
yet), guarantee to initialize the *allow_multi_user_threads so that we
don't get read-from-uninitialized warnings in valgrind.
This commit was SVN r1446.