1
1
Граф коммитов

774 Коммитов

Автор SHA1 Сообщение Дата
Josh Hursey
6026929490 Fix compiler error on Cray by adding in the std io/lib headers.
This commit was SVN r15515.
2007-07-19 18:26:10 +00:00
Jeff Squyres
7ae4a22ed5 Wow. How did that one get through?
This commit was SVN r15514.
2007-07-19 17:18:10 +00:00
Brian Barrett
6427c9f92a oops, need a return statement there...
This commit was SVN r15509.
2007-07-19 16:21:11 +00:00
Brian Barrett
52ee1cb5da fix missing ; in solaris functions
This commit was SVN r15505.
2007-07-19 15:15:41 +00:00
Ralph Castain
ccdb834574 Fix a couple of compile errors. Also, we need to ensure that we only attempt to call destructors on tsd keys that were defined.
This commit was SVN r15501.
2007-07-19 12:56:41 +00:00
Jeff Squyres
7c52a0ce17 Help track down when NULL is passed to %s for OPAL replacements of
asprintf and friends.  This is not a failsafe; there are many cases
where this check will not be used.  But at least it's something...

This commit was SVN r15500.
2007-07-19 12:28:43 +00:00
Brian Barrett
5c1c3cdf1c remove debugging output
This commit was SVN r15497.
2007-07-18 21:57:58 +00:00
Brian Barrett
8a7b6656b3 Reference count calls to the util access as well as the main initialized
code

This commit was SVN r15495.
2007-07-18 20:28:19 +00:00
Brian Barrett
916397f358 Use thread specific data and static buffers for the return type of
opal_net_get_hostname() rather than malloc, because no one was freeing
the buffer and the common use case was for printfs, where calling
free is a pain.

This commit was SVN r15494.
2007-07-18 20:25:01 +00:00
Brian Barrett
c5d0066c27 add ability to have thread-specific data on windows, pthreads, solaris threads,
and non-threaded builds

This commit was SVN r15492.
2007-07-18 20:23:45 +00:00
Sven Stork
a6d04c60b4 - the use_component function is always present independent of OMPI_WANT_LIBLTDL
This commit was SVN r15481.
2007-07-18 14:25:51 +00:00
Sven Stork
92fce998fe - the use_component function is always present independent of OMPI_WANT_LIBLTDL
This commit was SVN r15480.
2007-07-18 14:19:24 +00:00
Jeff Squyres
8ace07efed This commit brings in two major things:
1. Galen's fine-grain control of queue pair resources in the openib
   BTL.
1. Pasha's new implementation of asychronous HCA event handling.

Pasha's new implementation doesn't take much explanation, but the new
"multifrag" stuff does.  

