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 <noah.evans@gmail.com>
use the OPAL_CONFIG_POSIX_THREADS macro

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
Signed-off-by: Noah Evans <nevans@sandia.gov>
Signed-off-by: Shintaro Iwasaki <siwasaki@anl.gov>
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 <howardp@lanl.gov>
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 <siwasaki@anl.gov>
Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
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 <hppritcha@gmail.com>
include files

Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
out of top level config folder and in to relevant
m4 files in the threads framework

Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
Signed-off-by: Shintaro Iwasaki <siwasaki@anl.gov>
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 <howardp@lanl.gov>
@hppritcha hppritcha force-pushed the topic/thread_framework2 branch from 6fe3237 to 4657a82 Compare December 28, 2019 15:31
@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
@jsquyres jsquyres force-pushed the topic/thread_framework2 branch from 667c1e6 to 3eaef01 Compare March 19, 2020 11:02
@hppritcha hppritcha force-pushed the topic/thread_framework2 branch from 3eaef01 to 205ee16 Compare March 19, 2020 21:22
@hppritcha hppritcha force-pushed the topic/thread_framework2 branch from 3dcdcaf to d7fba60 Compare March 27, 2020 16:52
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