-
Notifications
You must be signed in to change notification settings - Fork 35
Add multi-thread support to mpiP #13
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
Conversation
|
I performed the initial performance measurements. |
|
After reducing the number of TLS accesses (c2c1ccf) the performance of the profile-free MPI seems to be comparable to the case where mpiP is running with |
|
I am now working through the test suite coming with mpiP to make sure that it's not broken. |
252b093 to
8d9ec1b
Compare
|
All is cleared now |
1. Add arch directory with required atomics implementations (for ARM64, PPC and x86_64). TODO: add other architectures later. 2. Add a thread-safe list that will be used for tracking TLS objects. 3. Update Makefile.in to build thread-safe list 4. Add stubs for mpiP threads support Signed-off-by: Artem Polyakov <artpol84@gmail.com>
Introduce a new "mt" (Multi-Threaded) layer for statistics to abstract multi-threaded isolation logic from the upper layers as well as from the single-threaded statistics collection. NOTE: this commit only introduces the layer and internally a 1-to-1 bypass to a single-threaded layer is performed. Signed-off-by: Artem Polyakov <artpol84@gmail.com>
The nested calls flag is located at the single-thread level. Move the check to the same level as the flag. Signed-off-by: Artem Polyakov <artpol84@gmail.com>
This functionality may be used on different layers. Signed-off-by: Artem Polyakov <artpol84@gmail.com>
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
|
@cchambreau, rebased |
Status
Details:
Test no. 1: Multi-threaded point-to-point
mpirun -np 2 -x LD_PRELOAD ./mt_test1 -m -t 2 -n 1000 -v p2p-sb-rb-menables MPI Thread multiple-t 2defines 2 threads to use on each rank-n 1000- number of sends/receives each thread is performing-v p2p-sb-rb- test type: each thread of rank=0 performs 1000 blocking sends (using integer thread id as the tag). rank=1 performs matching receives.Results (mpiP/master)
Number of Send and Recv invocations should be 2000 (1000 iteration * 2 threads),
App time is incorrectly calculated.
Results (mpiP/PR#13)
The number of Send and Recv is correct, application % is not screwed.