map_to_processor_id,
map_to_socket_core,
max_processor_id,
max_socket,
max_core.
In OS other then Linux, those functions will return OPAL_ERR_NOT_SUPPORTED.
--This Line, and those below, will be ignored--
M paffinity/linux/paffinity_linux_module.c
M paffinity/paffinity.h
M paffinity/base/base.h
M paffinity/base/paffinity_base_wrappers.c
M paffinity/windows/paffinity_windows_module.c
M paffinity/solaris/paffinity_solaris_module.c
This commit was SVN r17173.
structure up into the MPI::Grequest class (rather than being a struct
definition outside of any class) to be similar to how the keyval
intercept data structures are organized. Fix one minor compiler
warning in the process.
This commit was SVN r17171.
This patch fixes the segfault, so closing the ticket might be possible.
It's a very conservative patch. Perhaps the freeaddrinfo spec says that
it will never allocate res in case of errors, but for now, I neither
have the spec nor the will to rely on it.
This commit was SVN r17150.
"const" in the argument creates [correct] warnings (because __FILE__
is a (const char*)). Plus, opal_object.cls_init_file_name is already
(const char*).
This commit was SVN r17145.
- the registration array is now global instead of one by BTL.
- each framework have to declare the entries in the registration array reserved. Then
it have to define the internal way of sharing (or not) these entries between all
components. As an example, the PML will not share as there is only one active PML
at any moment, while the BTLs will have to. The tag is 8 bits long, the first 3
are reserved for the framework while the remaining 5 are use internally by each
framework.
- The registration function is optional. If a BTL do not provide such function,
nothing happens. However, in the case where such function is provided in the BTL
structure, it will be called by the BML, when a tag is registered.
Now, it's time for the second step... Converting OB1 from a switch based PML to an
active message one.
This commit was SVN r17140.
for dynamic selection of cpc methods based on what is available. It
also allows for inclusion/exclusions of methods. It even futher allows
for modifying the priorities of certain cpc methods to better determine
the optimal cpc method.
This patch also contains XRC compile time disablement (per Jeff's
patch).
At a high level, the cpc selections works by walking through each cpc
and allowing it to test to see if it is permissable to run on this
mpirun. It returns a priority if it is permissable or a -1 if not. All
of the cpc names and priorities are rolled into a string. This string
is then encapsulated in a message and passed around all the ompi
processes. Once received and unpacked, the list received is compared
to a local copy of the list. The connection method is chosen by
comparing the lists passed around to all nodes via modex with the list
generated locally. Any non-negative number is a potentially valid
connection method. The method below of determining the optimal
connection method is to take the cross-section of the two lists. The
highest single value (and the other side being non-negative) is selected
as the cpc method.
svn merge -r 16948:17128 https://svn.open-mpi.org/svn/ompi/tmp-public/openib-cpc/ .
This commit was SVN r17138.
use the STL. This is the first step in removing the STL from the C++
bindings (Solaris has 2 versions of the STL; if OMPI uses one and an
MPI application wants to use another, Bad Things happen).
The main idea is to wrap up the C++ callback function pointers and the
user's extra_state into our own struct that is passed as the
extra_state to the C keyval registration along with the intercept
routines in intercepts.cc. When the C++ intercepts are activated,
they unwrap the user's callback and extra state and call them.
It got a little more complicated than that, however:
* I realized that we were returning errors back from
Comm::create_keyval() incorrectly, so I fixed that.
* Instead of using STL maps to store associations, we now use an
opal_list_t which has to be guaranteed to be initialized correctly
and only once in a multi-threaded environment.
* Because of whackyness in the C++ bindings, it is possible to call
Comm::Create_keyval with C callbacks (!). If both registered
callbacks are C functions, then ensure to avoid all the C++
machinery.
This commit was SVN r17125.
header as double-word aligned and prevents bus errors on SPARC
based servers. This is part of fix for #1148.
Refs trac:1148
This commit was SVN r17090.
The following Trac tickets were found above:
Ticket 1148 --> https://svn.open-mpi.org/trac/ompi/ticket/1148
ibv_dereg_mr() for instance) from ptmalloc callback. Call to free() from the
callback causes deadlock. Notice what should be unregistered inside the callback
and do actual cleanup at the next call to mpool->register().
This commit was SVN r17064.
Also introduces work in progress "convertor" sender based copy algorithm. This algorithm cannot be selected without other modifications in the convertor (not currently available in trunk). The default old synchronous copy algorithm is selected by default.
This commit was SVN r17063.