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

30102 Коммитов

Автор SHA1 Сообщение Дата
Gilles Gouaillardet
33361aa124 pml/ucx: correctly handle zero size datatypes
zero-size derived datatypes are now flagged as OPAL_DATATYPE_FLAG_CONTIGUOUS
so update mca_pml_ucx_init_datatype() to correctly handle them.
Since 'size' is a 'size_t', the assertion can simply be removed.

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2019-10-09 16:54:00 +09:00
Edgar Gabriel
ea7e1ea859
Merge pull request #7046 from edgargabriel/pr/hdf5-2gb-bug
comomn_ompio_file_read/write: fix 2GB limiting issue
2019-10-05 10:39:09 -05:00
Edgar Gabriel
a130f569df comomn_ompio_file_read/write: fix 2GB limiting issue
individual read/write operations exceeding 2GB fail in ompio
due to improper conversions from size_t to int in two different
locations. This commit fixes an issue reported by Richard Warren
from the HDF5 group.

Fixes Issue #397

Signed-off-by: Edgar Gabriel <egabriel@central.uh.edu>
2019-10-05 09:50:02 -05:00
Jeff Squyres
a49ae7f034
Merge pull request #7038 from jsquyres/pr/usnic-fixes-and-optimizations
btl/usnic fixes and optimizations
2019-10-04 19:38:50 -04:00
Jeff Squyres
fe7f772f21 btl/usnic: properly size freelist items
Move the prefix area from the head to the body in relevant size
computations.  This fixes a problem in high traffic situations where
usNIC may have sent from unregistered memory.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2019-10-04 14:40:56 -07:00
Jeff Squyres
27e3040dfe btl/usnic: cap the number of resends per progress iteration
New MCA param: btl_usnic_max_resends_per_iteration.  This is the max
number of resends we'll do in a single pass through usNIC component
progress.  This prevents progress from getting stuck in an endless
loop of retransmissions (i.e., if more retransmissions are triggered
during the sending of retransmissions).  Specifically: we need to
leave the resend loop to allow receives to happen (which may ACK
messages we have sent previously, and therefore cause pending resends
to be moot).

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2019-10-04 13:05:51 -07:00
Jeff Squyres
3cc95d86b2 btl/usnic: increase default retrans_timeout
Significantly increase the default retrans timeout.  If the
retrans timeout is too soon, we can end up in a retransmission storm
where the logic will continually re-transmit the same frames during a
single run through the usNIC progress function (because the timer for
a single frame expires before we have run through re-transmitting all
the frames pending re-transmission).

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2019-10-04 13:05:51 -07:00
Jeff Squyres
968b1a51b5 btl/usnic: clarifications and fixes regarding ACKs
New MCA parameter: btl_usnic_ack_iteration_delay.  Set this to the
number of times through the usNIC component progress function before
sending a standalone ACK (vs. piggy-backing the ACK on any other send
going to the target peer).

Use "ticks" language to clarify that we're really counting the number
of times through the usNIC component DATA_CHANNEL completion check (to
check for incoming messages) -- it has no relation to wall clock time
whatsoever.

Also slightly change the channel-checking scheme in usNIC component
progress: only check the PRIORITY channel once (vs. checking it once,
not finding anything, and then falling through the progress_2() where we
check PRIORITY again and then check the DATA channel).

As before, if our "progress" libevent fires, increment the tick
counter enough to guarantee that all endpoints that need an ACK will
get triggered to send standalone ACKs the next time through progress,
if necessary.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2019-10-04 13:05:51 -07:00
Jeff Squyres
ce2910a28a btl/usnic: s/get_nsec/get_nticks/g
Rename "get_nsec()" to "get_ticks()" to more accurately reflect that
this function has no correlation to wall clock time at all.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2019-10-04 13:05:51 -07:00
Jeff Squyres
f3429d7a44 btl/usnic: pack a wire data struct
Might as well save a few bytes when sending this struct across the
network via the __opal_attribute_packed__ attribute.

