Qiskit / qiskit-aer

Aer is a high performance simulator for quantum circuits that includes noise models
https://qiskit.github.io/qiskit-aer/
Apache License 2.0
464 stars 354 forks source link

MPS with cuQuantum #2168

Open MozammilQ opened 3 weeks ago

MozammilQ commented 3 weeks ago

Summary

This PR aims to add a feature of doing matrix-product-state simulation on Nvidia GPUs with cutensor of cuQuantum.

Looks like its working, and the results are correct too :)

mps-cutensor-working

Details and comments

Shows performance gains, final

I am not super happy with the performance gains, but I think time is running out now, and I have to leave this PR here, but, I will surely get back here and do a follow up PR which will show improvements.

fixes #2112

doichanj commented 2 weeks ago

From 3 days I have been fighting this,

Screenshot_20240610_052824_n

Here, also the test failed here only ImportError: /tmp/tmp.pzwv2zFlTV/venv/lib/python3.12/site-packages/qiskit_aer/backends/controller_wrappers.cpython-312-x86_64-linux-gnu.so: undefined symbol: _ZN3AER21cutensor_csvd_wrapperER6matrixISt7complexIdEES4_RSt6vectorIdSaIdEES4_

After this PR I am missing Rust/cargo even more. This PR is 5% actual work and 95% fighting with this library error and that error.

Anyways, I really enjoyed this. I am looking forward to more contributions :) Thanks @doichanj :)

Because cutensor_csvd_wrapper is defined in namespace TensorNetwork calling cutensor_csvd_wrapper should be TensorNetwork::cutensor_csvd_wrapper

doichanj commented 2 weeks ago

It fails running with MPS method on GPU with error message as following, ERROR TensorNet::contractor : CUTENSORNET_STATUS_INVALID_VALUE

MozammilQ commented 2 weeks ago

Yes, I know I am actively working on this please give me some time and I will let you know when I am done

On Fri, 14 Jun, 2024, 7:22 am Jun Doi, @.***> wrote:

It fails running with MPS method on GPU with error message as following, ERROR TensorNet::contractor : CUTENSORNET_STATUS_INVALID_VALUE

— Reply to this email directly, view it on GitHub https://github.com/Qiskit/qiskit-aer/pull/2168#issuecomment-2167068002, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANBTUULPA33H5DXTGKNAQ4LZHJEGFAVCNFSM6AAAAABI4MTL7CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNRXGA3DQMBQGI . You are receiving this because you authored the thread.Message ID: @.***>

MozammilQ commented 1 week ago

@doichanj , please see if this is good enough :)

and, extremely sorry, for the delay, doing any development in cloud VM, is not a good experience.

MozammilQ commented 1 week ago

I have absolutely no idea why macOS tests are failing. for years all OS I have known is Linux, regarding MacOS, and Windows I only know their spellings :)