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

[DON'T MERGE] Supports Argobots #3

Merged
merged 5 commits into from
Feb 14, 2019
Merged

[DON'T MERGE] Supports Argobots #3

merged 5 commits into from
Feb 14, 2019

Conversation

shintaro-iwasaki
Copy link

@shintaro-iwasaki shintaro-iwasaki commented Feb 7, 2019

It works in the following environment (MPICH's Argobots example (ult_send_recv.c))

  • OpenMPI libraries with --with-threads=argobots with and without --enable-debug.
  • OpenMPI-master Pthreads-version mpiexec
  • OpenMPI-master Pthreads-version mpicc
  • Argobots

It can run OSU benchmarks as well, but it is extremely slow (10~100x, need to be extremely patient)
To test on my laptop (Ubuntu 16.04 LTS), I need to pass --mca-btl self,tcp to mpiexec; otherwise, it hangs.

Pthreads version also works (make check and a few OSU benchmarks as far as I tested).

  • OpenMPI libraries and binraries with --with-threads=pthreads without --enable-debug.

All the update should be included in #4, but to run make check, you might need to modify test/*/Makefile.am.

We need some features in the future:

- opal_yield()
- opal_usleep()
- mca_close_component() for a threading library (there's no way to finish a threading library)
- preprocessor for ULT to control msecs of (e)poll()

- Add double quotations
- Change Argobot to Argobots
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.
@shintaro-iwasaki
Copy link
Author

I found the cause of significant performance degradation; I by mistake set the polling interval to 1 [msec], not 0. The latest version shows much better performance. On my laptop, the debug build shows the following performance:

# OSU MPI Bandwidth Test v5.5
# Size      Bandwidth (MB/s)
#                 Before     After
1                   0.01       1.81
4096               27.25    1568.40
4194304          6412.28    7199.88

@hppritcha hppritcha merged commit c7e4269 into npe9:threads-squash-rebase Feb 14, 2019
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.

2 participants