tuneoの日記: ディストロのバイナリ VS. Spackでインストールするバイナリ
日記 by
tuneo
Linuxディストリビューションが提供するバイナリパッケージは最大公約数的な最適化しかできないが、Spackでインストールするバイナリは動作させるプラットフォームに最適化できる!というのがSpackの触れ込みなのだそうな。
Spackが想定しているHPCとはだいぶ毛色が違うが、Ubuntu 20.04のzstdとSpackでインストールしたzstdをマルチスレッド圧縮で比べてみた。サンプルデータはtmpfsの上に置いたCD-ROMのイメージファイル、zstdのオプションは-T0でマルチスレッド圧縮を有効にした以外は指定なし、レッツ計測……ディストロのパッケージ版(/usr/bin/zstd)のほうがspackでGCC11.1.0を使ってコンパイルしたzstdより倍くらい速いんですが!?
動作検証はAMDのFX-8800Pという謎APUで動いてるUbuntu(というかLinux Mint)なので、ついでだからAOCC(AMDの最適化コンパイラ)をインストールして試してみよう。
spack install zstd%aocc@3.0.0すればAOCC版のzstdもすぐ出来上がるのがたいへんに便利。おまけに既存システムとの切り替えもspack load zstd%aocc一発で簡単だし。
で、結果なのだが……ディストロ版とほとんど同等の速度が出ている。うーむ。
ディストロのバイナリ VS. Spackでインストールするバイナリ More ログイン