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

9738 Коммитов

Автор SHA1 Сообщение Дата
Clément FOYER
f334607c34
Simplify the communicator's name caching management (#6)
Signed-off-by: Clement Foyer <clement.foyer@inria.fr>
2017-09-25 12:18:23 -04:00
bosilca
a680b3ac6d Merge pull request #3853 from clementFoyer/master
OMPI monitoring: Simplify the communicator's name caching management + misc test changes
2017-09-25 12:14:36 -04:00
yohann
1f8cabc890 mtl/ofi: Fix provider selection.
This allows mtl_ofi_provider_include to work with layered providers as well.
e.g. --mca mtl_ofi_provider_include "providerX;ofi_rxm"

Signed-off-by: yohann <yohann.burette@intel.com>
2017-09-20 16:00:50 -07:00
Gilles Gouaillardet
b9315edb85 configury: remove the --disable-mpi-io option
Fixes open-mpi/ompi#2185

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-09-20 14:39:09 +09:00
Edgar Gabriel
76a8c67575 io/ompio: add a new grouping option avoiding communication
the new grouping option simple+ performs all calculations used
for the aggregator selection as if the default file view would be used,
thus avoiding communication in file_set_view all together. This mode
is useful for applications that do not set a file view, but use
explicit offset operations on the default file view.

Signed-off-by: Edgar Gabriel <egabriel@central.uh.edu>
2017-09-18 12:30:34 -05:00
Ralph Castain
ed508010b4 Remove stale tools
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-09-18 07:30:47 -07:00
Ralph Castain
3c914a7a97 Complete the fix of the ORTE DVM. We will now use "prun" instead of "orterun -hnp foo" to execute jobs. This provides the feature of automatic discovery of the orte-dvm so you don't need to manually enter URI's or contact file locations. All IO is forwarded to prun.
Still in the "needs to be done" category:

* mapping/ranking/binding options aren't correctly supported

* if the DVM encounters some errors (e.g., not enough resources for the job), the resulting error is globally set and impacts any subsequent job submission

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-09-16 13:13:07 -07:00
Ralph Castain
3f8908871b Since the DVM is now tied to prun, don't build the DVM either unless prun can be built
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-09-13 11:55:10 -07:00
Brian Barrett
637ebf60f9 atomics: Remove requirement of 64 bit atomics
Remove two of the three  instances of components requiring
64 bit atomics, even on 32 bit systems.  The SM OSC component
also uses 64 bit atomics, but is a more complicated fix that
will follow this one.  Currently, no one is testing on
platforms that don't provide 64 bit atomics (even in 32 bit
mode), but with the removal of the non-inline assembly for
IA32, the older compilers on Absoft's test systems now
result in no practical way to call cmpxchg8 in 32 bit mode.
At that point, these failures started popping up.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2017-09-11 19:50:10 -07:00
Nathan Hjelm
7cdda24206 osc/sm: do not require 64-bit atomic math
This commit fixes a compile issue on 32-bit systems that do not
support 64-bit atomic math. The active target path was using 64-bit
atomics exclusively to support PSCW. This commit updates the code to
use either 32 or 64-bit atomic math depending on what is available.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2017-09-11 14:10:38 -10:00
Nathan Hjelm
4bba8774f4 monitoring: fix MPI_T regression
The monitoring code causes MPI_T based tools to segfault when
monitoring is disabled. This happens because the performance
variables remain registered after the common/monitoring
component is dlclosed due to a missing variable registration
flag. This commit adds the necessary flag to all the registered
performance variables.

The issue on github is #4162. Close when applied to master.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2017-09-06 14:24:35 -06:00
bosilca
dc538e9675 Merge pull request #1177 from bosilca/topic/large_msg
Topic/large msg
2017-09-05 13:30:19 -04:00
Gilles Gouaillardet
ecb6b81a05 mpi: correctly handle MPI_IN_PLACE by memchecker in neighborhood collectives
MPI_IN_PLACE is not a valid send buffer for neighborhood collectives, so do not
invoke memchecker in this case.

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-09-04 11:21:32 +09:00
Gilles Gouaillardet
66c9485e77 MPI_Isend: memchecker do not mark send buffer as unaccessible after pml isend invokation
Today's MPI standard mandates the send buffer remains accessible during the send operation.

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-09-04 11:21:32 +09:00
Gilles Gouaillardet
af8242a121 pml/ob1: have memchecker make recv buffer defined again when mca_pml_ob1_recv completes
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-09-04 11:18:05 +09:00
Gilles Gouaillardet
6ee9366243 MPI_Wait: correctly handle MPI_STATUS_IGNORE in MEMCHECKER
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-09-04 11:18:05 +09:00
Aravind Gopalakrishnan
2e83cf15ce Add support for GPU buffers for PSM2 MTL
PSM2 enables support for GPU buffers and CUDA managed memory and it can
directly recognize GPU buffers, handle copies between HFIs and GPUs.
Therefore, it is not required for OMPI to handle GPU buffers for pt2pt cases.
In this patch, we allow the PSM2 MTL to specify when
it does not require CUDA convertor support. This allows us to skip CUDA
convertor init phases and lets PSM2 handle the memory transfers.

