1
1
openmpi/opal/mca/hwloc
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
..
base Add threads framework 2020-03-27 10:15:45 -06:00
external hwloc: clarify the error message when infiniband/verbs.h is missing but hwloc's verbs support is requested 2020-02-19 19:01:36 +01:00
hwloc2 Merge pull request #7422 from bgoglin/hwloc-cleanup 2020-02-27 06:20:29 -05:00
autogen.options hwloc: rename opal/mca/hwloc/hwloc.h -> hwloc-internal.h 2017-02-28 07:48:42 -08:00
configure.m4 hwloc: remove a stale configure hack for hwloc 1.3.2 vs suse pci issues 2020-02-19 19:01:11 +01:00
hwloc-internal.h Define a new binding method and qualifier 2018-06-20 21:26:09 -07:00
Makefile.am hwloc: re-enable use of autogen.pl in a tarball 2017-03-17 11:41:17 -07:00
README.txt Purge whitespace from the repo 2015-06-23 20:59:57 -07:00

12 Sep 2011

Notes for hwloc component maintainers:

1. There can only be *1* hwloc version component at a time.
   Specifically: if there are multiple hwlocXYZ components (i.e.,
   different versions of hwloc), then they must all be .ompi_ignore'd
   except for 1.  This is because we currently m4_include all of the
   underlying hwloc's .m4 files -- if there are multiple hwlocXYZ
   components, I don't know if m4 will barf at the multiple,
   conflicting AC_DEFUNs, or whether it'll just do something
   completely undefined.

1a. As a consequence, if you're adding a new hwloc version component,
   you'll need to .ompi_ignore all others while you're testing the new
   one.

2. If someone wants to fix #1 someday, we might be able to do what we
   do for libevent: OPAL_CONFIG_SUBDIR (instead of slurping in hwloc's
   .m4 files).