-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Description
posting this to the public so the the community can see what we want in 0.5
-
1st —
backend_rework
branch*
Backend rework, adding compile and execute #376: merged
At the end of this level 2 user will be happy with no quantumprgroam and will use qiskit.execute- move the auto naming in
create_quantum_register, create_classical_register
toQuantumRegister, ClassicalRegister
creation - add auto naming for
QuantumCircuit
creation - finish
qiskit.compile()
function level 1 user - finish
qiskit.execute()
function level 2 user - update README and
using_qiskit
,hello_quantum
examples. I want to have a hello world, andusing_qiskit_level_0
(execute),using_qiskit_level_1
(compile and run on backends) andusing_qiskit_level_2
(future pass manager and DAG compiling) - tests and passing old ones
- check backward compatibility of quantum program
- can openquantumcompiler be removed here
- a new backend_manager (old backendutils) with a register
- can backendutils be removed here
- update the documentation with qiskit.compile and qiskit.execute
- register('token', url)
- backends (filter)
- all_backends()
- backend.configuration schema
- backend.status schema
- merge
- move the auto naming in
-
cpp-simulator-refactor
branch*
C++ Simulator Refactor #386: merged - for the C++ changes
Simulator Interfaces #421: closed - for the backend naming changes (reissued in Simulator backends #435)
Simulator backends #435: merged- Treat
snapshot
,noise
,load
,save
as barriers in the mapper, so they don’t move around. - Subclass statevector simulator from qasm simulator (python and cpp)
- Tests
- making sure naming conventions is correct and local_qasm_simulator defualts to c++
- update the documentation with how to use the different simulators
- merge
- Treat
-
Generate new qobj format*
[WIP] Qobj class, schema validation, and update backends to accept qobj #415: open
Backend rework, adding compile and execute #376: closed (added schemas into the codebase)- Generate them according to schemas and edit schemas appropriately
- Also make sure it is forward compatible with pulse (see document)
- update the documentation to explain the qobj
- merge
-
Qobj object and validate against schemas
[WIP] Qobj class, schema validation, and update backends to accept qobj #415: open
[WIP] IntroduceQobj
object and reviseResult
#144: closed (introduced in [WIP] Qobj class, schema validation, and update backends to accept qobj #415)- create a Qobj object
- make sure all backends are using qobj and that they pass the schema
- in the document make sure it make sense
- check that the exp is working with this format
- CONFIRM THAT WE HAVE FIXED THE ORDERING BUG
- merge
-
run Qobj and return instead of QuantumJob
[WIP] Qobj class, schema validation, and update backends to accept qobj #415: open
[WIP] Pass qobj to remote backends. Implement qobj validation. #326: closed (closed and introduced in [WIP] Qobj class, schema validation, and update backends to accept qobj #415)- update using_qiskit_level_2
- can QuantumJob be removed here
- update any documentation
- merge
-
Result object
- remove qobj
-
Introduce a Job object and make all runs async
rework jobs #403: merged
At the end of this level 1 user will be happy with no quantumprgroam and they have control of their jobs- create a Job Object
- update using_qiskit_level_2
- job = backend.run(qobj) where qobj is dict or object
- job.done
- job.status
- job.cancel
- job.result()
- job.job_id (IBM Q)
- shows examples of how users can get the status and cancel a job
- make sure quantumprogram still works
- merge
-
backend
- backend.jobs()
- backend.retrieve_job(job_id)
- backend.status
- backend.schema
- backend.configuration
- backend.properties
- update the documentation with backend uses
-
remove sympy backends and projectq backends and provided them as qiskit-core-backend-plugins example
- sympy
- projectq
-
Qconfig
- provide a simple solution
- merge
-
parameters and calibrations go to properties and pass a schema
After the release
- backend.validation
- Remove QuantumJob as qobj should have replaced it
- Remove JobProcessor as it should be replaced with JobProcessor of the actual Job object.
- remove opencompiler as it should be obsolete
- clean ibmq provider
- start to get errors and checks against the schema in place.
Lets add below anything i forgot.
Also @ajavadia when we are finished with the spec for qobj can we add a link to this in the comments. Also @ewinston @diego-plan9 @ajavadia lets link pr's against this.