This translates to improvements in latency.
The patch enables blocking collectives and workloads with GPU contiguous,
GPU non-contiguous memory.

Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@intel.com>
2017-09-01 16:59:03 -07:00
George Bosilca
866899e836
Always abide to the RDMA pipeline limit.
Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2017-09-01 18:52:48 -04:00
George Bosilca
050bd3b6d7
Make the pipeline depth an int instead of a size_t. While
they are supposed to be unsigned, casting them to a signed
value for all atomic operations is as errorprone as handling
them as signed entities.

Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2017-09-01 18:52:48 -04:00
Clement Foyer
9a8fc1b9f1 Simplify the communicator's name caching management
Remove useless over-initialization

Signed-off-by: Clement Foyer <clement.foyer@inria.fr>
2017-08-29 12:52:47 +02:00
Yossi Itigin
14a93a5992 pml_ucx: fix tag/context_id layout and upper bounds.
Signed-off-by: Yossi Itigin <yosefe@mellanox.com>
2017-08-27 17:15:48 +03:00
Josh Hursey
ad87aa2674 Merge pull request #4121 from jjhursey/explore/dlopen-local
mca: Dynamic components link against project lib
2017-08-25 13:15:51 -05:00
Joshua Hursey
49c40f05d4 mpi/java: Remove dlopen() workaround
* See discussion on Issue #3705 regarding why this is no longer needed.

Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
2017-08-24 11:56:17 -04:00
Joshua Hursey
e1d079544b mca: Dynamic components link against project lib
* Resolves #3705
 * Components should link against the project level library to better
   support `dlopen` with `RTLD_LOCAL`.
 * Extend the `mca_FRAMEWORK_COMPONENT_la_LIBADD` in the `Makefile.am`
   with the appropriate project level library:
```
MCA components in ompi/
       $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la
MCA components in orte/
       $(top_builddir)/orte/lib@ORTE_LIB_PREFIX@open-rte.la
MCA components in opal/
       $(top_builddir)/opal/lib@OPAL_LIB_PREFIX@open-pal.la
MCA components in oshmem/
       $(top_builddir)/oshmem/liboshmem.la"
```

Note: The changes in this commit were automated by the script in
the commit that proceeds it with the `libadd_mca_comp_update.py`
script. Some components were not included in this change because
they are statically built only.

Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
2017-08-24 11:56:16 -04:00
Ralph Castain
e02c39385a Merge branch 'master' into topic/modex 2017-08-22 20:06:35 -07:00
George Bosilca
50f471e31e
Cleanup a set of warnings reported by Ralph.
Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2017-08-22 23:00:18 -04:00
Ralph Castain
d80b0c7990 If the HWLOC shared memory system is unable to connect, then fallback to providing the topology via XML. Do not automatically provide the XML to every process as that defeats the purpose of the shared memory system. Instead, use PMIx_Query_info_nb to get the info from the server when required.
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-08-22 18:12:26 -07:00
Jeff Squyres
ea5093fc14 mpi/info_delete: fix return code
Per MPI-3.1, ensure to raise an MPI exception with value
MPI_ERR_INFO_NOKEY if we try to MPI_INFO_DELETE a key that does not
exist.  Thanks to @dalcinl (Lisando Dalcin) for raising the issue.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2017-08-22 08:56:40 -07:00
Gilles Gouaillardet
a3e31fa8d0 ompi/communicator: plug a memory leak in ompi_comm_init()
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-08-21 11:47:11 +09:00
Edgar Gabriel
99c7482dd8 Merge pull request #3739 from cniethammer/sharedfp_sm_file_dir
Create file for file backed shared memory in process job session dir.
2017-08-15 11:53:30 -05:00
Edgar Gabriel
8fe1c63e25 io/ompio: change the increment for cost based aggr. selection
- change the increment used to test various no. of aggregators
  to avoid using only power of two numbers
