strings. Here's one: no matter how much of the string you copy, the
destination string must be space-padded for the entire remaining area.
Specifically, even if you call MPI_INFO_GET and tell MPI to only copy
a max of N characters of the value into the result string, if the
Fortran string is M characters (where M > N), MPI must space-pad the
remaining (M-N) characters to be spaces. So you're supposed to obey
the argument to MPI_INFO_GET... sorta.
Precedents:
* http://www.ibiblio.org/pub/languages/fortran/ch2-13.html
* LAM/MPI
* Sun CT MPI
This commit was SVN r11412.
create a process component which use CreateProcess to spawn the child.
Special care should be taken in order to correctly redirect the stdin,
stdout and stderr of the child process.
This commit was SVN r11405.
I know it does not make much sense but one can play around with the
performance. Numbers are available at http://www.unixer.de/research/nbcoll/perf/.
This is the first step towards collv2. Next step includes the addition
of non-blocking functions to the MPI-Layer and the collv1 interface.
It implements all MPI-1 collective algorithms in a non-blocking manner.
However, the collv1 interface does not allow non-blocking collectives so
that all collectives are used blocking by the ompi-glue layer.
I wanted to add LibNBC as a separate subdirectory, but I could not
convince the buildsystem (and had not the time). So the component looks
pretty messy. It would be great if somebody could explain me how to move
all nbc*{c,h}, and {hb,dict}*{c,h} to a seperate subdirectory.
It's .ompi_ignored because I did not test it exhaustively yet.
This commit was SVN r11401.
versions of the thread lock functions to determine at runtime if a lock
is needed) to OMPI_ENABLE_PROGRESS_THREADS instead of
OMPI_HAVE_THREAD_SUPPORT. Opal only starts a thread when
OMPI_ENABLE_PROGRESS_THREADS is enabled, and ORTE never really starts
a thread that requires special locking considerations.
MPI_INIT would set opal_uses_threads to true if thread level was
greater than MPI_THREAD_SINGLE, but it would never decreast the
value of opal_uses_threads, meaning that we always enabled all that
locking if we did a threaded build, which isn't neccessary. Now
we do locking iff progress threads are enabled OR thread level
is above MPI_THREAD_SINGLE.
This commit was SVN r11390.
remaining changes are in event.c and event.h, plus everything in the
WIN32-Code directory. I still have to find a way to make it working on
Windows without these changes, but I have good hopes. However, the
the code in WIN32-Code will have to stay there as it's more stable
than the one provided by the libevent project.
This commit was SVN r11386.
and MPI_WIN_DISP_UNIT were off by one from their C counterparts.
This fixes trac:304.
This commit was SVN r11385.
The following Trac tickets were found above:
Ticket 304 --> https://svn.open-mpi.org/trac/ompi/ticket/304
as we can have multiple threads in the event library if there are multiple
MPI threads. Well, we could, once I fix the need for the lock in
opal_progress(), which should happen shortly. Anyway, we need to use the
same locking scheme throughout the code, and the device support was
already using the OPAL_THREAD__{lock,unlock} macros, which only go
active when we think there are multiple threads we care about.
Also, stop duplicating the OPAL_THREAD_SCOPED_LOCK macro's functionality
and use it in a bunch of places in the code.
This commit was SVN r11383.
functionality of libevent for Windows. Anyway, these functions are not
currently used in the Open MPI project, so it's safe to remove them from the
Windows library. But, they should be never used otherwise changes are
required.
This commit was SVN r11378.
- Remove extra NULL argument from rsh module.
This commit was SVN r11377.
The following SVN revision numbers were found above:
r11347 --> open-mpi/ompi@f52c10d18e
convert between fortran and C string representations properly. In
doing so, we properly adhere to the MPI spec stating that MPI_Info
keys and values must be whitespace-trimmed when coming in from
Fortran. Hence, this fixes bug #241.
This commit was SVN r11356.
- use the OPAL functions for PATH and environment variables
- make all headers C++ friendly
- no unamed structures
- no implicit cast.
Plus a full implementation for the orte_wait functions.
This commit was SVN r11347.
The same treatement will happens on all sub-projects. The .h files
have to be C++ compatibles and all symbols with an external visibility
have to get the {PROJECT}_DECLSPEC in front of the prototype.
This commit was SVN r11340.
range of OS friendly path management functions, such as opal_basename
opal_dirname. They should always be used instead of basename and
dirname. There are several functions which allow us to create paths
that are compatible with the OS.
The OPAL_ENV_SEP define should be used (instead of ':') when a env
variable is splitted.
This commit was SVN r11336.