- 
                Notifications
    
You must be signed in to change notification settings  - Fork 6
 
NCCL support for Stacked op/array & Solver with doc and tutorial update #141
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tharittk good stuff!
I did leave some comments and some open thoughts on what to do with the nccl tutorials... feel free to suggest any other possible way to handle them 😄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very good work @tharittk, I am going to merge this 😄
| axs[5][2].axis('tight') | ||
| 
               | 
          ||
| ############################################################################### | ||
| # To run this tutorial with our NCCL backend, refer to :ref:`sphx_glr_tutorials_poststack_nccl.py` | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tharittk I worry this may be broken in the online documentation as we don't build tutorials_poststack_nccl... I'll let it render and see, we can always make a small PR later to fix it :)
This PR adds the completeness for NCCL support on operators (#137 ), solvers, and their corresponding tests. I've also updated the documentation to reflect these changes and added a write-up for a separated "Poststack Inversion" tutorial to demonstrate the migration from an MPI to an NCCL backend. The writing on the tutorial is considered 'drafted'
Change Made
DistributedArray.pyandcls_basic.pysmall changes are introduced to ensure
base_comm_ncclof the input is passed through the output constructor.test_linearop_nccl.py,test_stackedlinearop_nccl.py,test_stackedarray_nccl.py, andtest_solver_nccl.pyThese test files are similar to those in /tests but under NCCL environment. The tests involve complex number are commented out.
Documentation and Tutorial (
gpu.rst,poststack_nccl.py)Updated the documentation to add green checkmarks for the basic Ops, indicating full GPU support.
"Poststack Inversion" Tutorial
Noted: the NCCL backend for subcommunicator, particularly
asarray()introduced by @mrava87 in #139, is subjected to further debugging. This bug was not uncovered in previous test set.