Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

qthread-module #13

Open
wants to merge 18 commits into
base: topic/thread_framework2
Choose a base branch
from

Conversation

npe9
Copy link

@npe9 npe9 commented Dec 23, 2019

This is the first draft of the qthreads module

npe9 and others added 18 commits April 8, 2019 10:55
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.

Signed-off-by: Noah Evans <[email protected]>
use the OPAL_CONFIG_POSIX_THREADS macro

Signed-off-by: Howard Pritchard <[email protected]>
Signed-off-by: Noah Evans <[email protected]>
remove workaround introduced into the wrappers Makefile.
This can be done due to the configury refactor.

rework the threads framework configury to move a good chunk
of setup to the top config directory to make sure thread
package specific compile/link args are defined early in
the configure process.

Signed-off-by: Howard Pritchard <[email protected]>
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.

Signed-off-by: Shintaro Iwasaki <[email protected]>
Signed-off-by: Howard Pritchard <[email protected]>
We can't make changes to external packages that we happen to embed in Open MPI.
If changes need to be made to the external package, they should be made in that package itself.

Signed-off-by: Howard Pritchard <[email protected]>
include files

Signed-off-by: Howard Pritchard <[email protected]>
out of top level config folder and in to relevant
m4 files in the threads framework

Signed-off-by: Howard Pritchard <[email protected]>
Signed-off-by: Howard Pritchard <[email protected]>
Signed-off-by: Shintaro Iwasaki <[email protected]>
It now works more like the ompi/mca/rte configury,
modulo some edge items that are special for threading package
linking, etc.

Signed-off-by: Howard Pritchard <[email protected]>
@hppritcha hppritcha force-pushed the topic/thread_framework2 branch 2 times, most recently from 6308978 to 3518474 Compare February 11, 2020 19:40
@hppritcha hppritcha force-pushed the topic/thread_framework2 branch 2 times, most recently from a1f4763 to 667c1e6 Compare February 26, 2020 23:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants