KEMBAR78
Enable multi-GPU for dynamics target in Python by 1tnguyen · Pull Request #2509 · NVIDIA/cuda-quantum · GitHub
Skip to content

Conversation

@1tnguyen
Copy link
Collaborator

@1tnguyen 1tnguyen commented Jan 15, 2025

Description

  • Add initial state enum (zero state or uniformly distributed state) as an input to evolve.

  • Add support for cudensitymat multi-gpu: properly set the MPI Comm in the context and set the state data according to cudm state's local_info (slice offsets and dimensions).

  • Make cudaq backend shared lib compatible with cudm distributed interface: delegate necessary MPI calls to cuda-q MPI plugin interface.

  • Add tests and docs.

1tnguyen and others added 19 commits December 13, 2024 05:46
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
@github-actions
Copy link

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Jan 16, 2025
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
@github-actions
Copy link

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Jan 17, 2025
1tnguyen and others added 2 commits January 20, 2025 00:55
@github-actions
Copy link

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Jan 20, 2025
@1tnguyen 1tnguyen changed the title [WIP] Enable multi-GPU for dynamics Enable multi-GPU for dynamics target Jan 20, 2025
@github-actions
Copy link

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Jan 20, 2025
Copy link
Collaborator

@sacpis sacpis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Requesting a few changes, if possible. Thanks @1tnguyen.

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
@github-actions
Copy link

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Jan 21, 2025
github-actions bot pushed a commit that referenced this pull request Jan 23, 2025
@github-actions
Copy link

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Jan 24, 2025
@github-actions
Copy link

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

@1tnguyen 1tnguyen merged commit 19c33af into NVIDIA:main Jan 24, 2025
213 checks passed
github-actions bot pushed a commit that referenced this pull request Jan 24, 2025
@bettinaheim bettinaheim changed the title Enable multi-GPU for dynamics target Enable multi-GPU for dynamics target in Python Mar 12, 2025
@bettinaheim bettinaheim added the enhancement New feature or request label Mar 12, 2025
@bettinaheim bettinaheim added this to the release 0.10.0 milestone Mar 12, 2025
annagrin pushed a commit to annagrin/cuda-quantum that referenced this pull request Jun 17, 2025
* [WIP] dynamics mgmn

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

* Fix a copy and paste error

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

* Handle initial state enum

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

* Update initial state enum example

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

* Add uniform state init

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

* Add uniform state init

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

* Update examples

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

* Code format

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

* Spelling

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

* Add more MPI API to CUDAQ comm plugin interface

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

* Refactor for dependency isolation

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

* Code format

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

* More isolation

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

* connect cuda-q mpi plugin to cudensitymat

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

* Fix for CI

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

* Code format: python

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

* Support initial state enum for non-dynamics case and add test

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

* Code tidy up and add docs

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

* Add MPI tests

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

* Add a link to the example directory

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

* Fix a typo

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

* Address CR: docs and comments edits; refactor to reduce code duplicate

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>

---------

Signed-off-by: Thien Nguyen <thiennguyen@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants