Skip to content

Conversation

@tharittk
Copy link
Collaborator

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.py and cls_basic.py

    small changes are introduced to ensure base_comm_nccl of the input is passed through the output constructor.

  • test_linearop_nccl.py, test_stackedlinearop_nccl.py, test_stackedarray_nccl.py, and test_solver_nccl.py

    These 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.

@tharittk tharittk marked this pull request as ready for review June 18, 2025 03:03
Copy link
Contributor

@mrava87 mrava87 left a 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 😄

Copy link
Contributor

@mrava87 mrava87 left a 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`
Copy link
Contributor

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 :)

@mrava87 mrava87 merged commit 83c336a into PyLops:main Jun 24, 2025
61 checks passed
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