1
1
openmpi/opal/util
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
..
keyval configury: clean the flex generated .c files 2016-06-01 11:13:31 +09:00
alfg.c opal/alfg: have opal_random() wrapper always return a positive int 2016-08-09 17:12:30 +09:00
alfg.h libevent: use opal_random() instead of rand(3) 2016-08-03 09:18:12 -07:00
arch.c Remove the (only two) fortran constants from OPAL. The only places that 2013-01-15 01:27:36 +00:00
arch.h Remove the (only two) fortran constants from OPAL. The only places that 2013-01-15 01:27:36 +00:00
argv.c opal: convert from strncpy() -> opal_string_copy() 2018-09-27 11:56:18 -07:00
argv.h Fix a type in comments: insertted -> inserted 2019-11-24 00:36:06 -05:00
basename.c opal: convert from strncpy() -> opal_string_copy() 2018-09-27 11:56:18 -07:00
basename.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
bipartite_graph_internal.h util: move graph solver from usnic to util 2017-09-15 15:08:47 -07:00
bipartite_graph.c opal/util: Add function to get vertex data from bipartite graph 2019-09-11 18:28:07 +00:00
bipartite_graph.h opal/util: Add function to get vertex data from bipartite graph 2019-09-11 18:28:07 +00:00
bit_ops.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
cmd_line.c Add threads framework 2020-03-27 10:15:45 -06:00
cmd_line.h Add threads framework 2020-03-27 10:15:45 -06:00
crc.c more c99 updates 2015-06-25 10:14:13 -06:00
crc.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
daemon_init.c Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
daemon_init.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
error.c Handle asprintf errors with opal_asprintf wrapper 2018-10-08 16:43:53 -07:00
error.h Apply opal_abort_delay to the signal handler 2017-06-08 19:34:48 +09:00
ethtool.c opal/util: Change opal/util/if.h macro IF_NAMESIZE to OPAL_IF_NAMESIZE 2019-07-29 21:24:39 +00:00
ethtool.h opal/util: add function to obtain interface speed 2016-05-18 16:25:51 +02:00
fd.c opal: convert from strncpy() -> opal_string_copy() 2018-09-27 11:56:18 -07:00
fd.h opal/util/fd: add opal_fd_get_peer_name(() 2018-03-21 19:34:03 -07:00
few.c Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
few.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
help-opal-util.txt Cleanup the os_dirpath logic so it doesn't error out if the directory actually gets created (regardless of what mkdir returns), and pretty-prints the error if it does error out. 2017-01-18 12:05:47 -08:00
if.c Merge pull request #5786 from jsquyres/pr/string-madness 2018-10-04 16:12:46 -05:00
if.h opal/util: Change opal/util/if.h macro IF_NAMESIZE to OPAL_IF_NAMESIZE 2019-07-29 21:24:39 +00:00
info_subscriber.c opal: convert from strncpy() -> opal_string_copy() 2018-09-27 11:56:18 -07:00
info_subscriber.h Add threads framework 2020-03-27 10:15:45 -06:00
info.c info_get: ensure to copy all requested characters 2018-12-19 13:01:45 -08:00
info.h Add threads framework 2020-03-27 10:15:45 -06:00
keyval_parse.c Add threads framework 2020-03-27 10:15:45 -06:00
keyval_parse.h opal: clean up init/finalize 2018-12-18 14:37:04 -07:00
Makefile.am opal/util: remove opal_strncpy() 2019-02-13 10:21:39 -08:00
malloc.c Fix miscellaneous compiler warnings. 2019-10-01 16:27:25 -04:00
malloc.h opal: clean up init/finalize 2018-12-18 14:37:04 -07:00
net.c Add threads framework 2020-03-27 10:15:45 -06:00
net.h opal: clean up init/finalize 2018-12-18 14:37:04 -07:00
numtostr.c Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
numtostr.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_environ.c Handle asprintf errors with opal_asprintf wrapper 2018-10-08 16:43:53 -07:00
opal_environ.h Fix a type in comments: insertted -> inserted 2019-11-24 00:36:06 -05:00
opal_getcwd.c opal: convert from strncpy() -> opal_string_copy() 2018-09-27 11:56:18 -07:00
opal_getcwd.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_pty.c opal: update some string handling 2018-10-14 16:04:28 -07:00
opal_pty.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
os_dirpath.c opal/util: fix a race condition in opal_os_dirpath_create() 2017-01-19 14:02:47 +09:00
os_dirpath.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
os_path.c opal/os_path: fix minor string overrun 2018-10-17 08:57:30 -07:00
os_path.h misc: passing a bool to va_start() is undefined 2018-09-15 06:04:13 -07:00
output.c Add threads framework 2020-03-27 10:15:45 -06:00
output.h opal/util: revamp opal_output_verbose() 2019-07-09 11:24:31 +09:00
path.c Fix typo in comment: contiaing -> containing 2019-11-24 11:06:41 -05:00
path.h - extend opal_path_nfs to retrieve the file system type 2016-01-26 13:36:21 -06:00
printf.c Handle asprintf errors with opal_asprintf wrapper 2018-10-08 16:43:53 -07:00
printf.h opal/util: Always support BSD behavior of asprintf 2018-10-08 16:43:53 -07:00
proc.c Create a hack to protect against non-integer jobids 2020-02-21 06:04:55 -08:00
proc.h Create a hack to protect against non-integer jobids 2020-02-21 06:04:55 -08:00
qsort.c Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
qsort.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
show_help_lex.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
show_help_lex.l Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
show_help.c opal: clean up init/finalize 2018-12-18 14:37:04 -07:00
show_help.h opal: clean up init/finalize 2018-12-18 14:37:04 -07:00
stacktrace.c Created opal_gethostname() as safer gethostname substitute. 2020-01-13 08:52:17 -08:00
stacktrace.h stacktrace: Add flexibility in stacktrace ouptut 2017-01-26 11:55:32 -06:00
string_copy.c string_copy: assert() fail if the copy is too long 2018-10-01 13:34:15 -07:00
string_copy.h string_copy: assert() fail if the copy is too long 2018-10-01 13:34:15 -07:00
sys_limits.c IB fork 2017-04-05 17:35:52 -04:00
sys_limits.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
timings.c ompi/timings: fixed the error of opal timings env import 2017-04-11 12:08:48 +06:00
timings.h timings: Fix timings when 'prefix' is used 2020-03-07 09:36:43 -08:00
uri.c Handle asprintf errors with opal_asprintf wrapper 2018-10-08 16:43:53 -07:00
uri.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00