- convert some paratemers in the cost function from integers to
  to floats for providing smoother and more consistent results
- set the FVIEW_IS_SET flag on the file *only* if the user
  has set anything else than the default file view.

Signed-off-by: Edgar Gabriel <gabriel@cs.uh.edu>
2017-08-15 09:50:41 -05:00
Edgar Gabriel
f258036e06 fcoll/two_phase: adjust aggregator selection to new mapby flag on MPI_COMM_WORLD
adjust how the aggregator nodes are selected depending on whether processes
have been mapped by node or anything else.

Signed-off-by: Edgar Gabriel <gabriel@cs.uh.edu>
2017-08-15 09:50:41 -05:00
Edgar Gabriel
92eff9050c communicator/comm_init.c: add a new flag indicating binding policy
Check for the binding policy used. We are only interested in
whether mapby-node has been set right now (could be extended later)
and only on MPI_COMM_WORLD, since for all other sub-communicators
it is virtually impossible to identify their layout across nodes
in the most generic sense. This is used by OMPIO for deciding which
ranks to use for aggregators

Signed-off-by: Edgar Gabriel <gabriel@cs.uh.edu>
2017-08-15 09:50:41 -05:00
Edgar Gabriel
b3f59c76e1 io/ompio: new simple aggr. selection algorithm
add a new aggregator selection algorithm based on the performance
model described in:

Shweta Jha, Edgar Gabriel,
'Performance Models for Communication in Collective I/O Operations'
Proceedings of the 17th IEEE/ACM Symposium
on Cluster, Cloud and Grid Computing, Workshop on Theoretical
Approaches to Performance Evaluation, Modeling and Simulation, 2017.

Signed-off-by: Edgar Gabriel <gabriel@cs.uh.edu>
2017-08-15 09:50:41 -05:00
Jeff Squyres
791bcee6c0 ompi/fortran: remove proof-of-concept mpi_f08 module
This module was always intended to be a proof of concept, and was far
from complete.  If/when someone implemented F08 descriptor support for
the mpi_f08 module, this commit can either be restored or used as
reference material.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2017-08-10 06:19:17 -07:00
Gilles Gouaillardet
dfe7b2be3f fortran/use-mpi-f08-desc: add a missing include file
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-08-09 13:19:22 +09:00
Gilles Gouaillardet
2c71c27882 fortran2008: fix mpiext example
in order to solve an egg and the chicken problem,  in which mpiext need mpi-f08-types.mod
and/but use-mpi-f08[-desc] needs mpiext, add an extra step
- build fortran 2008 modules only
- build fortran 2008 mpi extensions
- and then build fortran 2008 bindings

Fixes open-mpi/ompi#3605

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-08-09 13:19:22 +09:00
bosilca
9b43de112c Merge pull request #4014 from bosilca/topic/treematch
Topic/treematch
2017-08-08 11:28:22 -04:00
Nathan Hjelm
76320a8ba5 opal: rename opal_atomic_init to opal_atomic_lock_init
This function is used to initalize and opal atomic lock. The old name
was confusing.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2017-08-07 14:15:11 -06:00
Joshua Ladd
c27beea3a1 Merge pull request #3962 from karasevb/ucx_detect
configure: detect UCX support by default
2017-08-03 16:33:57 -04:00
Nathan Hjelm
29b059e4eb Merge pull request #3971 from plesn/yield_srun
fix srun latency, change default yield_when_idle=0
2017-08-03 07:49:00 -06:00
George Bosilca
3d27e0d3a4
Add support for hwloc 2.0 API.
Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2017-08-03 02:47:04 -04:00
Guillaume Mercier
569239ec44
Check if topo weighted in case of partially distrib case
Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2017-08-03 00:47:46 -04:00
George Bosilca
1d7cca75a1
Fix a typo in the copyright.
Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2017-08-03 00:47:10 -04:00
George Bosilca
e4db9e574f
Fix all warnings.
Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2017-08-03 00:47:02 -04:00
George Bosilca
c2927d7e91
Update to the latest version provided by Guillaume.
Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2017-08-03 00:46:48 -04:00
George Bosilca
6c8ea09cc5
Use OPAL random generator.
This fix is related to issue #1877, and prevents the OMPI library from
messing the user level random values.

Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2017-08-03 00:46:37 -04:00
George Bosilca
5542559130
Cleaning and optimizations.
Including variable renaming and loop merging.

Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2017-08-03 00:46:28 -04:00
George Bosilca
bc634dbcb0
Make sure the gather is called in all cases, and not
simply based on some local state. This is the second
part of the patch proposed for open-mpi/ompi#1183.

Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2017-08-03 00:46:17 -04:00
Brian Barrett
1ec3fd38be Revert "Topic/treematch" 2017-08-02 14:40:55 -07:00
bosilca
d6048af915 Merge pull request #3960 from bosilca/topic/treematch
Update OMPI support for topologies and reordering.
2017-08-02 12:47:23 -04:00
Ralph Castain
f39ce67982 Merge pull request #3951 from rhc54/topic/hwloc2
Update to hwloc 2.0.0a
2017-08-01 15:18:31 -06:00
KAWASHIMA Takahiro
3eac4b0c9a communicator: Refine ompi_comm_set error check
The `ompi_comm_set` function never sets `NULL` to its first argument
`ncomm`.  So `NULL` check is unnecessary in its callers. Furthermore,
`NULL` check may obscure a real return code when an error occurs
if the variable is initialized to a `NULL` value.

