quqcs


Namequqcs JSON
Version 0.1.0 PyPI version JSON
download
home_pagehttp://www.qudoor.com/
Summaryquqcs is an open source library for quantum compute simulating on NVIDIA GPU
upload_time2022-12-21 06:11:10
maintainer
docs_urlNone
authorsunhaiyang
requires_python>=3.8,<3.11
licenseApache-2.0
keywords cuquantum quantum
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## qucuQUantum

[![Documentation Status](https://img.shields.io/badge/docs-latest-brightgreen.svg)](http://developer.queco.cn)
[![License](https://img.shields.io/badge/license-Apache%202-blue.svg)](LICENSE)
[![Download Code](https://img.shields.io/badge/download-zip-green.svg)](https://github.com/xxx)

### **概述**
---
* qucuQuantum 是基于 NVIDIA cuQuantum 开发的量子线路模拟器,可与启科量子编程框架QuTrunk集成,实现基于本地GPU服务器的量子线路模拟计算加速。
* qucuQuantum 目前只支持 State Vector 的量子线路模拟
* qucuQuantum 基于 Python 语言,提供门级别的 API, 包括H, CH, P, CP, R, CR, Rx, Ry, Rz, Rxx, Ryy, Rzz, X, Y, Z, S, T, Sdg, Tdg, SqrtX, CSqrtX, SqrtSwap, Swap, CSwap, CNot, MCX, CY, MCZ, U1, U2, U3, U, CU, ISwap, SqrtXdg, PH等量子门
* qucuQuantum 目前只支持与QuTrunk本地集成,需要与QuTrunk部署在同一台 NVIDIA GPU 服务器上。

### **下载和安装**
---
* qucuQuantum 作为独立的库,与 runtime 集成,由 runtime 完成部署安装。

### **使用方法**
1. qucuQuantum 库引入QuTrunk代码中
```import
from qucuQuantum.cuQuantum import BackendcuQuantum
```

2. 在QuTrunk代码中,构造QCircuit对象时,指定backend为BackendcuQuantum, 
```initialize
circuit = QCircuit(backend=BackendcuQuantum())
```
### **示例代码**

以下示例展示了利用 QuTrunk 运行 bell-pair 量子算法:

  ```python
  # import package
  from qutrunk.circuit import QCircuit
  from qutrunk.circuit.gates import H, CNOT, Measure, All
  from qucuQuantum.cuQuantum import BackendcuQuantum

  # allocate resource
  qc = QCircuit(backend=BackendcuQuantum())
  qr = qc.allocate(2) 

  # apply quantum gates
  H * qr[0]   
  CNOT * (qr[0], qr[1])
  All(Measure) * qr

  # print circuit
  qc.print()   
  # run circuit
  res = qc.run(shots=1024) 
  # print result
  print(res.get_counts()) 
  # draw circuit
  qc.draw()
  ```
运行结果:
<div>
<img src="http://developer.queco.cn/media/images/bell_pairYunXingJieGuo.original.png"/>
</div>

### **许可证**
---
qucuQuantum 是自由和开源的,在Apache 2.0许可证版本下发布。


### ** 依赖 **
| 内容                            | 要求                                 |
|-------------------------------|------------------------------------|
| GPU 架构                        | Volta, Turing, Ampere, Ada, Hopper |
| NVIDIA GPU Compute Capability | 7.0+                               |
| CUDA                          | 11.x                               |
| CPU 架构                        | x86_64, ppc64Ie, ARM64             |
| 操作系统                          | Linux                              |
| GPU 驱动                        |   450.80.02+ (Linux)                |


            

Raw data

            {
    "_id": null,
    "home_page": "http://www.qudoor.com/",
    "name": "quqcs",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<3.11",
    "maintainer_email": "",
    "keywords": "cuQuantum,quantum",
    "author": "sunhaiyang",
    "author_email": "sunhaiyang@qudoor.cn",
    "download_url": "https://files.pythonhosted.org/packages/10/55/2619fb989d320779f6fba95e30cc8de2dee7db97bdf751cd3e9b0dc3b8fd/quqcs-0.1.0.tar.gz",
    "platform": null,
    "description": "## qucuQUantum\n\n[![Documentation Status](https://img.shields.io/badge/docs-latest-brightgreen.svg)](http://developer.queco.cn)\n[![License](https://img.shields.io/badge/license-Apache%202-blue.svg)](LICENSE)\n[![Download Code](https://img.shields.io/badge/download-zip-green.svg)](https://github.com/xxx)\n\n### **\u6982\u8ff0**\n---\n* qucuQuantum \u662f\u57fa\u4e8e NVIDIA cuQuantum \u5f00\u53d1\u7684\u91cf\u5b50\u7ebf\u8def\u6a21\u62df\u5668\uff0c\u53ef\u4e0e\u542f\u79d1\u91cf\u5b50\u7f16\u7a0b\u6846\u67b6QuTrunk\u96c6\u6210\uff0c\u5b9e\u73b0\u57fa\u4e8e\u672c\u5730GPU\u670d\u52a1\u5668\u7684\u91cf\u5b50\u7ebf\u8def\u6a21\u62df\u8ba1\u7b97\u52a0\u901f\u3002\n* qucuQuantum \u76ee\u524d\u53ea\u652f\u6301 State Vector \u7684\u91cf\u5b50\u7ebf\u8def\u6a21\u62df\n* qucuQuantum \u57fa\u4e8e Python \u8bed\u8a00\uff0c\u63d0\u4f9b\u95e8\u7ea7\u522b\u7684 API\uff0c \u5305\u62ecH, CH, P, CP, R, CR, Rx, Ry, Rz, Rxx, Ryy, Rzz, X, Y, Z, S, T, Sdg, Tdg, SqrtX, CSqrtX, SqrtSwap, Swap, CSwap, CNot, MCX, CY, MCZ, U1, U2, U3, U, CU, ISwap, SqrtXdg, PH\u7b49\u91cf\u5b50\u95e8\n* qucuQuantum \u76ee\u524d\u53ea\u652f\u6301\u4e0eQuTrunk\u672c\u5730\u96c6\u6210\uff0c\u9700\u8981\u4e0eQuTrunk\u90e8\u7f72\u5728\u540c\u4e00\u53f0 NVIDIA GPU \u670d\u52a1\u5668\u4e0a\u3002\n\n### **\u4e0b\u8f7d\u548c\u5b89\u88c5**\n---\n* qucuQuantum \u4f5c\u4e3a\u72ec\u7acb\u7684\u5e93\uff0c\u4e0e runtime \u96c6\u6210\uff0c\u7531 runtime \u5b8c\u6210\u90e8\u7f72\u5b89\u88c5\u3002\n\n### **\u4f7f\u7528\u65b9\u6cd5**\n1. qucuQuantum \u5e93\u5f15\u5165QuTrunk\u4ee3\u7801\u4e2d\n```import\nfrom qucuQuantum.cuQuantum import BackendcuQuantum\n```\n\n2. \u5728QuTrunk\u4ee3\u7801\u4e2d\uff0c\u6784\u9020QCircuit\u5bf9\u8c61\u65f6\uff0c\u6307\u5b9abackend\u4e3aBackendcuQuantum, \n```initialize\ncircuit = QCircuit(backend=BackendcuQuantum())\n```\n### **\u793a\u4f8b\u4ee3\u7801**\n\n\u4ee5\u4e0b\u793a\u4f8b\u5c55\u793a\u4e86\u5229\u7528 QuTrunk \u8fd0\u884c bell-pair \u91cf\u5b50\u7b97\u6cd5\uff1a\n\n  ```python\n  # import package\n  from qutrunk.circuit import QCircuit\n  from qutrunk.circuit.gates import H, CNOT, Measure, All\n  from qucuQuantum.cuQuantum import BackendcuQuantum\n\n  # allocate resource\n  qc = QCircuit(backend=BackendcuQuantum())\n  qr = qc.allocate(2) \n\n  # apply quantum gates\n  H * qr[0]   \n  CNOT * (qr[0], qr[1])\n  All(Measure) * qr\n\n  # print circuit\n  qc.print()   \n  # run circuit\n  res = qc.run(shots=1024) \n  # print result\n  print(res.get_counts()) \n  # draw circuit\n  qc.draw()\n  ```\n\u8fd0\u884c\u7ed3\u679c\uff1a\n<div>\n<img src=\"http://developer.queco.cn/media/images/bell_pairYunXingJieGuo.original.png\"/>\n</div>\n\n### **\u8bb8\u53ef\u8bc1**\n---\nqucuQuantum \u662f\u81ea\u7531\u548c\u5f00\u6e90\u7684\uff0c\u5728Apache 2.0\u8bb8\u53ef\u8bc1\u7248\u672c\u4e0b\u53d1\u5e03\u3002\n\n\n### ** \u4f9d\u8d56 **\n| \u5185\u5bb9                            | \u8981\u6c42                                 |\n|-------------------------------|------------------------------------|\n| GPU \u67b6\u6784                        | Volta, Turing, Ampere, Ada, Hopper |\n| NVIDIA GPU Compute Capability | 7.0+                               |\n| CUDA                          | 11.x                               |\n| CPU \u67b6\u6784                        | x86_64, ppc64Ie, ARM64             |\n| \u64cd\u4f5c\u7cfb\u7edf                          | Linux                              |\n| GPU \u9a71\u52a8                        |   450.80.02+ (Linux)                |\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "quqcs is an open source library for quantum compute simulating on NVIDIA GPU",
    "version": "0.1.0",
    "split_keywords": [
        "cuquantum",
        "quantum"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "e28d269bcaadfda5c88b7a51aa3b9d14",
                "sha256": "2fe51b113f49a1675aae47dbbd02a584afc9cbc86244eb7c72a1db7ff6644604"
            },
            "downloads": -1,
            "filename": "quqcs-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e28d269bcaadfda5c88b7a51aa3b9d14",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<3.11",
            "size": 18366,
            "upload_time": "2022-12-21T06:11:08",
            "upload_time_iso_8601": "2022-12-21T06:11:08.400186Z",
            "url": "https://files.pythonhosted.org/packages/38/15/3723284673e7acf659901dcd0404cefc2922c8a12291c616e8fa38225469/quqcs-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "ed5e5f941126a4ba11665fe9cadeec99",
                "sha256": "fa658884ee62b90540ea57842810b5a693ba4f9213ac33612b292f496353a869"
            },
            "downloads": -1,
            "filename": "quqcs-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ed5e5f941126a4ba11665fe9cadeec99",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<3.11",
            "size": 17966,
            "upload_time": "2022-12-21T06:11:10",
            "upload_time_iso_8601": "2022-12-21T06:11:10.395014Z",
            "url": "https://files.pythonhosted.org/packages/10/55/2619fb989d320779f6fba95e30cc8de2dee7db97bdf751cd3e9b0dc3b8fd/quqcs-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-21 06:11:10",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "quqcs"
}
        
Elapsed time: 0.01985s