That being said, also re-order the elements in this struct so that
there's no holes to begin with.  Do this so that the compiler/runtime
won't effect (slow) unaligned reads/writes because of the
__opal_attribute_packed__ attribute.

The "packed" attribute is really more about defensive programming
(e.g., if we make a mistake and have a hole, "packed" will remove it
for us).

*** Do not bring this commit back to existing/already-released release
branches: it will cause incompatibility, since it effectively changes
the usNIC BTL wire protocol.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2019-10-04 13:05:51 -07:00
Josh Hursey
b774b47428
Merge pull request #7032 from jjhursey/fix-sigkill-wait
Fix the sigkill timeout sleep to prevent SIGCHLD from preventing completion
2019-10-02 14:48:27 -05:00
Joshua Hursey
0e8a97c598 Fix the sigkill timeout sleep to prevent SIGCHLD from preventing completion.
* The user can set `-mca odls_base_sigkill_timeout 30` to have ORTE wait
   30 seconds before sending SIGTERM then another 30 seconds before sending
   SIGKILL to remaining processes. This usually happens on an abnormal
   termination. Sometimes the user wants to delay the cleanup to give the
   system time to write out corefile or run other diagnostics.
 * The problem is that child processes may be completing while ORTE is
   in this loop. The SIGCHLD will interrupt the `sleep` system call.
   Without the loop the sleep could effectively be ignored in this case.
   - Sleep returns the amount of time remaining to sleep. If it was
     interrupted by a signal then it is a positive number less than or
     equal to the parameter passed to it. If it slept the whole time
     then it returns 0.

Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
2019-10-02 14:41:34 -04:00
Jeff Squyres
7ddfa6950b
Merge pull request #7028 from jsquyres/pr/fix-ofi-mtl
mtl/ofi: replace OMPI_UNLIKELY with OPAL version
2019-10-01 13:40:21 -04:00
Howard Pritchard
d6d73b7724 mtl/ofi: replace OMPI_UNLIKELY with OPAL version
one off patch for v4.0.x.  for some reason commit on master
didn't have this problem.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
(cherry picked from commit 5f3dbdb5c8)

Note that this commit is actually a cherry-pick from the v4.0.x
branch.  This is the opposite direction than what we nornmally do: we
usually commit to master first and then cherry-pick to the release
branches (vs. the other way around).

As is probably evident from the original commit message above, through
a comedy of errors, this commit was actually applied to the v4.0.x
branch first and then cherry-picked back to master (i.e., the problem
*did* exist in the original master commit
3aca4af548, but it was not recongized at
the time).

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2019-10-01 09:52:27 -07:00
Gilles Gouaillardet
280856928a
Merge pull request #7026 from ggouaillardet/topic/openpmix_refresh
pmix/pmix4x: refresh to the latest open PMIx master
2019-10-01 18:15:53 +09:00
Gilles Gouaillardet
1c4a3598d0 pmix/pmix4x: refresh to the latest open PMIx master
refresh to openpmix/openpmix@ea3b29b1a4

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2019-10-01 14:27:22 +09:00
Ralph Castain
f4371f7f94
Merge pull request #7022 from rhc54/topic/oob2
Remove stale references to orte_oob_base.ev_base
2019-09-29 19:53:12 -07:00
Ralph Castain
7444b32494
Remove stale references to orte_oob_base.ev_base
The oob is restricted to the main event base

Signed-off-by: Ralph Castain <rhc@pmix.org>
2019-09-29 18:52:03 -07:00
Ralph Castain
5e9d07d4e0
Merge pull request #7010 from rhc54/topic/oob
Cleanup stale code in ORTE/OOB
2019-09-25 14:23:43 -07:00
Ralph Castain
41eb41c3f2
Cleanup stale code in ORTE/OOB
Remove code for multiple OOB progress threads as it is an optimization
nobody uses. Also turns out to have a race condition that can cause
segfault on finalize, so maybe good that nobody is using it.

