qsimcirq(GPU対応版)のインストール・ビルド方法

ゲート方式の量子コンピューターを模倣するソフトウェアの一つにGoogleが開発しているCirqがあります。CirqのバックエンドとしてNVIDIAが開発しているcuQuantumを使いたい場合、qsimというライブラリをインストールする必要があります。しかし、PyPIで公開されているqsimはGPUに対応していないため、ソースコードを自分の環境でコンパイルしなければなりません。この記事ではqsimのコンパイル時に自分が詰まった部分をまとめます。

※Docker containerとして提供されているcuQuantum Applianceを使えばこのような作業は必要ないと思います。

OSUbuntu 22.04.4 LTS
CPUAMD EPYC 7543 32-Core Processor
GPUNVIDIA A100 80GB
計算機環境
nvcc12.4 (CUDA 12.4)
CMake3.27.2
GCC11.4.0
Python3.11.4
コンパイラ等のバージョン

手順

  1. cuQuantumのインストール (pipやaptのほか、NVIDIA DevZoneからarchiveを持ってくることも可能です)
    詳細はリンク先の公式ドキュメント参照
  2. qsimのリポジトリをcloneする
    git clone https://github.com/quantumlib/qsim.git
  3. qsimをコンパイルする
    export CUQUANTUM_ROOT=<path to cuquntum> && cd qsim && make .
    CUQUANTUM_ROOTを定義しない場合、backendとしてcuQuantumを使えなくなります。pythonのスクリプトを実行して初めてエラーが出るので注意。
  4. qsimcirqをインストールする
    qsimディレクトリで pip install .
    自分の場合はここでエラーが発生。
    原因: 環境変数CUDAARCHSが未設定だったこと。CMakeのおそらくconfigurationが失敗していた。
    対策: CUDAARCHSに適切な値を設定する。GPUのSM variationという数字を設定すれば良いです。GPUの世代と対応する数字はこのウェブサイトに書いてありました。
  5. GPUが使えるかチェック
    例えばpython -c "import qsimcirq; print(qsimcirq.qsim_gpu)"など

その他

  • pip install .でエラーが発生した場合、特にsubprocess内でエラーが発生したと言われた場合は、subprocessが実行したコマンドを自分で実行してみると詳細なエラー内容がわかります
  • cmake関連でエラーが発生している場合、CMakeLists.txtを確認すると良い場合があります。例えば今回のように必要な環境変数が定義されていないなどのエラーを発見できます。

この記事は役に立ちましたか?

もし参考になりましたら、下記のボタンで教えてください。

関連記事

コメント

この記事へのコメントはありません。

CAPTCHA