Also, `NULL` check is added in the `ompi_comm_set` function to
avoid segmentation fault in an out-of-memory condition.

Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
2017-07-31 20:26:51 +09:00
KAWASHIMA Takahiro
ebc4eb347c Merge pull request #3701 from kawashima-fj/pr/non-pml-persistent
ompi/request: Support non-PML persistent requests
2017-07-31 02:36:17 -05:00
Edgar Gabriel
d93dae326e Merge pull request #3959 from edgargabriel/topic/performance-fixes
Topic/performance fixes
2017-07-27 09:51:57 -05:00
Piotr Lesnicki
3fa7aabf89 fix srun latency, change default yield_when_idle=0
This changes the default to 0, to avoid yields during progress in srun.

In mpirun, ompi_mpi_yield_when_idle is set to 1 if oversubscribed
otherwise 0. But the default is 1 though, and it is used in srun.
Now srun and mpirun have the same latency in non-oversubscribed cases.

Signed-off-by: Piotr Lesnicki <piotr.lesnicki@atos.net>
2017-07-27 09:41:48 +02:00
Guillaume Mercier
a66dc811b2
Check if topo weighted in case of partially distrib case 2017-07-26 11:54:24 -04:00
George Bosilca
8a7f0baee0
Fix call to opal_hwloc_base_get_topology.
Make sure the HWLOC topology is available as early as possible, so that
we can fail graciously.

Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2017-07-26 11:54:24 -04:00
George Bosilca
6061454055
Fix a typo in the copyright.
Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2017-07-26 11:54:24 -04:00
George Bosilca
911850d82e
Fix all warnings.
Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2017-07-26 11:54:24 -04:00
George Bosilca
2c00c4209a
Update to the latest version provided by Guillaume.
Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2017-07-26 11:54:23 -04:00
George Bosilca
fc21ffadc9
Cleaning and optimizations.
Including variable renaming and loop merging.

Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2017-07-26 11:54:23 -04:00
George Bosilca
081f9bc8db
Use OPAL random generator.
This fix is related to issue #1877, and prevents the OMPI library from
messing the user level random values.

Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2017-07-26 11:54:23 -04:00
George Bosilca
fbe6c22b90
Make sure the gather is called in all cases, and not
simply based on some local state. This is the second
part of the patch proposed for open-mpi/ompi#1183.

Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2017-07-26 11:52:47 -04:00
Ralph Castain
7a83fdb9bb Update to hwloc 2.0.0a with shmem support.
Update to support passing of HWLOC shmem topology to client procs
Update use of distance API per @bgoglin
Have the openib component lookup its object in the distance matrix
Bring usnic up-to-date
Restore binding for hwloc2

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2017-07-25 20:26:22 -07:00
Boris Karasev
d917d54ddc configure: detect UCX support by default
Adds detecting UCX from following paths: "/usr /usr/local /opt/ucx"

