Windows (WSL) 向けクイックスタート
Windows 11 では、QUBO++ は WSL (Windows Subsystem for Linux) を通じて使用できます。これにより、Linux プログラムを Windows 上でネイティブに実行できます。
このドキュメントでは、WSL、必要なライブラリ、QUBO++ のインストール方法、およびサンプルプログラムのコンパイルと実行方法について説明します。
WSL のインストール
Windows 11では、WSLはWindows PowerShellからインストールできます。 管理者としてPowerShellを開き、次のコマンドを実行します:
C:\WINDOWS\System32> wsl --install
Provisioning the new WSL instance Ubuntu
This might take a while...
Create a default Unix user account: [user account name]
New password: [your password]
Retype new password: [your password]
passwd: password updated successfully
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
プロンプトが表示されたら、[ユーザーアカウント名] と [パスワード] を入力してください。 これにより、WSL 2 と Windows 上で動作する Ubuntu ベースの Linux システムがインストールされます。
インストール完了後、WSL内のシステムソフトウェアを更新・アップグレードします:
$ sudo apt update
$ sudo apt upgrade -y
C++コンパイラ、Boost、oneTBBのインストール
QUBO++にはC++コンパイラ、Boostライブラリ、oneTBBが必要です。
以下のコマンドでインストールします:
$ sudo apt install -y build-essential libboost-all-dev libtbb-dev
QUBO++ をインストール
最新版QUBO++リリースページから .tar.gz ファイルをダウンロードしてください。
お使いの Windows PC のアーキテクチャに応じて、以下のいずれかのファイルをダウンロードしてください:
qbpp_amd64_<version>.tar.gz: Intel または AMD ベースの Windows PC 用qbpp_arm64_<version>.tar.gz: ARMベースのWindows PC用(例:Copilot+ PC)
ファイルがWindowsのダウンロードフォルダに保存された場合、以下のように解凍してください:
$ tar xf /mnt/c/Users/<user name>/Downloads/qbpp_<arch>_<version>.tar.gz
これにより、必要なファイルがすべて格納されたディレクトリがqbpp_<arch>_<version>作成されます。
このディレクトリへのシンボリックリンクを作成することを推奨します:
$ ln -s qbpp_<arch>_<version> qbpp
これによりシンボリックリンク が作成され、インストールqbppディレクトリへのアクセスが簡素化されます。
環境変数の設定
QUBO++プログラムのコンパイルと実行に必要な環境変数を設定するには、以下のコマンドを実行してください:
$ export QBPP_PATH=$HOME/qbpp
$ export CPLUS_INCLUDE_PATH=$QBPP_PATH/include:$CPLUS_INCLUDE_PATH
$ export LIBRARY_PATH=$QBPP_PATH/lib:$LIBRARY_PATH
$ export LD_LIBRARY_PATH=$QBPP_PATH/lib:$LD_LIBRARY_PATH
$ export PATH=$QBPP_PATH/bin:$PATH
QUBO++ ライセンスキーをお持ちの場合は、以下を使用して設定してください:
$ export QBPP_LICENSE_KEY=[Your QUBO++ license key]
これらのコマンドは、WSLシェル起動時に自動的に実行されるよう、
~/.bashrc
ファイルの末尾に追加することを推奨します。
ライセンスの有効化
以下のコマンドを実行して QUBO++ ライセンスをアクティベートできます:
$ qbpp-license -a
QUBO++ ライセンスキーが設定されている場合、対応するライセンスが有効化されます。 設定されていない場合は、匿名ライセンスが有効化されます。
サンプルプログラムのコンパイルと実行
以下のコマンドでQUBO++サンプルプログラムをコンパイルします:
$ cd qbpp/samples
$ make
例えば、Nクイーンズ問題を解くQUBO++プログラムは以下のように実行できます:
$ ./nqueen_easy
ABS3 GPUソルバーの実行
システムにCUDA対応GPUが搭載されている場合、WSLからABS3 GPUソルバーを実行できます。
WSLでGPUアクセラレーションを有効にするには、以下のページからWindows用NVIDIA GPUドライバーをインストールしてください:
https://www.nvidia.com/Download/index.aspx
注意: WSL内にLinux用GPUドライバーをインストールしないでください。 WSLは統合レイヤーを介してWindows用GPUドライバーを使用します。
ドライバインストール後、WSLでGPUが利用可能か確認するには以下を実行:
$ nvidia-smi
ドライバが正しくインストールされている場合、このコマンドはインストール済みのGPUに関する情報を表示します。 その後、ABS3 GPUソルバーを使用したサンプルプログラムを以下のように実行できます:
$ ./labs_abs3
QUBO++ の新バージョンへのアップグレード
新しいQUBO++リリースをダウンロードして解凍します tar上記の手順に従い、新しいQUBO++リリースをダウンロードして解凍します。
次に、qbppシンボリックリンクを新しいバージョンを指すように更新します:
$ ln -sfn qbpp_<arch>_<new version> qbpp
このコマンドは既存の qbpp シンボリックリンクを上書きし、新しくインストールされたバージョンを参照するようにします。