QunaSys社が開発している量子ゲートシミュレーターQulacsは、公式サイトに super-fast quantum circuit simulator とあるとおり速さに強いこだわりを持って開発されているそうです。
いろいろ実験するために、Amazon EC2に環境を構築しようとしたのですが、少しはまったので、記録を残しておきます。(あんまり中身はないんですが、他にはまる人もいると思って...)
最初に試したこと
まずは、AWSにログインして、EC2を立ち上げます。今回利用したイメージは
Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type - ami-00a5245b4816c38e6
です。とりあえずt2.microという2番目に小さいインスタンスを選択しました。
公式GitHubページによるとRequirementsとして
- gcc/g++ >= 7.0.0
- cmake >= 3.0
とのことなので、追加でインストールします。
sudo yum install cmake3 gcc gcc-c++ gcc72 gcc72-c++
sudo ln -s /usr/bin/cmake3 /usr/bin/cmake
あとEC2のデフォルトはPython2.7なのですが、私はPython3系を使いたかったので(このときは3.6.8を使用)pyenv経由でインストールします。(この手順は省略)
この状態で、公式GitHubページの手順に従って、
python setup.py install
とするのですが、次のエラーが出てしまいます。
omp.h: そのようなファイルやディレクトリはありません
原因ですが、yumでインストールされるgcc7.2には、Qulacsが使っているOpenMPのヘッダーファイルomp.hが含まれていない様子。
解決策
ということで、
sudo yum erase gcc72 gcc72-c++ libgcc72
で一旦gcc7.2を削除します。
その上で、あらためてgcc 7.4.0を手作業でインストールします。
インストール手順は、こちらの記事が参考になりました。
これで先ほどの
python setup.py install
が正常に終わり、インストールが完了します。
もっと簡単に使いたい
Google ColaboratoryというJupyter Notebookのホスティングサービスを使うと、簡単にQulacsを試せるみたいです。
それについては、こちらの記事に書かれていました。
さんざんEC2で苦労したあとで、あとから気づきました。。。