Signed-off-by: Boris Karasev <karasev.b@gmail.com>
2017-07-25 23:48:49 +03:00
Joshua Ladd
8f5cb4c459 Merge pull request #3690 from xinzhao3/topic/ompi-osc-ucx
Topic/ompi-osc-ucx: Add ucx implementation for ompi osc
2017-07-25 16:26:45 -04:00
Edgar Gabriel
ca1462a889 common/ompio: adjust location of fcoll_base_file_select
adjust the location on where the fcoll_base_file_select function is
colled to ensure that all fs level parameters are correctly set.

io/ompio: minor fixes to initialization of the stripe_size and an if statement in the
simple_grouping option.

Signed-off-by: Edgar Gabriel <gabriel@cs.uh.edu>
2017-07-25 10:43:38 -05:00
Edgar Gabriel
450ccd439b fcoll/base: adjust selection table
adjust the fcoll selection table to achieve the following:
 - two_phase should not advertise itself on lustre file systems
 - two_phase should advertise itself on sequential file systems (stripe_size == 0 )
 - priority for dynamic, static and individual is reduced. This will lead to
   two_phase being selected in scenarios where two or more components indicate
   willingness to run.

Signed-off-by: Edgar Gabriel <gabriel@cs.uh.edu>
2017-07-25 10:37:22 -05:00
Gilles Gouaillardet
e054f870a8 Merge pull request #3901 from Zzzoom/nbc_remove_progress_lock
coll/libnbc: demote progress_lock to regular flag
2017-07-25 09:24:08 +09:00
Carlos Bederián
1767b218fb coll/libnbc: demote progress_lock to regular flag
Signed-off-by: Carlos Bederián <bc@famaf.unc.edu.ar>
2017-07-24 20:19:55 -03:00
Gilles Gouaillardet
60aa9cfcb6 hwloc: add support for hwloc v2 API
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-07-20 17:39:44 +09:00
Gilles Gouaillardet
9f29f3bff4 hwloc: since WHOLE_SYSTEM is no more used, remove useless
checks related to offline and disallowed elements

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-07-20 17:39:21 +09:00
Xin Zhao
2aa5292dbf Add UCX component for ompi/mca/osc for MPI one-sided communication.
Signed-off-by: Xin Zhao <xinz@mellanox.com>
2017-07-19 19:45:40 +03:00
Edgar Gabriel
b363a0f4db Merge pull request #3908 from edgargabriel/pr/lustre-header-update
fs/lustre: update lustre header file used in the component
2017-07-18 09:57:11 -05:00
Gilles Gouaillardet
1b46fe2d9a pml/ob1: fix mca_pml_ob1_progress_needed usage
correctly use OPAL_ATOMIC_ADD32() that returns the *new* value
and *not* the previous one.

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-07-18 09:30:57 +09:00
Nathan Hjelm
5a5edfce88 Merge pull request #3876 from hppritcha/topic/add_psm2_get_stats
mtl/psm2: add pvar support for PSM2 MQ stats
2017-07-17 16:02:51 -05:00
Edgar Gabriel
13b14f5efe Merge pull request #3906 from edgargabriel/pr/lazy_open_fix
common/ompio: fix the lazy_open flag
2017-07-17 10:58:13 -05:00
Edgar Gabriel
931c2021c7 Merge pull request #3905 from edgargabriel/pr/fix-grouping-options
io/ompio: fix grouping option
2017-07-17 10:55:57 -05:00
Edgar Gabriel
bc8f642211 fs/lustre: update lustre header file used in the component
liblustreapi.h is at this point deprecated. Switch to lustreapi.h instead

fixes issue #3223

Signed-off-by: Edgar Gabriel <egabriel@central.uh.edu>
2017-07-17 10:33:52 -05:00
Nathan Hjelm
9b702fb9bd ompi: clean up topo helper functions
This commit removes the communicator topo helper functions in favor
of functions in mca/topo/base.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2017-07-17 10:30:42 -05:00
Edgar Gabriel
8e17827a13 common/ompio: fix the lazy_open flag
fixes an erroneous error code being returned when activating
the mca_io_ompio_sharedfp_lazy_open flag with MPI_MODE_APPEND.

fixes issue #3904

Signed-off-by: Edgar Gabriel <egabriel@central.uh.edu>
2017-07-17 09:44:34 -05:00
Edgar Gabriel
4bdddfb74b io/ompio: fix grouping option
changing the value of mca_io_ompio_grouping_option lead to a segfault due to
a double-free problem. Remove the erroneous free statements that have been introduced
and add a note ensuring that we are not re-adding them back at that spot.

