Giter Club home page Giter Club logo

dqcsim-iqs's People

Contributors

mofeing avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

dqcsim-iqs's Issues

Pool simulations

Intel QS has 3 modes of execution depending on the quantum state distribution, as stated in Intel Quantum Simulator: A cloud-ready high-performance simulator of quantum circuits (Guerreschi et al.):

  • Single distributed quantum state: A single instance of the quantum state is simulated and it is distributed along all the computers.
    • Used when you are looking for the highest possible amout of qubits.
  • Pool of distributed states: Multiple instances of the quantum state distributed into nodes.
  • Pool of local states: Multiple instances of the quantum state on local memory.
    • Used when you are looking to run circuits in parallel (not our interest) or to simulate noise effects (may be of interest).

Currently, only Single distributed quantum state is supported in dqcsim-iqs and by the way the dqcsim host plugin is designed, it is difficult to know if we could support the other execution modes. The main drawback is measurements. If we are simulating a hybrid algorithm, the frontend is only instanced once and so, on a measurement, we would expect only one result per measurement but we would have as many results as instances of the quantum state.

A temporal solution is to run different SLURM jobs as the different instances of the quantum state and run the simulator in the Single distributed mode.

An alternative would be to design our own host plugin that communicates with dqcsim-iqs by means of host commands. This host plugins would also be responsible of having as many instances of the frontend as instaces of the quantum state. But are we interested in pool simulations?

Wrappers for popular Python packages

QC researchers usually use some popular Python packages such as Qiskit, ProjectQ, Cirq, PennyLane, ... The way this packages deal with the heavy simulation (or actual execution in a quantum computer) is that they abstract the quantum computer as an Engine or Backend. We could write some Python packages that implement the abstraction so we could offer supercomputer power to researchers without refactoring code.

  • Which ones can we support?
  • Which ones should we support?

Automated deployment and publishing

How should we deploy our plugin? In which platforms? For which package managers?

  • PyPI (Python Package Index):
    • Lets you install it using pip.
    • Looks like the de-facto package manager used by the authors of DQCsim.
    • A lot of QC researchers already use Python for simulations.

We also should automate the deployment linked to GitHub releases.

Roadmap to 0.2

  • Support MPI parallelization
  • Support controlled-controlled gates (e.g. Toffoli) #2
  • Add option flag for logging macros
  • Choose a license

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.