1
1

9639 Коммитов

Автор SHA1 Сообщение Дата
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
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
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 5de3d5dde688d1af4fc7c6c33636d5d808f40c0a.

 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