fixes issue #3903

Signed-off-by: Edgar Gabriel <egabriel@central.uh.edu>
2017-07-17 09:38:10 -05:00
Yossi Itigin
b0692c6836 Merge pull request #3833 from yosefe/topic/pml-yalla-dt-size-fix
pml/yalla: fix getting size of a continuous type.
2017-07-16 11:19:16 +03:00
Howard Pritchard
701a1d0218 mtl/psm2: add pvar support for PSM2 MQ stats
Add pvars for PSM2 MQ stats to help in analyzing performance
of Omnipath.

Tested (modestly) using modified OSU pt2pt benchmarks.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2017-07-14 10:31:35 -06:00
Ryan Grant
0ce8590e7c Merge pull request #3837 from tkordenbrock/topic/master/get.retry.timeout
master: mtl-portals4: add timeout to rendezvous get fragments
2017-07-13 09:59:54 -06:00
Nathan Hjelm
6fb81f20e4 mtl/psm2: create mca variables to shadow PSM2 environment variables
This commit enables MCA support for the following PSM2 environment
variables: PSM2_DEVICES, PSM2_MEMORY, PSM2_MQ_SENDREQS_MAX,
PSM2_MQ_RECVREQS_MAX, PSM2_MQ_RNDV_HFI_THRESH,
PSM2_MQ_RNDV_SHM_THRESH, PSM2_RCVTHREAD, PSM2_SHAREDCONTEXTS,
PSM2_SHAREDCONTEXTS_MAX, and PSM2_TRACEMASK. These variable can be set
by MCA if they are not already set in the environment.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2017-07-13 09:48:46 -06:00
Christoph Niethammer
e1fc6ae304 Change filename for shared_fm file to include comm cid instead of masterjobid.
Signed-off-by: Christoph Niethammer <niethammer@hlrs.de>
2017-07-13 01:38:40 +02:00
Jeff Squyres
ccf17808b6 Merge pull request #3258 from markalle/pr/symbol_name_pollution
symbol name pollution
2017-07-12 16:19:25 -05:00
Nathan Hjelm
3c0e94afab mpi/neighbor_allgatherv: fix copy&paste error and add helpers
This commit adds a helper function to get the inbound and outbound
neighbor count and updates the neighbor_allgatherv bindings to use the
correct count when checking the input parameters.

Fixes #2324

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2017-07-12 12:54:24 -06:00
Nathan Hjelm
bf1c863b96 osc/pt2pt: make progress in flush*_local
There is no reason not to progress OSC during the MPI_Win_flush_local
and MPI_Win_flush_all_local calls. This fixes #3750.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2017-07-12 09:09:58 -06:00
Gilles Gouaillardet
7a866f754c topo/treematch: fix topo_treematch_distgraph_create
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-07-12 10:27:45 +09:00
Gilles Gouaillardet
72cfbb665c ompi/attributes: revamp attribute handling.
we now have 12 cases to deal (4 writers and 3 readers) :

1. C `void*` is written into the attribute value, and the value is read into a C `void*` (unity)
2. C `void*` is written, Fortran `INTEGER` is read
3. C `void*` is written, Fortran `INTEGER(KIND=MPI_ADDRESS_KIND)` is read
4. Fortran `INTEGER` is written, C `void*` is read
5. Fortran `INTEGER` is written, Fortran `INTEGER` is read (unity)
6. Fortran `INTEGER` is written, Fortran `INTEGER(KIND=MPI_ADDRESS_KIND)` is read
7. Fortran `INTEGER(KIND=MPI_ADDRESS_KIND)` is written, C `void*` is read
8. Fortran `INTEGER(KIND=MPI_ADDRESS_KIND)` is written, Fortran `INTEGER` is read
9. Fortran `INTEGER(KIND=MPI_ADDRESS_KIND)` is written, Fortran `INTEGER(KIND=MPI_ADDRESS_KIND)` is read (unity)
10. Intrinsic is written, C `void*` is read
11. Intrinsic is written, Fortran `INTEGER` is read
12. Intrinsic is written, Fortran `INTEGER(KIND=MPI_ADDRESS_KIND)` is read

