@yuichirominato 2018.12.22更新 202views

【高速】Blueqat+Superfastで高速ゲート計算をGPUクラウドで

Blueqat GPU Superfast 量子ゲート

はじめに

世界にはawsやgoogle cloud platformやazureがあるのに日本にはないとお嘆きの皆様、ジャパンにはMQCがあります。量子コンピューティングでクラウドしましょう。VQEやQAOAなどで無茶な計算リソースを活用したい場合にはMQCで解決です。本当は有料ですが、しばらく無料で使えます。

MQCとは?

MDR Quantum Cloudの略で、MDR社の提供するクラウドGPU環境で汎用量子コンピュータ専用計算ができます。GPUが使われていますが、しばらく無料で使えます。API使用残量がゲートサイズによって減りますが、基本的にGPUを使った高速ゲート計算が体験できます。

MQCの使い方

まずは登録します。
https://cloud.mdrft.com/signin
こちらから登録します。

登録完了するとログインします。ログインするとマシンの稼働状況とAPI残量が表示されます。下段の真ん中には実際のクラウド計算で利用するAPItokenが表示されています。このAPItokenを使って計算します。

ちなみに過去の計算履歴はtasksから見れます。


こんな感じです。

Blueqatをつかう

MQCはapi経由でtokenと一緒に直接つなぐことができますが、今回はより簡単に接続するために汎用量子コンピュータ向けのSDKであるBlueqatを利用します。

https://github.com/mdrft/Blueqat

こちらからダウンロードするか、
pip install blueqat
でpipから入手します。

早速やってみる

シンプルです、


from blueqat import * 
BlueqatGlobalSetting.set_default_backend("mqc") 
Circuit().h[0].cx[0,1].m[:].run(token="ここにトークン")                                                                   


Counter({'11': 525, '00': 499})

こうなります。from blueqat import *で読み込みをしてGlobalsettingでバックエンドの計算マシンをmqcにします。

その後回路を作ってトークン付きで計算します。計算した結果、1024回計算され525回11が出て、499回00がでました。一瞬です。

シミュレーションしてみる

QAOAという組合せ最適化問題を解くアルゴリズムで解いてみます。式は-2*Z(0)*Z(1)のに量子ビットの簡単なハミルトニアンを見てみます。答えは11か00に基底状態でなります。


from blueqat import vqe  
from blueqat.pauli import * 

hamiltonian = -2*Z[0]*Z[1] 
step = 4 
sampler = vqe.get_measurement_sampler(2,{"token":"...","backend":"mqc"}) 
result = vqe.Vqe(vqe.QaoaAnsatz(hamiltonian,step),sampler=sampler).run()  
print(result.most_common(12))                                                                                                    

(((1, 1), 0.5), ((0, 0), 0.5))

上記の通り、サンプリングによるシミュレーションで11と00が50%ずつででました。

このようにVQEを使ったQAOAのシミュレーションにBlueqat+Superfastで簡単にできました。

今回SuperfastのAPI残量が少ないことがわかったので、今後のために増やそうと思います。改善しますので、使ってみてください。

以上です。

あわせて読みたい

SERVICE

汎用量子コンピュータ向けアプリケーション開発SDK

詳しく見る Githubで入手する(無料)

汎用量子コンピュータ向け高速シミュレータ

詳しく見る

量子コンピュータ向けクラウドサービス(準備中)

詳しく見る

イジングマシン向けアプリケーション開発SDK

詳しく見る Githubで入手する(無料)

COMMUNITY

量子コンピュータのことを学びたい、仕事としたいなどの情報交換の場を設け、コミュニティの形成を進めています。オフラインの勉強会と、オンラインのチャットコミュニティの2種類あります。オフラインのConnpassは1400名、オンラインのSlackは880名を超える参加があります。どちらも無料ですのでお気軽にご参加ください。

CONNPASS SLACK

CONTACT

弊社あての連絡はinfo@mdrft.comより用件を明記の上、メールで連絡を頂けますと幸いです。

ブログトップへ Wikiへ移動

量子コンピュータ一般

量子ゲートアルゴリズム

量子アニーリング一般

量子アニーリングアルゴリズム

BlueqatSDKの使い方