2026年2月22日日曜日

Windows+WSL環境にPhoronix Test SuiteのOpenFOAMベンチマークを実行する方法

 CFD関係のベンチマークをしたかったので,WindowsのWSL上のUbuntuにPhoronix Test SuiteをインストールしOpenFOAMのベンチマークを実行する方法を調べた。また,得られたスコアをUbuntuネイティブ環境と比較した。


検証環境

・OS:Windows11 pro 24H2

・CPU:Intel Core i5 13600K

・RAM: DDR5 32GB

・インストールするPhoronix Test Suiteバージョン:10.8.4


1. WSLの有効化とUbuntuのインストール

 まず,WSLを有効化するために,コントロールパネルの”プログラムと機能”の”Windowsの機能の有効化または無効化”から,”Linux用Windowsサブシステム”と”仮想マシンプラットフォーム”にチェックを入れ,PCを再起動する。


次に,コマンドプロンプトを開き,
 wsl update
を実行する。これにより,Ubuntuをインストールする環境が整う。

最後に,以下のコマンドでUbuntuをインストールする。
 wsl --install -d Ubuntu-24.04

なお,wsl --list --onlineでインストール可能なディストリビューションが表示される。2026年2月現在は24.04が最新のLTSなので今回はこちらをインストールした。
 インストールが終わるとユーザ名とログインパスワードを聞かれるので入力していく。


2. Phoronix Test Suite+OpenFOAMベンチマークのインストール

 ここからはUbuntuでの作業となる。事前にapt updateとapt upgradeコマンドでパッケージを最新にしておく。
 公式サイトによるとphpのコマンドライン環境があれば良いと書いてあったが,最終的には以下のパッケージが必要だった。ただ,Gemini AIに聞きながら調べたので,余計なものも入っているかもしれない。

1)PHP関係パッケージのインストール
 以下のコマンドでPHP関係とZIPファイル関係のパッケージをインストールする。
 sudo apt install -y php-cli php-xml php-curl php-gd php-sqlite3  php-zip unzip

2) 並列処理関係のパッケージのインストール
 Open MPIなど並列処理関係をインストールする。最後のlibfftw3だけはフーリエ変換用パッケージで,もしかしたら不要かもしれない。
 sudo apt install -y libscotch-dev libptscotch-dev libopenmpi-dev libboost-system-dev libboost-thread-dev libfftw3-dev

3) Phoronix Test Suite+OpenFOAMのインストール
 まず,Phoronix Test Suiteパッケージを取得するため,debファイルをダウンロードしてインストールする。今回インストールするPhoronix Test Suiteバージョンは10.8.4だが,それ以外をインストールする場合は適宜debファイル名のバージョン部分を変更する。

・debファイルダウンロード
 wget https://phoronix-test-suite.com/releases/repo/pts.debian/files/phoronix-test-suite_10.8.4_all.deb

・debファイルインストール
 sudo dpkg -i phoronix-test-suite_10.8.4_all.deb

最後に,以下のコマンドで Phoronix Test Suite+OpenFOAMをインストールする。
 phoronix-test-suite install openfoam

PCのスペックにもよるが,今回の環境ではインストールには20分以上かかった。


3. ベンチマークの実行

 以下のコマンドでOpenFOAMのベンチマークを実行する。
 phoronix-test-suite run openfoam

 まず,実行するテストを選択する画面になる。1-5のいずれかを指定する。なお,コンマで区切ることで複数のテストを指定できる。ただし,”1,1”のように同じテストを連続して指定してもなぜか1回しか実行されない。

 次に,テスト結果を保存するか聞かれる。”Y”を入力すると更に色々と聞かれて面倒なので”n”にする。

 以上の入力が終わるとテストが実行される。


4. ベンチマーク結果

 結果は以下のように表示される。

解説
・Test 1 of 1
 テスト選択で指定した実行するテストの数。”1, 2”としていた場合は”Test 2 of 2”となる。

・Estimated Trial Run Count:    1
 それぞれのテストの試行回数。デフォルトは1。変えるには別途設定ファイルをいじる必要がある。

・メッシュ作成時間
 このテストのスコアは各処理の実行時間そのもので,この項目は解析用メッシュ作成時間となる。この画像では36.88秒で終わっている。また,データベースのスコアとの比較も表示される。

・解析実行時間
 解析の実行時間。この画像では249秒で終わった。


5. ネイティブUbuntu環境との比較

 WindowsのWSL上のUbuntu環境とUbuntuのネイティブ環境とでスコアに違いがあるかを調べた。また,USB環境での使用も考慮し,USB3.2接続のSSDにインストールしたUbuntuについても比較した。

 テストはdrivaerFastback, Small Mesh Sizeを使用し,3回の平均値を最終結果とした。
以下が結果で,WSL上での実行時間はネイティブ環境より遅くなり,メッシュ作成時間で16パーセント,解析時間で13パーセント増加した。仮想環境での何らかのボトルネックが原因と思われる。





 

0 件のコメント:

コメントを投稿