Note that "svn merge" was not used to bring this new code from the
/tmp/ib_multifrag branch -- something Bad happened in the periodic
trunk pulls on that branch making an actual merge back to the trunk
effectively impossible (i.e., lots and lots of arbitrary conflicts and
artifical changes).  :-(

== Fine-grain control of queue pair resources ==

Galen's fine-grain control of queue pair resources to the OpenIB BTL
(thanks to Gleb for fixing broken code and providing additional
functionality, Pasha for finding broken code, and Jeff for doing all
the svn work and regression testing).

Prior to this commit, the OpenIB BTL created two queue pairs: one for
eager size fragments and one for max send size fragments.  When the
use of the shared receive queue (SRQ) was specified (via "-mca
btl_openib_use_srq 1"), these QPs would use a shared receive queue for
receive buffers instead of the default per-peer (PP) receive queues
and buffers.  One consequence of this design is that receive buffer
utilization (the size of the data received as a percentage of the
receive buffer used for the data) was quite poor for a number of
applications.

The new design allows multiple QPs to be specified at runtime.  Each
QP can be setup to use PP or SRQ receive buffers as well as giving
fine-grained control over receive buffer size, number of receive
buffers to post, when to replenish the receive queue (low water mark)
and for SRQ QPs, the number of outstanding sends can also be
specified.  The following is an example of the syntax to describe QPs
to the OpenIB BTL using the new MCA parameter btl_openib_receive_queues:

{{{
-mca btl_openib_receive_queues \
     "P,128,16,4;S,1024,256,128,32;S,4096,256,128,32;S,65536,256,128,32"
}}}

Each QP description is delimited by ";" (semicolon) with individual
fields of the QP description delimited by "," (comma).  The above
example therefore describes 4 QPs.

The first QP is:

    P,128,16,4

Meaning: per-peer receive buffer QPs are indicated by a starting field
of "P"; the first QP (shown above) is therefore a per-peer based QP.
The second field indicates the size of the receive buffer in bytes
(128 bytes).  The third field indicates the number of receive buffers
to allocate to the QP (16).  The fourth field indicates the low
watermark for receive buffers at which time the BTL will repost
receive buffers to the QP (4).

The second QP is:

    S,1024,256,128,32

Shared receive queue based QPs are indicated by a starting field of
"S"; the second QP (shown above) is therefore a shared receive queue
based QP.  The second, third and fourth fields are the same as in the
per-peer based QP.  The fifth field is the number of outstanding sends
that are allowed at a given time on the QP (32).  This provides a
"good enough" mechanism of flow control for some regular communication
patterns.

QPs MUST be specified in ascending receive buffer size order.  This
requirement may be removed prior to 1.3 release.

This commit was SVN r15474.
2007-07-18 01:15:59 +00:00
George Bosilca
e3ad495e7b Remove an unused variable.
This commit was SVN r15473.
2007-07-17 22:34:59 +00:00
Sven Stork
73f1d800cf - Make the component select with static build working.
Remove the matching logic out of dynamic path into an
  extra function. Add the corresponing check to the static
  component path.

This commit was SVN r15458.
2007-07-17 12:06:51 +00:00
Camille Coti
59dc6b95f3 Modifications in the way user-specified modules are loaded. Once we get the list of filenames from the libtool, we add the statically defined ones and then based on the include/exclude string we only keep the ones requested by the user. If no include/exclude was provided, we keep [as expected] everything. Once we have the list of whatever is requested we open them. Therefore, as an example, if the user specify "--mca pml ob1" we will never try to load/open/init DR nor CM.
There are several interesting things:
1. less NFS traffic [as we potentially access less files]
2. faster loading time [in case the user tune it's execution environment]
3. (1) + (2) -> faster startup time [at least everything which do not depend on the network]
4. MX bug will go away if the pml is specified.
5. No useless BTL will be opened, which will solve few others issues.

This commit was SVN r15402.
2007-07-13 14:54:01 +00:00
Josh Hursey
73273397f5 Quiet a warning on the Cray systems in which mkfifo does not work.
Thanks to Lisa Glendenning for mentioning this, and Brian for following
up with me on it.

This commit was SVN r15392.
2007-07-12 20:30:09 +00:00
Pak Lui
2aec8c527e fix a small leak. strdup used twice on retval.
This commit was SVN r15357.
2007-07-11 14:00:29 +00:00
Brian Barrett
1d02b9e7b5 Fix a bunch of issues exposed by Ken Cain in getting Open MPI to work with
VxWorks.  Still some issues remaining, I'm sure.

Refs trac:1010

This commit was SVN r15320.

The following Trac tickets were found above:
  Ticket 1010 --> https://svn.open-mpi.org/trac/ompi/ticket/1010
2007-07-10 03:46:57 +00:00
George Bosilca
1701013dd0 The real Windows solution. This generate one more dependence when
building on Windows (to the shlwapi.lib).

This commit was SVN r15267.
2007-07-02 18:11:14 +00:00
Jeff Squyres
c796d84d61 * Integrate man pages contributed by Dirk Eddelbuettel
* Make orted.1 man page be non-descriptive because it's really an
   internal command.
 * Re-work the opal_wrapper man page logic a bit so that we can have a
   real opal_wrapper.1 installed that says "don't look here -- look at
   mpicc (etc.)"

This commit was SVN r15264.
2007-07-02 15:27:39 +00:00
George Bosilca
610d7a0d2c A Windows specific solution around the real path function.
This commit was SVN r15263.
2007-07-02 14:55:10 +00:00
Adrian Knoth
83c7aab185 Removed annoying debug output
This commit was SVN r15262.
2007-07-02 13:17:27 +00:00
George Bosilca
0bf7463c6f This one was nice ... and it didn't even trigger a compile warning.
Update the copyright.

This commit was SVN r15256.
2007-07-01 17:59:46 +00:00
George Bosilca
b9251eb442 On Windows accept networked path (i.e. starting with \\). Add a new function
opal_find_absolute_path which take as argument a executable name and return
the absolute path if possible.

This commit was SVN r15255.
2007-07-01 17:53:19 +00:00
George Bosilca
003d1b8665 On windows make sure we add the initial path separator only if we are
creating a relative path. Use BEGIN_C_DECLS and END_C_DECLS on some
header files.

This commit was SVN r15254.
2007-07-01 17:51:34 +00:00
Brian Barrett
9687f70aea Add solaris condition variables
This commit was SVN r15225.
2007-06-27 16:48:30 +00:00
Brian Barrett
04c0fcccf0 fix silly warning with the Sun compilers
This commit was SVN r15224.
2007-06-27 15:47:47 +00:00
Brian Barrett
6b3cd84403 Fix issue Dan found -- we don't expand out the extra pre-processor, compiler
or linker flags.  Which makes the whole wrapper-extra-*flags thing slightly
less useful than perhaps it should be.

This commit was SVN r15222.
2007-06-27 14:17:57 +00:00
Josh Hursey
f88aa6c273 This commit cleans up the AMCA parameter implementation a bit.
* Remove the 'opal_mca_base_param_use_amca_sets' global variable
* Harness the fact that you can (read should) call the cmd_line functions
  before initializing opal_init_util(). This pushes the MCA/GMCA/AMCA
  command line options into the environment before OPAL inits and starts
  to use these values. By putting the cmd_line parse before opal_init_util
  in orterun and orted we only parse the *MCA parameter files once, and 
  correctly (alleviating the need to 'recache' the files on init.)
* Small bits of cleanup.

This commit was SVN r15219.
2007-06-27 01:03:31 +00:00
Josh Hursey
dada472c13 some additional debugging output
This commit was SVN r15218.
2007-06-27 00:54:18 +00:00
Sven Stork
813d4dc175 - let the mvapi btl and the rest of the world use our posix_memalign function.
This commit was SVN r15202.
2007-06-26 14:45:20 +00:00
Brian Barrett
249ddf8fff Only print warning message about condition variable useage if the MCA
param says we should  Also, check for != 0, rather than == 1, as there
are way too many double locks, but they'll get warned when we do the
double lock.  No need to warn again, in a meaningless way.

Originally part of r15167, reverted with r15172.

This commit was SVN r15173.

The following SVN revision numbers were found above:
  r15167 --> open-mpi/ompi@faa401dc47
  r15172 --> open-mpi/ompi@5f16251808
2007-06-22 15:28:12 +00:00
Brian Barrett
5f16251808 revert r15167. I don't know what I was thinking, but it was most definitely
"not right".

This commit was SVN r15172.

The following SVN revision numbers were found above:
  r15167 --> open-mpi/ompi@faa401dc47
2007-06-22 15:25:39 +00:00
Brian Barrett
faa401dc47 * Need to OBJ_RELEASE, not OBJ_DESTRUCT things that were created with
OBJ_NEW
  * Need to single when the passive unlock has left an expose epoch for
    the win_free case
  * Clean up some debugging output
  * fix missing variable initialization

This commit was SVN r15167.
2007-06-21 22:08:30 +00:00
Jeff Squyres
022bd30558 Back out r15158 because it apparently breaks with recent versions of
flex (which, incidentally, emit ''more'' warnings than earlier
versions).  Grumble.

This commit was SVN r15166.

The following SVN revision numbers were found above:
  r15158 --> open-mpi/ompi@57d09c10f7
2007-06-21 21:14:10 +00:00
Jeff Squyres
57d09c10f7 Avoid some compiler warnings that come up ''every day'' in MTT (and
have been for eons): make a symbol be used in a dumb but harmless way.

This commit was SVN r15158.
2007-06-21 15:42:06 +00:00
Shiqing Fan
66d9f8e516 Add braces.
This commit was SVN r15155.
2007-06-21 07:53:47 +00:00
Shiqing Fan
228d2b4996 Check if it's valid event handle. This will get rid of run time exception.
This commit was SVN r15154.
2007-06-21 07:49:11 +00:00
Josh Hursey
bfa8401c0c Fix some thread warnings that caught me being dumb with locks. :[
This commit was SVN r15146.
2007-06-20 14:18:33 +00:00
Jeff Squyres
57486f0b69 Re-enable threaded builds. Need to protect usage of mutex->m_*
variables to only use them a) when debugging, and b) when we don't
have real thread support.

This commit was SVN r15099.
2007-06-15 14:26:23 +00:00
Jeff Squyres
7e379aff10 Fixes trac:1057.
Ensure that the AM_CONDITIONALs are ''always'' run, even if we
--enable-mca-no-build the paffinity/linux component.

This commit was SVN r15095.

The following Trac tickets were found above:
  Ticket 1057 --> https://svn.open-mpi.org/trac/ompi/ticket/1057
2007-06-15 11:36:22 +00:00
George Bosilca
17f9893448 Add some attributes.
This commit was SVN r15094.
2007-06-15 05:07:49 +00:00
George Bosilca
8c5b63768c A working version of the mutex_trylock for Windows.
This commit was SVN r15084.
2007-06-14 22:28:28 +00:00
Ethan Mallove
a09aebc30b Fix typo. Change mutex_destory to mutex_destroy.
This commit was SVN r15083.
2007-06-14 19:02:37 +00:00
George Bosilca
b33086b941 Check for the right function. This is always supposed to
fails on anything than Windows.

This commit was SVN r15072.
2007-06-14 07:03:26 +00:00
George Bosilca
be179cea79 Windows component allowing to get the paths from the registry.
This commit was SVN r15071.
2007-06-14 06:47:03 +00:00
George Bosilca
76ff70e672 Allow a threaded build on Windows.
This commit was SVN r15070.
2007-06-14 04:52:37 +00:00
George Bosilca
c70566dfe7 Remove unused variables.
This commit was SVN r15029.
2007-06-12 22:50:43 +00:00
George Bosilca
286606d4c3 Allow access to the system wide registry (supposedly updated by
the administrator) as well as to the user registry.

This commit was SVN r15028.
2007-06-12 22:49:54 +00:00