qiskit-hackathon-taiwan-20 icon indicating copy to clipboard operation
qiskit-hackathon-taiwan-20 copied to clipboard

Integrating the proposed simulator into Qiskit

Open mstf7249 opened this issue 4 years ago • 21 comments

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

  • @EazyReal
  • @Chilsan - Slack: @Chilsan Jhang email: [email protected]
  • @ChienKaiMa - Slack: @馬健凱 email: [email protected]
  • @yoga4ni
  • @mstf7249
  • Qiskit Coach: @hhorii, @the-legend-of-lia, @HuangJunye

Deliverable

A program which integrates our simulator into Qiskit.

GitHub repo

mstf7249 avatar Sep 07 '20 15:09 mstf7249

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.

starktech23 avatar Sep 08 '20 05:09 starktech23

Hi,

We are still looking for a coach.

Thanks.

On Tue, Sep 8, 2020 at 1:15 PM Samanvay Sharma [email protected] 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 .

mstf7249 avatar Sep 08 '20 05:09 mstf7249

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

starktech23 avatar Sep 08 '20 06:09 starktech23

Hello 👋

ChienKaiMa avatar Sep 08 '20 06:09 ChienKaiMa

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

yoga4ni avatar Sep 08 '20 07:09 yoga4ni

Excuse me, pls assign me again, thanks~

yoga4ni avatar Sep 08 '20 07:09 yoga4ni

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

EazyReal avatar Sep 08 '20 07:09 EazyReal

Hello, I am sorry for my late response

CharleshJh avatar Sep 08 '20 07:09 CharleshJh

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.

johnsonkao0213 avatar Sep 08 '20 07:09 johnsonkao0213

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

starktech23 avatar Sep 08 '20 07:09 starktech23

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.

HuangJunye avatar Sep 08 '20 14:09 HuangJunye

Hello, I hope I can help and cheers.

alanspace avatar Sep 08 '20 14:09 alanspace

I can be a coach with @HuangJunye .

hhorii avatar Sep 08 '20 14:09 hhorii

@hhorii thank you :D

starktech23 avatar Sep 08 '20 14:09 starktech23

@hhorii Thanks a lot Horii san.

HuangJunye avatar Sep 08 '20 14:09 HuangJunye

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.

hhorii avatar Sep 08 '20 15:09 hhorii

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

ChienKaiMa avatar Sep 08 '20 15:09 ChienKaiMa

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

lia-approves avatar Sep 09 '20 05:09 lia-approves

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 avatar Sep 10 '20 03:09 EazyReal

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!

EazyReal avatar Sep 10 '20 03:09 EazyReal

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!

alanspace avatar Sep 10 '20 04:09 alanspace