Thanks FX Coudert for reporting this issue and pointing
to a solution.
Refs. open-mpi/ompi#8218
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
(back-ported from commit open-mpi/ompi@3f45ceda1b)
This is a one-off commit for the release branches that fixes
some typos introduced when backporting
open-mpi/ompi@35e7d86eb1
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
- fix path to getdate.sh
- do not prepend "date" to the revision
- support git worktree
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
(cherry picked from commit 930d3c469551eaa4d30b6105226018e0392152d7)
This has shown to be more effective in achieving overlap
of inter- and intra-node communication and reduces the inital
delay before hitting the network.
Signed-off-by: Joseph Schuchart <schuchart@icl.utk.edu>
(cherry picked from commit 1cdc85564ed6c771f301c63d6bc6d8c1c8cf4a4c)
Also make coll/tuned the default for shared memory communication
as coll/sm has shown performance issues that need investigation.
Signed-off-by: Joseph Schuchart <schuchart@icl.utk.edu>
(cherry picked from commit 971d58c52454a6edecdbb1a44ebd037a86e69a69)
The selectable list is sorted with lowest to highest priority so the
user-defined preferences should be appended to the list.
The preference treatment should also maintain the order provided by the user
(first item has highest priority) so switch the loop order.
Signed-off-by: Joseph Schuchart <schuchart@icl.utk.edu>
(cherry picked from commit dd54af94508dc9ccee3e589276a9ede62fc8e409)
There are no manpages in v3.2.
Port of https://github.com/openpmix/openpmix/pull/1930
Signed-off-by: Ralph Castain <rhc@pmix.org>
(cherry picked from commit 7b11693783429c43cb30475e4b54e691bf79529c)
The total size depends on number of ranks so the usual ranges don't work.
Thus, use the average across all ranks to make a decision.
Signed-off-by: Joseph Schuchart <schuchart@icl.utk.edu>
(cherry picked from commit f670364d764bf7409e03860bf539a0a2884ffab3)
Mark the node as "unusable" so it does not get included when computing
number of procs for the case where the user does not specify -np.
Signed-off-by: Ralph Castain <rhc@pmix.org>
This commit removes the unnecessary call to `fi_getinfo()` when
initializing the MTL. `cq_data_size` is a domain attribute that will be
available to the MTL from the initial query itself. FI_DIRECTED_RECV is
a primary capability that has to be requested for a provider to enable
it, so adding that to the initial requirement. The redundant query was
also overwriting the contents of the prov object, which already had the
include/exclude filtering and multi-NIC logic applied to it.
Signed-off-by: Raghu Raja <craghun@amazon.com>
(cherry picked from commit 6233dea68d8495e20746c8e8d8af8d9c03a20206)
These selections seem harmful in my measurements and don't seem to be
motivated by previous measurement data.
Signed-off-by: Joseph Schuchart <schuchart@icl.utk.edu>
(cherry picked from commit a15e5dc7f042f21f8adc08453b13bc7210bf2bac)
Bcast: scatter_allgather and scatter_allgather_ring expect N_elem >= N_procs
Allreduce: rabenseifner expects N_elem >= pow2 nearest to N_procs
In all cases, the implementations will fall back to a linear implementation,
which will most likely yield the worst performance (noted for 4B bcast on 128 ranks)
Signed-off-by: Joseph Schuchart <schuchart@icl.utk.edu>
(cherry picked from commit 04d198fc9f4b592fc512b27428d3158e279b51e1)
The mca parameters coll_tuned_*_algorithm are ignored unless coll_tuned_use_dynamic_rules is true so mention that in the description.
Signed-off-by: Joseph Schuchart <schuchart@icl.utk.edu>
(cherry picked from commit 06f605c1e11dad9804232306838141d5a50a1929)
Ensure we always pass the cpuset as well as the locality string for each
proc. Correct the mtl/ofi component's computation of relative locality
as the function being called expects to be given the locality string of
each proc, not the cpuset. If the locality string of the current proc
isn't available, then use the cpuset if available and compute the
locality before trying to compute relative localities of our peers.
Signed-off-by: Ralph Castain <rhc@pmix.org>
If PMIX_PACKAGE_RANK is available, uses this value to select between multiple
NIC of equal distance between the current process. If this value is not
available, try to calculate it by getting the locality string from each local
process and assign a package_rank. If everything fails, fall back to using
process_id.rank to select the NIC. This last case is not ideal, but has a small
chance of occuring, and causes an output to be displayed to notify that this is
occuring.
Some of the information in master branch is not available for the multi-NIC
patch, such as myprocinfo.rank. This info is used to select between multiple
NIC of equal distance to the process. This adapts the previous commit to work
with the v4.1.x branch.
Signed-off-by: Nikola Dancejic <dancejic@amazon.com>
(cherry picked from commit 8017f1280137dee4d5fc7dac0a5c627e72e48058)
Add some nroff markup into the paragraph, just to clearly delineate
the option names from the paragraph text. No other content changes.
This is not a cherry-pick from master because PRRTE has replaced ORTE
on master, and orterun.1in no longer exists in master.
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
(cherry picked from commit 25f84bee647f01926ff938e98cb7ee92c511c962)
Add descriptive definitions of "slot" and "processor element" at the
top of the man page (and effectively delete / move some text from
lower in the man page up into those definitions).
Also add a little blurb in the --use-hwthread-cpus description about how
it changes the definition of "processor element".
This is not a cherry-pick from master because PRRTE has replaced ORTE
on master, and orterun.1in no longer exists in master.
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
(cherry picked from commit 07b8937d4ae8d64b6d2394f4272e705a2ec89656)
Fix mistake in orterun(1) (i.e., mpirun(1)) with an example using the
:PE=x modifier. Additionally, add some extra text with some further
explanation.
This is not a cherry-pick from master because PRRTE has replaced ORTE
on master, and orterun.1in no longer exists in master.
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
(cherry picked from commit 7384972e288e0037c1b5d25a08b6e54b0cfff1e1)
No code or logic changes.
Add commit about why it's ok to use $srcdir here
(vs. $OMPI_TOP_SRCDIR).
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
(cherry picked from commit a6a0d511f9e75499e215388311fa1b7895b7f1ba)
PGI (20.4) compiler do not define this intrinsic, so only build
AVX512 support if _mm512_mullo_epi64() intrisic is defined.
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
(cherry picked from commit 26e42f9a0c21187247ec072b5bacfb39e7a9f9f7)