1
1

1747 Коммитов

Автор SHA1 Сообщение Дата
Yael Dayan
0122cf6cbb openib: added Mellanox ConnectIB device ID and params to the device parameters ini file
This commit was SVN r27402.
2012-10-04 13:20:47 +00:00
Jeff Squyres
8c369224bf More common/verbs improvements:
* Add OMPI_COMMON_VERBS_FLAGS_NOT_RC, which looks for a device	that
   does ''not'' support RC
 * Add ompi_common_verbs_find_max_inline(), and	remove that code from
   the openib BTL component

This commit was SVN r27393.
2012-10-03 00:57:39 +00:00
Jeff Squyres
30d9c36275 FreeBSD detection improvement. Thanks to Brooks Davis for the patch.
This commit was SVN r27334.
2012-09-13 13:25:04 +00:00
Jeff Squyres
3cc8b0461a More updates to common verbs infrastructure:
* Moved "check basics" sanity check from openib BTL to common/verbs
   (which also allows us to have openib ''not'' include
   <infiniband/driver.h>, which is a Very Good Thing)
 * Add new ompi_common_verbs_qp_test() function, which tests to see
   whether a device supports RC and/or UD QPs.  The openib BTL now
   uses this function to ensure that the device supports RC QPs.
 * Rename ompi_common_verbs_find_ibv_ports() to be
   ompi_common_verbs_find_ports() -- the "ibv" was redundant.
 * Re-work ompi_common_verbs_find_ports() to use
   ompi_common_verbs_qp_test() instead of testing for RC/UD QPs itself
 * Add bunches of opal_output_verbose() to the find_ports() routine
   (to help diagnosing connectivity problems -- imaging running with
   --mca btl_base_verbose 10; you'll see all the find_ports() test
   results)
 * Make ompi_common_verbs_qp_test() warn if devices/ports are supplied
   in the if_include/if_exclude strings that do not exists (quite
   similar to what the openib BTL does today).
 * Add ompi_common_verbs_mca_register() function, which registers
   common verbs MCA params.  It will also register MCA param synonyms
   for thse MCA params to upper-level components (e.g.,
   btl_<upper-level-component>_<the-mca-param>). 
   * common_verbs_warn_nonexistent_if: warn if
     if_include/if_exclude-specified devices or ports do not exist.  