Signed-off-by: Ralph Castain <rhc@pmix.org>
2019-09-25 13:27:41 -07:00
Jeff Squyres
ee3564a2dc
Merge pull request #7004 from mwheinz/REFS6976-master
REF6976 Silent failure of OMPI over OFI with large messages sizes
2019-09-23 17:31:21 -04:00
Michael Heinz
3aca4af548 REF6976 Silent failure of OMPI over OFI with large messages sizes
INTERNAL: STL-59403

The OFI (libfabric) MTL does not respect the maximum message size
parameter that OFI provides in the fi_info data.

This patch adds this missing max_msg_size field to the mca_ofi_module_t
structure and adds a length check to the low-level send routines.

Change-Id: I05aa71d332f2df897133b30c28bf37d98f061996
Signed-off-by: Michael Heinz <michael.william.heinz@intel.com>
Reviewed-by: Adam Goldman <adam.goldman@intel.com>
Reviewed-by: Brendan Cunningham <brendan.cunningham@intel.com>
2019-09-23 15:23:48 -04:00
Yossi Itigin
5ef9cad575
Merge pull request #7000 from amaslenn/mlnx-no-missing-libcuda-warn
platform/mellanox: disable missing libcuda warning
2019-09-23 11:06:36 +03:00
Andrey Maslennikov
63ba7bec46 platform/mellanox: disable missing libcuda warning
Signed-off-by: Andrey Maslennikov <andreyma@mellanox.com>
2019-09-22 16:02:57 +03:00
Yossi Itigin
c864e84cbf
Merge pull request #6979 from hoopoepg/topic/restored-ikrit-compilation
IKRIT: restored compilation
2019-09-21 14:38:36 +03:00
Jeff Squyres
8038fac8f9
Merge pull request #6844 from adrianreber/check_for_user_ns
Do not use CMA in user namespaces
2019-09-20 22:10:42 -04:00
Brian Barrett
a7da93f88c
Merge pull request #6973 from wckzhang/bp_get_vertex
opal/util: Add function to get vertex data from bipartite graph
2019-09-20 15:19:37 -07:00
Jeff Squyres
13e4040037
Merge pull request #6992 from awlauria/fix_prefix_mpir
Add 'orte_' prefix to noop_mpir_breakpoint_ptr.
2019-09-18 22:15:13 -04:00
Austen Lauria
77144689f0 Add 'orte_' prefix to noop_mpir_breakpoint_ptr.
Signed-off-by: Austen Lauria <awlauria@us.ibm.com>
2019-09-18 17:44:40 -04:00
Jeff Squyres
cc586d808a
Merge pull request #6991 from devreal/grequestx-progress
Ensure that grequestx continuously make progress
2019-09-18 13:46:46 -04:00
Joseph Schuchart
37e6bbb1e1 Ensure that grequestx continuously make progress
Signed-off-by: Joseph Schuchart <schuchart@hlrs.de>
2019-09-18 18:55:11 +02:00
Jeff Squyres
a0d1912af3
Merge pull request #6904 from awlauria/silence_mpir_warning_master
Conform MPIR_Breakpoint to MPIR standard.
2019-09-17 16:06:25 -04:00
Austen Lauria
067adfa417 Conform MPIR_Breakpoint to MPIR standard.
- Fix MPIR_Breakpoint standard violation by returning void
  instead of a void*.

Signed-off-by: Austen Lauria <awlauria@us.ibm.com>
2019-09-17 15:19:00 -04:00
Sergey Oblomov
991082abf2 IKRIT: restored compilation
- due to some refactoring and adding new functionality compilation
  of ikrit module was broken
- this commit restores compilation

Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2019-09-16 19:00:34 +03:00
William Zhang
ca70b703a1 opal/util: Add function to get vertex data from bipartite graph
Currently, there is no function that allows the user to retrieve the
data they have stored in a vertex easily. Using the internal macros and
knowledge of the structures, the new function will return a pointer to
the user provided vertex data.