MPI-2 Fortran "integer representation" has type `INTEGER(KIND=MPI_ADDRESS_KIND)` as clarified
at https://github.com/mpiwg-rma/rma-issues/issues/1

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-07-12 10:27:45 +09:00
Nathan Hjelm
e73ab93ebf pml/ob1: do not access fragment after calling btl rget
This commit fixes a bug that occurs when the btl callback happens before
the rget returns. In this case the fragment has been returned and is no
longer valid. This commit saves the size before calling rget. This is
valid since the BTL is not allowed to change the read size.

Fixes #3821

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2017-07-11 15:59:40 -06:00
Joshua Hursey
c81795cbda Revert "Fix MPI_SIZEOF for gfortran 4.8"
This reverts commit 5de3d5dde6.

 Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
2017-07-11 11:09:17 -05:00
Mark Allen
552216f9ba scripted symbol name change (ompi_ prefix)
Passed the below set of symbols into a script that added ompi_ to them all.

Note that if processing a symbol named "foo" the script turns
    foo  into  ompi_foo
but doesn't turn
    foobar  into  ompi_foobar

But beyond that the script is blind to C syntax, so it hits strings and
comments etc as well as vars/functions.

    coll_base_comm_get_reqs
    comm_allgather_pml
    comm_allreduce_pml
    comm_bcast_pml
    fcoll_base_coll_allgather_array
    fcoll_base_coll_allgatherv_array
    fcoll_base_coll_bcast_array
    fcoll_base_coll_gather_array
    fcoll_base_coll_gatherv_array
    fcoll_base_coll_scatterv_array
    fcoll_base_sort_iovec
    mpit_big_lock
    mpit_init_count
    mpit_lock
    mpit_unlock
    netpatterns_base_err
    netpatterns_base_verbose
    netpatterns_cleanup_narray_knomial_tree
    netpatterns_cleanup_recursive_doubling_tree_node
    netpatterns_cleanup_recursive_knomial_allgather_tree_node
    netpatterns_cleanup_recursive_knomial_tree_node
    netpatterns_init
    netpatterns_register_mca_params
    netpatterns_setup_multinomial_tree
    netpatterns_setup_narray_knomial_tree
    netpatterns_setup_narray_tree
    netpatterns_setup_narray_tree_contigous_ranks
    netpatterns_setup_recursive_doubling_n_tree_node
    netpatterns_setup_recursive_doubling_tree_node
    netpatterns_setup_recursive_knomial_allgather_tree_node
    netpatterns_setup_recursive_knomial_tree_node
    pml_v_output_close
    pml_v_output_open
    intercept_extra_state_t
    odls_base_default_wait_local_proc
    _event_debug_mode_on
    _evthread_cond_fns
    _evthread_id_fn
    _evthread_lock_debugging_enabled
    _evthread_lock_fns
    cmd_line_option_t
    cmd_line_param_t
    crs_base_self_checkpoint_fn
    crs_base_self_continue_fn
    crs_base_self_restart_fn
    event_enable_debug_output
    event_global_current_base_
    event_module_include
    eventops
    sync_wait_mt
    trigger_user_inc_callback
    var_type_names
    var_type_sizes

Signed-off-by: Mark Allen <markalle@us.ibm.com>
2017-07-11 02:13:23 -04:00
Todd Kordenbrock
5ecd905358 mtl/portals4: move opal_timer_base_get_usec() out of the fast path
Rearrange the receive frag timeout logic to avoid calling
opal_timer_base_get_usec() in read_msg().  Instead set it at the first
retry.

Signed-off-by: Todd Kordenbrock <thkgcode@gmail.com>
2017-07-09 22:12:45 -05:00
Todd Kordenbrock
37766d770d mtl/portals4: if frag retry fails, then fail the entire receive
If the a frag cannot be retried because the ni_fail_type is other than
PTL_NI_DROPPED, then set the return type and jump to callback_error.
This sets MPI_ERROR and completes the receive.

Signed-off-by: Todd Kordenbrock <thkgcode@gmail.com>
2017-07-09 22:12:31 -05:00
Piotr Lesnicki
99453e6b10 mtl/portals4: get retransmission REPLY code
Signed-off-by: Todd Kordenbrock <thkgcode@gmail.com>
2017-07-09 22:12:25 -05:00
Piotr Lesnicki
06b15cebbf mtl/portals4: add timeout to get retransmit
Signed-off-by: Todd Kordenbrock <thkgcode@gmail.com>
2017-07-09 22:12:08 -05:00