This commit was SVN r27332.
2012-09-12 20:47:47 +00:00
Jeff Squyres
fb2e543a57 Refs trac:3275.
We ran into a case where the OMPI SVN trunk grew a new acceptable MCA
parameter value, but this new value was not accepted on the v1.6
branch (hwloc_base_mem_bind_failure_action -- on the trunk it accepts
the value "silent", but on the older v1.6 branch, it doesn't).  If you
set "hwloc_base_mem_bind_failure_action=silent" in the default MCA
params file and then accidentally ran with the v1.6 branch, every OMPI
executable (including ompi_info) just failed because hwloc_base_open()
would say "hey, 'silent' is not a valid value for
hwloc_base_mem_bind_failure_action!".  Kaboom.

The only problem is that it didn't give you any indication of where
this value was being set.  Quite maddening, from a user perspective.

So we changed the ompi_info handles this case.  If any framework open
function return OMPI_ERR_BAD_PARAM (either because its base MCA params
got a bad value or because one of its component register/open
functions return OMPI_ERR_BAD_PARAM), ompi_info will stop, print out
a warning that it received and error, and then dump out the parameters
that it has received so far in the framework that had a problem.

At a minimum, this will show the user the MCA param that had an error
(it's usually the last one), and ''where it was set from'' (so that
they can go fix it).  

We updated ompi_info to check for O???_ERR_BAD_PARAM from each from
the framework opens.  Also updated the doxygen docs in mca.h for this
O???_BAD_PARAM behavior.  And we noticed that mca.h had MCA_SUCCESS
and MCA_ERR_??? codes.  Why?  I think we used them in exactly one
place in the code base (mca_base_components_open.c).  So we deleted
those and just used the normal OPAL_* codes instead.

While we were doing this, we also cleaned up a little memory
management during ompi_info/orte-info/opal-info finalization.
Valgrind still reports a truckload of memory still in use at ompi_info
termination, but they mostly look to be components not freeing
memory/resources properly (and outside the scope of this fix).

This commit was SVN r27306.

The following Trac tickets were found above:
  Ticket 3275 --> https://svn.open-mpi.org/trac/ompi/ticket/3275
2012-09-11 20:47:24 +00:00
Shiqing Fan
ec4cf39925 Windows doesn't need to exclude any interface by default. This will avoid tcp warnings.
This commit was SVN r27291.
2012-09-11 15:39:37 +00:00
Shiqing Fan
0c4c2a5f5d Revert r27283. A better solution is found. Thanks to Ralph anyway.
This commit was SVN r27290.

The following SVN revision numbers were found above:
  r27283 --> open-mpi/ompi@38bcd86ae4
2012-09-11 15:37:22 +00:00
Ralph Castain
38bcd86ae4 Per request by Shiqing, specifically exclude the "lo" interface from the TCP btl. Apparently, Windows sometimes fails to resolve the 127.0.0.1 to "lo", causing subsequent failures.
This commit was SVN r27283.
2012-09-10 16:22:46 +00:00
Jeff Squyres
dd254cc202 OMPI_HAVE_IBV_LINK_LAYER does not exist. Instead, check defined(HAVE_IBV_LINK_LAYER_ETHERNET).
This commit was SVN r27251.
2012-09-06 18:25:36 +00:00
Jeff Squyres
341ce2f9a4 Per some discussions between LANL, Cisco, ORNAL, and Mellanox, move
some new common OpenFabrics functionality to ompi/mca/common/verbs.
Also move everything that was in ompi/mca/common/ofautils under
ompi/mca/common/verbs.  

 * Move ofautils -> verbs
 * Add new functionality in ompi/mca/common/verbs (see doxygen
 * comments in ompi/mca/common/verbs/common_verbs.h for details):
   * ompi_common_verbs_find_ibv_ports()
   * ompi_common_verbs_port_bw()
   * ompi_common_verbs_mtu()
   * '''If you're writing verbs-based code, you should be using this
     common functionality'''
 * Adapt openib BTL to use some trivial common functionality in
   common/verbs
 * Don't use "#ifdef OMPI_HAVE_RDMAOE",use 
   "#if defined(HAVE_IBV_LINK_LAYER_ETHERNET)"
 * Update the following to include/link against common/verbs
   * bcol/iboffload
   * sbgp/ibnet
   * btl/openib

This commit was SVN r27212.
2012-09-01 01:42:37 +00:00
Jeff Squyres
e5babf830a Fixes trac:3258: add btl_openib_abort_not_enough_reg_mem MCA parameter
that causes MPI jobs to abort if there is not enough registered memory
available (vs. just warning).

This commit was SVN r27140.

The following Trac tickets were found above:
  Ticket 3258 --> https://svn.open-mpi.org/trac/ompi/ticket/3258
2012-08-25 11:39:06 +00:00
Jeff Squyres
c8cee23ee7 Priorities really shouldn't be less than 0.
This commit was SVN r27098.
2012-08-21 15:47:15 +00:00
Ralph Castain
dacb07000d Turn udcm and ud oob off by default, but allow them to build and be used if someone wants to test them
cmr:v1.7

This commit was SVN r27097.
2012-08-21 15:18:34 +00:00
Ralph Castain
69753c37ef Turn off one place that won't compile if ompi progress threads enabled because it calls a non-existent function
This commit was SVN r27082.
2012-08-16 22:53:14 +00:00
Yael Dayan
b3b8a2a23a function mca_btl_openib_endpoint_post_send can return 3 statuses:
- OMPI_SUCCESS
- OMPI_ERROR
- OMPI_ERR_RESOURCE_BUSY

If an "OMPI_ERR_OUT_OF_RESOURCE" occurs, the request is added to the pending list, and will be handled later. An error message 
should not be printed to the user in this case. This is not an error, but rather a notification of a possible valid condition.
Only in the case of "OMPI_ERROR" should it be printed to the user.

This commit was SVN r27065.
2012-08-16 07:04:40 +00:00
Christopher Yeoh
cc091f4979 Adds synchronisation between main thread and service thread in
btl_openib_connect_udcm when notifying not to listen to an fd to ensure
that the main thread does not continue until the service thread has
processed the message

Adds ability to send message to openib async thread to tell it to
ignore the ERR state on a specific QP. Adds this call to udcm_module_finalize
so when we set the error state on the QP it doesn't cause the 
openib async thread to abort the mpi program prematurely

Fixes trac:3161

This commit was SVN r27064.

The following Trac tickets were found above:
  Ticket 3161 --> https://svn.open-mpi.org/trac/ompi/ticket/3161
2012-08-16 03:56:21 +00:00
Jeff Squyres
02e2c88224 Back out r26869 (i.e., put back a single per-peer QP in the default
receive queues value) so that we don't break the use of RDMA CM, and
therefore break RoCE.

This commit was SVN r27017.

The following SVN revision numbers were found above:
  r26869 --> open-mpi/ompi@fe0e7f81df
2012-08-13 15:57:21 +00:00
Samuel Gutierrez
6188d97e1a Getting out of bed this morning was a bad idea... Reverting the sm update once more because it breaks direct launch. Will address this issue and commit the update once it has all been tested. Sorry everyone!
This commit was SVN r27001.
2012-08-10 22:20:38 +00:00
Samuel Gutierrez
159bd2e62e Let's try this again: sm BTL initialization via modex.
This commit was SVN r26989.
2012-08-10 20:12:36 +00:00
Samuel Gutierrez
6a70063812 Yikes - that's not right! Back out 26987. I'll try again in a bit... Sorry!
This commit was SVN r26988.
2012-08-10 19:57:51 +00:00
Samuel Gutierrez
2c80273246 sm BTL initialization via modex.
This commit was SVN r26987.
2012-08-10 19:51:41 +00:00
Yael Dayan
7895cd1114 adding a fragmentation mechanism to the Get flow in function mca_pml_ob1_recv_request_progress_rget
This commit was SVN r26956.
2012-08-07 07:15:21 +00:00
Yevgeny Kliteynik
a6458da4ba Using 8K as a minimal CQ length
- For now we'll use 8192 as a base value
 - We leave the adjust_cq() as is
 - For the long term we can work on an appropriate setting to expose through the INI file.

8K CQEs are 512K per process, which is 8MB for ppn=16

This commit was SVN r26877.
2012-07-26 21:06:18 +00:00
Nathan Hjelm
8736953c7f btl/openib/connect improve the help message printed when a queue pair can not be created
This commit was SVN r26876.
2012-07-26 20:36:46 +00:00
Shiqing Fan
204fbfe4b1 update the wv btl component.
This commit was SVN r26872.
2012-07-26 15:35:01 +00:00
Nathan Hjelm
fe0e7f81df btl/openib: as discussed remove the per-peer queue pair from the default configuration
This commit was SVN r26869.
2012-07-25 22:53:58 +00:00
Jeff Squyres
5ec6a65a72 After I spent a while looking in libibverbs for
ibv_get_device_list_compat() and not finding it, I finally realized
that it was a function in OMPI.  So let's name it with a proper ompi_
prefix, not an ibv_ prefix.

This commit was SVN r26867.
2012-07-25 16:32:51 +00:00
Jeff Squyres
6f5fd6245f Add missing %d
This commit was SVN r26857.
2012-07-24 13:33:11 +00:00
Jeff Squyres
0b4a659683 Stomp some compiler warnings; use proper printf sequences for uint64_t.
This commit was SVN r26856.
2012-07-24 13:03:55 +00:00
Jeff Squyres
e66d386441 Add a new missing field to the template BTL module that was causing a
bunch of compiler warnings.

This commit was SVN r26855.
2012-07-24 12:55:12 +00:00
George Bosilca
6ebbacb054 Complete the dump function for the SM BTL. Now we can see all fragments in all
the queues as long as the BTL is dump-friendly (only SM right now).

This commit was SVN r26849.
2012-07-24 00:22:22 +00:00
Nathan Hjelm
cd2cbdca09 btl/openib: limit each process to a ppn fraction of the available registered memory when using mellanox hardware (mlx4 and mthca). fixed
This commit was SVN r26811.
2012-07-19 17:52:21 +00:00
Ralph Castain
66fe57f746 Revert r26804 so openib can build again
This commit was SVN r26810.

The following SVN revision numbers were found above:
  r26804 --> open-mpi/ompi@610be870f9
2012-07-19 16:16:38 +00:00
Nathan Hjelm
610be870f9 btl/openib: limit each process to a ppn fraction of the available registered memory when using mellanox hardware (mlx4 and mthca)
This commit was SVN r26804.
2012-07-18 17:29:48 +00:00
Nathan Hjelm
4a97ecbdd2 btl/openib: remove tab characters
This commit was SVN r26803.
2012-07-18 17:29:37 +00:00
Nathan Hjelm
771b427027 udcm: unmonitor the fd BEFORE tearing down the listen qp
This commit was SVN r26800.
2012-07-18 14:22:45 +00:00
Nathan Hjelm
35de50b823 remove the elan btl
This commit was SVN r26798.
2012-07-17 14:51:41 +00:00
Nathan Hjelm
fc1b295606 udcm: evict from the lru of the openib device's grdma mpool if a qp can not be created. Note: there doesn't appear to be a standard way to differentiate between ibv_create_qp failing because the node is out of registered memory and failing because no more qps are available
This commit was SVN r26797.
2012-07-14 01:58:29 +00:00
Nathan Hjelm
3798f38386 do not print out an error message if ibv_reg_mr fails
This commit was SVN r26796.
2012-07-14 01:35:45 +00:00
Nathan Hjelm
4d1920ee87 Fix a bug on 32-bit systems introduced by r26626. This fix ensures that all supported btls (with exception of wv-- shiqing will need to help bring that one up to date with r26626) set the lval in prepare_src/dst when preparing a put or get segment. This fix also ensures a consistent use of lval in put and get for both local and remote segments.
This commit was SVN r26793.

The following SVN revision numbers were found above:
  r26626 --> open-mpi/ompi@249066e06d
2012-07-13 21:19:16 +00:00
Nathan Hjelm
344fe61616 remove assertion in udcm
This commit was SVN r26790.
2012-07-13 15:14:48 +00:00
Jeff Squyres
e719d6ab78 It turns out that "sppp" on the Oracle Mx000 series of servers (where x =
{3, 4, 5, 9}, SPARC VI-based machines) is not a 127.x.y.z interface,
so it needs to stay in the exclude list.

This commit was SVN r26789.
2012-07-13 12:11:41 +00:00
Jeff Squyres
196bc0a53e Update the TCP BTL MCA param btl_tcp_if_exclude default value to use
CIDR notation 127.0.0.1/8 to ignore localhost devices instead of the
imprecise (and not always correct!) "lo,sppp".

This commit was SVN r26788.
2012-07-12 15:13:08 +00:00
Nathan Hjelm
b79a61a360 move btl_vader.c to btl_vader_module.c
This commit was SVN r26785.
2012-07-11 20:14:19 +00:00
Terry Dontje
6f3195faca add some missing casts
This commit was SVN r26779.
2012-07-10 18:03:29 +00:00
Nathan Hjelm
05c5c1f412 remove unused i_initiate function from udcm
This commit was SVN r26778.
2012-07-10 17:22:19 +00:00
Jeff Squyres
bb13e21538 Roll back r26730, but bump the default CQ length base up to 1500, not
1000.  Refs trac:3154.

IB/iWarp vendors need to get together to figure out a real fix.

This commit was SVN r26777.

The following SVN revision numbers were found above:
  r26730 --> open-mpi/ompi@5315c91baf

The following Trac tickets were found above:
  Ticket 3154 --> https://svn.open-mpi.org/trac/ompi/ticket/3154
2012-07-10 16:53:27 +00:00
Nathan Hjelm
4c0c937953 Remove use of ompi_ptr_ltop in BTLs. This fixes a crash seen on big-endian 32-bit platforms with MPI one-sided.
This commit was SVN r26776.
2012-07-10 16:18:53 +00:00
George Bosilca
7d6006a5a6 Fix various compiler warnings.
This commit was SVN r26774.
2012-07-10 15:57:15 +00:00
Abhishek Kulkarni
2ca8292f46 Fix a typo in the sm btl (related to CMA support).
This commit was SVN r26772.
2012-07-10 00:12:05 +00:00