-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issues in qiskit-alt: a Julia backend for Qiskit. #16
Comments
@jlapeyre I have basic knowledge pf python, but no knowledge of Julia. I am interested in learning and contributing to this project. |
Hi @gunchamalik, thanks for reaching out! We will contact you very soon. |
Here is one possible topic: There are two separate ways for Julia and Python to communicate dynamically. One is via PyCall.jl / pyjulia. The other (more recent) is via PythonCall.jl / juliacall. It would be great if a single candidate were the clear winner. It's not clear that one way is better than the other; they do have different features. We need to find out whether to support one way or the other, or both, and if so how. A good bit of infrastructure for investigating this is in place. (I need to push some changes today or tomorrow to make this visible) I'll refer to the communication methods as Some possibilities are
I will follow up here with a link to the latest version of qiskit_alt, which is set up for investigating the topics above. |
This is my checkpoint-1's small presentation: |
The work on Julia-powered quantum library QuantumCircuits (https://github.com/Adgnitio/QuantumCircuits.jl) is going very well. There is now 5 Contributor in the library who created and merged 24 pull requests and by that closed 21 issues (https://github.com/Adgnitio/QuantumCircuits.jl/issues?q=is%3Aissue+is%3Aclosed). During these works, we focused on fixing the performance issue and did some code cleaning:
Four issues were marked as "good first issues" so anyone who would like to help us is more than welcome. But there is a lot of the work to do. We have to move from Qiskit-style circuit creation to a more Julia idiomatic way that uses the macro to create domain-specific language dedicated to quantum operation. The other thing we should do is avoid converting the circuit to a Qiskit object during the draw procedure. So there is a lot of task before us :) |
After Checkpoint 1 I focused on the issue: qiskit-community/qiskit-alt#27 In qiskit-alt/docker_tests, there is a shell file ./run_dockerfiles.sh I implemented a Python Command Line Tool which would use its command-line argument to take different variables like names of the docker images, its tag name, etc along with the behavior/functionality to execute. The good thing about this was the scalable numbers of variables and functionalities/behavior that can be implemented with the neatness of Python. ./run_dockerfile.py –help As an example ./run_dockerfile.py –action=run Here is the Pull Request: qiskit-community/qiskit-alt#30 Just during the checkpoint 1, I was working on this issue: qiskit-community/qiskit-alt#21 After, pip install qiskit-alt The Python Code: import qiskit_alt
qiskit_alt.project.ensure_init() should provide us with julia installed and qiskit_alt ready to accept commands but this terminated with this error: The issue was in a python package called find_julia: https://github.com/jlapeyre/find_julia After the issue was fixed, the output looked like this: This was the Pull Request: jlapeyre/find_julia#3 |
Final Presentation: |
Description
qiskit-alt is a high-performance Julia backend for Qiskit with a Python frontend. It is quite new and experimental. It is not distributed as part of Qiskit. The main application is computing a qubit Hamiltonian from the specification of an electronic structure problem.
There are a number of projects available, small and large. The appropriate project depends on the experience of the mentee. There are a number of issues in the qiskit-alt repo. But, the project is divided into several other repos, most of which are hosted here. These repos have their own issues. A major part of the effort is improving deployment options of Julia with the Python project. These issues are in
julia_project
Note that much of the work happens on the Python side. So, if you know some Python, but don't yet know Julia, you can still contribute.
Deliverables
Open a pull request that closes an issue and work through getting it merged. Alternatively, start by opening a new issue; for instance as a sub-issue of a more open ended one.
Mentors details
Number of mentees
2
Type of mentees
The text was updated successfully, but these errors were encountered: