qiskit-advocate/qamp-spring-22

Improve performance and usability of BasicAer

Opened this issue · 4 comments

Description

Qiskit includes a Numpy simulator backend called BasicAer. It suffers from issues in several areas, including performance, usability, and documentation. This project aims to address those issues.

Deliverables

Fix the following issues:

Mentors details

  • Mentor 1
    • Name: Kevin Sung
    • GitHub ID: @kevinsung
    • What they do: Qiskit Researcher

Number of mentees

1

Type of mentees

  • Mentee 1
    • Required:
      • Knowledge of Python and Qiskit
    • Nice to have:
      • Experience in quantum circuit simulation

This project now has a mentee: @alejomonbar

Checkpoint 2

At this point, I have two pull requests with one of them merged. These pull requests solve some problems for the BasicAer backend. The first solves the problem with the limit of max_shots in this backend (prior it was set arbitrarily to 65536 and now it is unlimited max_shots) and the second makes "date" a default attribute for the BasicAer backends. A major problem was identified with the use of tox to test the new additions because using a MacBook pro with the new M1 chip gives some problems with a library called JAX that is installed when executing tox. The problem was solved by deleting those lines that contain JAX in the "requirements-dev.txt". Our next goal and the most important for this mentorship is to create the version of the backend BasicAer.qasm_simulator using qiskit.quantum_info this will improve the performance of executing circuits and will make the maintenance more straightforward because at the end the code that will be used is the quantum_info.

CheckPoint2