Tomislav Janjusic
3d6bf9fd8e
oshmem/ucx: improves spml ucx performance for multi-threaded
...
applications.
Improves multi-threaded performance by adding the option to create
multiple ucx workers in threaded applications.
Co-authored with:
Artem Y. Polyakov <artemp@mellanox.com>,
Manjunath Gorentla Venkata <manjunath@mellanox.com>
Signed-off-by: Tomislav Janjusic <tomislavj@mellanox.com>
2020-01-22 21:41:09 +02:00
Barton Chittenden
47816ef83b
Remove mxm, yalla and ikrit
...
Signed-off-by: Barton Chittenden <bartonski@gmail.com>
2019-11-22 13:40:16 -08:00
Sergey Oblomov
0b108411f8
SPML/UCX: added synchronized flush on quiet
...
- added synchronized flush operation on quiet call.
- flush is implemented using get operation
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2019-05-27 16:07:04 +03:00
Xin Zhao
f1b095c784
OMPI/OSHMEM: bug-fix: store mkeys for each oshmem ctx.
...
Signed-off-by: Xin Zhao <xinz@mellanox.com>
2019-02-25 16:19:08 +02:00
Yossi Itigin
83cca9d52a
ucx: add owner.txt for components
...
Signed-off-by: Yossi Itigin <yosefe@mellanox.com>
2018-12-01 17:14:03 +02:00
Sergey Oblomov
b72dd83f05
MCA/COMMON/UCX: added synonims for common ucx variables
...
- added synonims for atomic/osc modules
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-08-26 18:25:21 +03:00
Sergey Oblomov
3295b23800
MCA/ATOMIC: atomic_init renamed to atomic_startup
...
- there is C11 naming conflict - atomic_init is C macro
which cause building issue
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-24 08:49:06 +03:00
Xin Zhao
c429900cd9
OMPI/OSHMEM: add new functionality of OpenSHMEM v1.4.
...
Signed-off-by: Xin Zhao <xinz@mellanox.com>
2018-07-16 12:55:25 -07:00
Yossi Itigin
9d0b3a42aa
Merge pull request #5423 from hoopoepg/topic/bitwise-atomics-renaming
...
ATOMICS: renamed atomic calls to unsigned datatypes
2018-07-16 19:08:02 +03:00
Sergey Oblomov
bd84165277
ATOMICS: renamed atomic calls to unsigned datatypes
...
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-13 15:32:16 +03:00
Sergey Oblomov
d51426ff0a
ATOMIC/MXM: fixed abstraction violation
...
- applied workaround for incorrect dynamic module dependency
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-13 14:30:12 +03:00
Sergey Oblomov
0212410187
OSHMEM/ATOMICS: fixed comments errors
...
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-10 10:13:40 +03:00
Sergey Oblomov
64212a9ff1
OSHMEM/ATOMICS: added C implementation of and/or/xor ops
...
- added implementation and/or/xor operations for post and
fetch-op notations
- implemented basic and UCX transports, mxm added
NON-IMPLEMENTED wrapper
- updated C interfaces only (fortran will be added later)
- existing API is not updated to spec v1.4
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-09 16:18:47 +03:00
Sergey Oblomov
bef47b792c
MCA/COMMON/UCX: unified logging across all UCX modules
...
- added common logging infrastructure for all
UCX modules
- all UCX modules are switched to new infra
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-05 16:25:39 +03:00
Sergey Oblomov
8080283b3d
MCA/COMMON/UCX: changed return type for wait_request
...
- for now wait_request returns OMPI status
- updated callers
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-04 23:29:38 +03:00
Sergey Oblomov
586c16be70
ATOMIC/UCX: renamed ATOMIC_PTR_2_INT to OSHMEM_ATOMIC_PTR_2_INT
...
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-04 15:07:39 +03:00
Sergey Oblomov
54d97efa84
ATOMIC/UCX: fixed atomic swap/cswap issues
...
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-04 14:41:48 +03:00
Sergey Oblomov
5eb8c99cd7
ATOMIC/UCX: optimization for cswap
...
- used uint64_t output datatype to avoid branches in
implementations
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-04 14:41:46 +03:00
Sergey Oblomov
f574c14e3a
ATOMICS/UCX: redefine atomic module API
...
- now it accepts integer values directily instead of
pointers
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-04 14:41:45 +03:00
Sergey Oblomov
a0ea368464
ATOMIC/UCX: minor optimization and code cleaning
...
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-04 14:41:43 +03:00
Sergey Oblomov
eb0abfcf92
SHMEM/ATOMIC: refactoring of module API
...
- removed atomic-basic-specific operand from module API
- added own calls for add and swap operations
- minor optimization for UCX atomics
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-04 14:40:14 +03:00
Sergey Oblomov
910e08f5ef
MCA/ATOMICS/UCX: workaround for abstraction violation
...
- some spml calls are marked as inline to exclude cross-module
dependency
- updated get-key call to get link to local module
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-06-29 16:32:04 +03:00
Sergey Oblomov
63e7ba6843
MCA/COMMON/UCX: added parameter for UCX/opal progress
...
- added parameter to set UCX/opal progresses
- minor refactoring of request wait routines
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-06-25 11:00:12 +03:00
Sergey Oblomov
d57ae62dee
MCA/UCX: added common module
...
- implemented non-blocking routines for flush operations
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-06-22 16:41:09 +03:00
Sergey Oblomov
319bb376f9
MCA/UCX: branch optimization in cswap call
...
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-05-30 07:14:43 +03:00
Sergey Oblomov
daad71f036
MCA/UCX: switch/case optimization
...
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-05-29 22:33:33 +03:00
Sergey Oblomov
6be4066e23
MCA/UCX: cswap call if updated to non-blocking API
...
- minor fixes
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-05-29 20:07:51 +03:00
Sergey Oblomov
0c3ed93ef0
MCA/UCX: added opal progress call to wait request routine
...
- added opal_progress call to wait function to avoid
possible [dead]lock issues
- wait call is declared as inline
- minor fixes
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-05-29 11:34:40 +03:00
Sergey Oblomov
bbaffd3681
MCA/UCX: atomic add/swap are moved to new UCX atomic API
...
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-05-22 22:23:31 +03:00
Xin Zhao
a5b72cc2e4
ompi/oshmem: fix cswap bug in mca/atomic/mxm.
...
Signed-off-by: Xin Zhao <xinz@mellanox.com>
2018-03-30 03:17:01 -05: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
1e2019ce2a
Revert "Update to sync with OMPI master and cleanup to build"
...
This reverts commit cb55c88a8b
.
2016-11-22 15:03:20 -08:00
Ralph Castain
cb55c88a8b
Update to sync with OMPI master and cleanup to build
...
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2016-11-22 14:24:54 -08:00
Alex Mikheev
ff5095e533
OSHMEM: adds support for mkey caching by spml
...
It improves cpu cache hit ratio.
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-11-06 11:56:43 +02:00
Alex Mikheev
23c3dc8345
OSHMEM: mxm: optimize mxm_peer layout.
...
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-11-06 11:56:40 +02:00
Alex Mikheev
df74d549dc
OSHMEM: spml ikrit: changes mxm_peers layout
...
use single array instead of array of pointers
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-11-06 11:56:39 +02:00
Alex Mikheev
2f91ce7281
OSHMEM: mxm versions less than 2.0 are no longer supported
...
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-11-06 11:56:38 +02:00
Gilles Gouaillardet
0a25420dac
oshmem: get rid of oshmem_proc_t and use ompi_proc_t instead
...
store oshmem related per proc data in an oshmem_proc_data_t struct,
that is stored in the padding section of an ompi_proc_t
this data can be accessed via the OSHMEM_PROC_DATA(proc) macro
Fixes open-mpi/ompi#2023
2016-09-01 14:20:14 +09:00
Nathan Hjelm
dbfab94ede
atomic/mxm: rename symbol that is a duplicate of one in atomic/ucx
...
This fixes an error when building with --enable-static.
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2016-05-25 15:34:40 -06:00
Alex Mikheev
f627608e42
OSHMEM/UCX: implements atomic support
...
ucx atomic component has a real code now.
fixes bug in spml ucx arr_procs
removes redundant parameter checks from atomic components.
2016-01-21 16:02:28 +02:00
Igor Ivanov
c0518c0417
oshmem: Enable force output for error messages
...
This change fixes issue when oshmem related error messages are not
visible for an user.
2015-11-11 13:26:10 +02:00
Alex Mikheev
f2b501a862
oshmem: Add UCX spml.
2015-10-20 19:46:02 +03:00
Alex Mikheev
b020b628fc
oshmem/memheap: optimized mkey lookup.
...
Fast path lookup is done in inline funcion.
2015-10-20 19:45:51 +03:00
Jeff Squyres
5065978a1e
oshmem: __FUNCTION__ -> __func__ fixes
2015-08-05 05:39:38 -07:00
Ralph Castain
869041f770
Purge whitespace from the repo
2015-06-23 20:59:57 -07:00
Gilles Gouaillardet
11e11e1be9
initialize common symbols from oshmem
2015-05-08 10:11:58 +09:00
Nathan Hjelm
c4a61969c0
oshmem: use C99 subobject naming for component initialization
...
This commit helps future-proof oshmem components by initializing each
component member by name.
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-04-18 10:29:58 -06:00
Nathan Hjelm
b68d66bb9b
MCA: Add the project/project version to the MCA base component
...
This commit adds support for project_framework_component_* parameter
matching. This is the first step in allowing the same framework name
in multiple projects. This change also bumps the MCA component version
to 2.1.0.
All master frameworks have been updated to use the new component
versioning macro. An mca.h has been added to each project to add a
project specific versioning macro of the form
PROJECT_MCA_VERSION_2_1_0.
Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2015-03-27 10:59:04 -06:00
Alex Mikheev
c76261da07
OSHMEM: atomic mxm: fix mkey conversion
...
Correctly return mxm_empty_mem_key when shmem mkey is empty
2014-12-16 16:34:42 +02:00
Alex Mikheev
1bcc88cfb1
OSHMEM: spml ikrit: hardware rdma endpoint
...
Create additional endpoint that is capable of true
one sided RDMA transfers.
MXM atomics component now uses this endpoint
2014-10-14 15:31:09 +03:00