Signed-off-by: William Zhang <wilzhang@amazon.com>
2019-09-11 18:28:07 +00:00
Jeff Squyres
c672a51ccd
Merge pull request #6971 from hoopoepg/topic/fixed-typos-in-mpi-h-in
MPI.H: fixed few typos in comments
2019-09-10 07:34:19 -05:00
Sergey Oblomov
e0aee1ba5a MPI.H: fixed few typos in comments
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2019-09-10 13:34:38 +03:00
bosilca
2c4b54cc97
Merge pull request #6965 from bosilca/topic/contig_predef
Mark predefined empty datatype contiguous.
2019-09-09 21:39:17 -04:00
George Bosilca
3522916971
Mark predefined empty datatype contiguous.
Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2019-09-07 14:40:21 +10:00
bosilca
d7f6dd0f30
Merge pull request #6961 from hjelmn/fix_btl_vader_fragment_issue
btl/vader: when using single-copy emulation fragment large rdma
2019-09-06 22:24:12 -04:00
Ralph Castain
884d4e78cc
Merge pull request #6964 from rhc54/topic/oob
Be a little less restrictive on interface requirements
2019-09-06 09:06:43 -07:00
Ralph Castain
06d188ebf3
Be a little less restrictive on interface requirements
If both types of interfaces are enabled, don't error out if one of them
isn't able to open listener sockets. Only one interface family may be
available on some machines, but someone might want to build the code to
run more generally.

Refs https://github.com/pmix/prrte/pull/249

Signed-off-by: Ralph Castain <rhc@pmix.org>
2019-09-06 08:27:05 -07:00
Nathan Hjelm
ae91b11de2 btl/vader: when using single-copy emulation fragment large rdma
This commit changes how the single-copy emulation in the vader btl
operates. Before this change the BTL set its put and get limits
based on the max send size. After this change the limits are unset
and the put or get operation is fragmented internally.

References #6568

Signed-off-by: Nathan Hjelm <hjelmn@google.com>
2019-09-05 23:08:53 -07:00
Geoff Paulsen
5ff6cb6e6a
Merge pull request #6756 from markalle/romio_info
romio info: letting romio keep its internal setup
2019-09-05 15:43:07 -05:00
Adrian Reber
fc68d8a90f
Do not use CMA in user namespaces
Trying out to run processes via mpirun in Podman containers has shown
that the CMA btl_vader_single_copy_mechanism does not work when user
namespaces are involved.

Creating containers with Podman requires at least user namespaces to be
able to do unprivileged mounts in a container

Even if running the container with user namespace user ID mappings which
result in the same user ID on the inside and outside of all involved
containers, the check in the kernel to allow ptrace (and thus
process_vm_{read,write}v()), fails if the same IDs are not in the same
user namespace.

One workaround is to specify '--mca btl_vader_single_copy_mechanism none'
and this commit adds code to automatically skip CMA if user namespaces
are detected and fall back to MCA_BTL_VADER_EMUL.

Signed-off-by: Adrian Reber <areber@redhat.com>
2019-09-05 20:15:19 +02:00
Gilles Gouaillardet
50db085272
Merge pull request #6957 from rhc54/topic/buf
Ensure buffer_unload leaves the buffer in a clean state
2019-09-05 09:40:35 +09:00
Raafat Feki
7877743784
Merge pull request #6857 from raafatfeki/pr/ompio_coll_write_clean
Pr/ompio_fcoll_write_clean
2019-09-04 11:06:56 -05:00
Ralph Castain
373e816b37
Ensure buffer_unload leaves the buffer in a clean state
Silence a warning in orte/nidmap

Signed-off-by: Ralph Castain <rhc@pmix.org>
2019-09-04 08:32:27 -07:00
Ralph Castain
73c5fe8f05
Merge pull request #6953 from rhc54/topic/pmix4
Update to current PMIx 4.0.0 (master)
2019-09-03 19:47:58 -07:00
Ralph Castain
9a2902c047
Force use of pmix/preg/native component
Signed-off-by: Ralph Castain <rhc@pmix.org>
2019-09-03 17:54:44 -07:00