qiskit-community / qiskit-hackathon-taiwan-20

32 stars 10 forks source link

Integrating the proposed simulator into Qiskit #17

Open mstf7249 opened 3 years ago

mstf7249 commented 3 years ago

Abstract

We have been developing a new quantum circuit simulator which can simulate quantum circuits efficiently. We would like to contribute our simulator to Qiskit in a near future. Therefore, our project aims at integrating our simulator into Qiskit beforehand. We will make a request to make the contribution happen afterwards.

Description

Quantum computing is greatly advanced in recent years and is expected to transform the computation paradigm in the near future. Quantum circuit simulation plays a key role for the development of quantum systems. However, due to the size of quantum states, simulating quantum circuits with classical computers is a extremely challenging problem. We have been developing a new quantum circuit simulator which uses Binary Decision Diagrams (BDDs) as the underlying data structures to represent state vectors. By evaluation, our simulator can simulate some sets of benchmarks more efficiently compared to existing simulators. In this project, we plan to integrate our simulator into Qiskit as a preparation of contributing to Qiskit in the future. There are something we should do in this project: 1) make sure our simulator can outperform Qiskit Aer for some cases, 2) study the interoperability between C/C++ and Python (since our simulator was implemented using C/C++) 3) Based on 2., realize our simulator on Qiskit.

For more details of our simulator, please refer to the reference below.

Reference Bit-Slicing the Hilbert Space: Scaling Up Accurate Quantum Circuit Simulation to a New Level, arXiv:2007.09304

Members

Deliverable

A program which integrates our simulator into Qiskit.

GitHub repo

starktech23 commented 3 years ago

Is this group still looking for a coach or @mstf7249 are you a coach for this group? I don't see a coach listed on the members list.

mstf7249 commented 3 years ago

Hi,

We are still looking for a coach.

Thanks.

On Tue, Sep 8, 2020 at 1:15 PM Samanvay Sharma notifications@github.com wrote:

Is this group still looking for a coach or @mstf7249 https://github.com/mstf7249 are you a coach for this group? I don't see a coach listed on the members list.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/qiskit-community/qiskit-hackathon-taiwan-20/issues/17#issuecomment-688622983, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMBD7VWCSBIU5Y4UGYW2JX3SEW4XJANCNFSM4Q6N2ENA .

starktech23 commented 3 years ago

@Chilsan @ChienKaiMa please drop a comment here so that you can assign yourselves to this issue from the top right corner or I can assign you if you like.

ChienKaiMa commented 3 years ago

Hello 👋

yoga4ni commented 3 years ago

I would like to join, please count me in, thanks!

yoga4ni commented 3 years ago

Excuse me, pls assign me again, thanks~

EazyReal commented 3 years ago

Hi, I am YT Lin. Please add me to the issue.

CharleshJh commented 3 years ago

Hello, I am sorry for my late response

johnsonkao0213 commented 3 years ago

Excuse me , I am Kao Kuei Chun I told their team to add me recently. @starktech23 Can a team has five teammates or not? If can, please add me to the issue thanks.

starktech23 commented 3 years ago

Hi @Johnson0213, every team can have a max of 5 people and it seems this team already has 5. If you have discussed with their team and there are only 4 members or less I can add you, otherwise please consider looking at other issues. Thanks :)

HuangJunye commented 3 years ago

Hi team, I don’t know about simulator very much so I am not sure I can help you a lot. But if no one better is available, I can be your coach.

alanspace commented 3 years ago

Hello, I hope I can help and cheers.

hhorii commented 3 years ago

I can be a coach with @HuangJunye .

starktech23 commented 3 years ago

@hhorii thank you :D

HuangJunye commented 3 years ago

@hhorii Thanks a lot Horii san.

hhorii commented 3 years ago

Let me introduce an example to add a new simulator to Qiskit. https://github.com/qiskit-community/qiskit-jku-provider (I guess that this repository is not maintained now)

I believe that you have another option of integration with provider-level instead of with method-level in Aer's QasmSimulator.

ChienKaiMa commented 3 years ago

Thanks @hhorii. We are planning to integrate with provider-level, and we are planning to use pybind11 for our binding.

lia-approves commented 3 years ago

Joining as coach :) this looks like an exciting project, can't wait to see where it goes!

EazyReal commented 3 years ago

For the python provider: https://github.com/EazyReal/NTU-IBMQ-QCamp2020 For the online presentation: https://docs.google.com/presentation/d/12qB8b8isrDX6qoa1JLLYege99e8Zd4dsNzkInMW8jDs/edit#slide=id.g95d20d5d26_0_20 For the C++ simulator, the proposed paper can be found at : Bit-Slicing the Hilbert Space: Scaling Up Accurate Quantum Circuit Simulation to a New Level https://arxiv.org/abs/2007.09304

EazyReal commented 3 years ago

The main issue we encounter now is that after adding the PyBind11 codes, the c++ simulator side fails to link correctly. But the python provider (which takes a C++ function) and c++ simulator (which provide the simulate function) can individually work well. Note that the provider can support any simulate function that takes in a QASM formatted string and returns the experiment statistics and the statevector. Please feel free to contact us if you have any questions!

alanspace commented 3 years ago

For the python provider: https://github.com/EazyReal/NTU-IBMQ-QCamp2020 For the online presentation: https://docs.google.com/presentation/d/12qB8b8isrDX6qoa1JLLYege99e8Zd4dsNzkInMW8jDs/edit#slide=id.g95d20d5d26_0_20 For the C++ simulator, the proposed paper can be found at : Bit-Slicing the Hilbert Space: Scaling Up Accurate Quantum Circuit Simulation to a New Level https://arxiv.org/abs/2007.09304

It's brilliant!