Tommy Janjusic
2c8da2c0a9
Further code reduction and simplifications.
...
Co-authored-by: Artem Polyakov <artpol84@gmail.com>
Signed-off-by: Tomislav Janjusic <tomislavj@mellanox.com>
2020-07-30 20:00:22 +03:00
Tomislav Janjusic
cbfc9a3263
opal/mca/common/ucx: Use new TSD api
...
Co-authored-by: Artem Y. Polyakov <artemp@mellanox.com>
Signed-off-by: Tomislav Janjusic <tomislavj@mellanox.com>
2020-07-30 00:21:26 +03:00
Tomislav Janjusic
72296e12f4
opal/common/ucx:
...
-mutex lock/unlock suggestions
-common destructor/cleanup
Co-authored-with: Artem Y. Polyakov <artemp@mellanox.com>
Signed-off-by: Tomislav Janjusic <tomislavj@mellanox.com>
2020-07-30 00:21:26 +03:00
Tomislav Janjusic
27ba4b612f
ompi/osc/ucx: Remove workerpool's global thread storage tables.
...
Co-authored-by: Artem Y. Polyakov <artemp@mellanox.com>
Signed-off-by: Tomislav Janjusic <tomislavj@mellanox.com>
2020-07-30 00:21:26 +03:00
Tomislav Janjusic
d809f6ba27
New TSD API interface fix for various components
...
Co-authored by: Artem Polykaov <artemp@mellanox.com>
Signed-off-by: Tomislav Janjusic <tomislavj@mellanox.com>
2020-07-24 18:29:40 +03:00
Tomislav Janjusic
cba5a0e117
Rename tsd interface function calls
...
Co-authored by: Artem Polykaov <artemp@mellanox.com>
Signed-off-by: Tomislav Janjusic <tomislavj@mellanox.com>
2020-07-24 18:29:07 +03:00
Sergey Oblomov
a383312393
UCX/WPOOL: fixed potential deadlock
...
- fixed funcs:
opal_common_ucx_wpmem_putget
opal_common_ucx_wpmem_cmpswp
opal_common_ucx_wpmem_post
opal_common_ucx_wpmem_fetch
opal_common_ucx_wpmem_fetch_nb
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2020-06-29 13:40:50 +03:00
Sergey Oblomov
34f2f6af84
UCX/WPOOL: fixed potential deadlock
...
- fixed potential deadlock in error processing
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2020-06-27 15:19:01 +03:00
Joseph Schuchart
e3b417c776
Add missing copyright header
...
Signed-off-by: Joseph Schuchart <schuchart@hlrs.de>
2020-06-23 12:41:52 +02:00
Joseph Schuchart
824afac483
UCX common: add non-blocking compare-and-swap
...
Signed-off-by: Joseph Schuchart <schuchart@hlrs.de>
2020-06-23 12:41:52 +02:00
Noah Evans
ee3517427e
Add threads framework
...
Add a framework to support different types of threading models including
user space thread packages such as Qthreads and argobot:
https://github.com/pmodels/argobots
https://github.com/Qthreads/qthreads
The default threading model is pthreads. Alternate thread models are
specificed at configure time using the --with-threads=X option.
The framework is static. The theading model to use is selected at
Open MPI configure/build time.
mca/threads: implement Argobots threading layer
config: fix thread configury
- Add double quotations
- Change Argobot to Argobots
config: implement Argobots check
If the poll time is too long, MPI hangs.
This quick fix just sets it to 0, but it is not good for the
Pthreads version. Need to find a good way to abstract it.
Note that even 1 (= 1 millisecond) causes disastrous performance
degradation.
rework threads MCA framework configury
It now works more like the ompi/mca/rte configury,
modulo some edge items that are special for threading package
linking, etc.
qthreads module
some argobots cleanup
Signed-off-by: Noah Evans <noah.evans@gmail.com>
Signed-off-by: Shintaro Iwasaki <siwasaki@anl.gov>
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2020-03-27 10:15:45 -06:00
George Bosilca
72501f8f9c
Consistent return from all progress functions.
...
This fix ensures that all progress functions return the number of
completed events.
Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2020-01-28 20:16:53 +01:00
Artem Polyakov
3aadc2b5e1
opal/common/ucx: Fix periodical flush in the worker pool
...
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
2019-02-19 14:22:07 -08:00
Artem Polyakov
84dfe1277c
opal/common/ucx: Rename wpool recv_worker to dflt_worker
...
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
2019-02-19 14:22:07 -08:00
Artem Polyakov
8a990c2b64
opal/common/ucx: Add comments clarifying data structures
...
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
2019-02-19 14:22:07 -08:00
Artem Polyakov
19e2ae2efb
opal/common/ucx: Switch to opal/tsd
...
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
2019-02-19 14:22:07 -08:00
Artem Polyakov
7984d7d997
opal/common/ucx: Remove unused debugging macro
...
Will be reintroduced later if needed and after adaptation to the OMPI
infrastructure.
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
2019-02-19 14:22:07 -08:00
Artem Polyakov
43f16d8796
opal/common/ucx: Remove common_ucx_int.h
...
Place the content of common_ucx_int.h back to the common_ucx.h and
include common_ucx_wpool.h explicitly.
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
2019-02-19 14:22:07 -08:00
Xin Zhao
bcb52ecade
opal/common/ucx: add winfo ptr into req
...
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
2019-02-19 14:22:07 -08:00
Xin Zhao
33517428a1
opal/common/ucx: add periodical flush and counter to opal directory.
...
Signed-off-by: Xin Zhao <xinz@mellanox.com>
2019-02-19 14:22:07 -08:00
Xin Zhao
2d3cffe1a3
opal/common/ucx: replace opal_mutex_t with opal_recursive_mutex_t
...
Signed-off-by: Xin Zhao <xinz@mellanox.com>
2019-02-19 14:22:07 -08:00
Xin Zhao
aa26a724ed
opal/common/ucx: introduce internal UCX request in wpool.
...
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
2019-02-19 14:22:07 -08:00
Xin Zhao
07cb4134be
opal/common/ucx: Set of bug fixes in wpool
...
Signed-off-by: Xin Zhao <xinz@mellanox.com>
2019-02-19 14:22:07 -08:00
Xin Zhao
344bb641a1
opal/common/ucx: Minor changes in wpool
...
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
2019-02-19 14:22:07 -08:00
Artem Polyakov
9fb9cfbe8e
opal/common/ucx: Simplify Worker Pool TLS structure
...
Get rid of unneeded context and memory region identifiers
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
2019-02-19 14:22:07 -08:00
Artem Polyakov
1e7bf7085d
opal/common/ucx: Improve/fix debug output macro's
...
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
2019-02-19 14:22:06 -08:00
Artem Polyakov
fd98ee14eb
opal/common/ucx: Code cleanup
...
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
2019-02-19 14:22:06 -08:00
Artem Polyakov
f38c9f3e5f
opal/common/ucx: Simplify Worker Pool memory handler
...
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
2019-02-19 14:22:06 -08:00
Artem Polyakov
6b7acdf21f
opal/common/ucx: Somplify Worker Pool context management
...
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
2019-02-19 14:22:06 -08:00
Xin Zhao
8b7fa927ba
opal/common/ucx: Add fetch primitives to wpool
...
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
2019-02-19 14:22:06 -08:00
Artem Polyakov
e28fadb048
opal/common/ucx: Introduce Worker Pool (wpool) functionality
...
Worker Pool is an object containing/managing a set of UCX workers
and providing access to those workers through a smal interface
to allow Multi-Threaded applicatoins to access multiple HW contexts.
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
2019-02-19 14:22:06 -08:00