最近のLinux x86-64動向。

最近の Linux ディストリビューションで x86-64バイナリを改良しようという動きがある。
今は最大限互換性を意識したビルド設定であるのだが、この度Core iプロセッサー初期を対象にしたビルドバージョン2からHaswellプロセッサー以降を対象にしたビルドバージョン3または avx 512などを前提にしたビルドバージョン4などと言う x86-64バイナリを作成しようというのだ。
Arch Linux や opensuse などのディストリビューションで活発化している。
たぶんFedoraも35で行うだろう。
Gitlab上の archLinux 開発者のコメントによるとx86-64バージョン3はAVX、AVX2、BMI1、BMI2、F16C、FMA、LZCNT、MOVBE、XSAVEなどの命令を前提としてビルドするらしい。
 avx をサポートしていないプロセッサーを切るわけだ。
avx をサポートしていないプロセッサーは10年以上前のプロセッサーになる。
なので実際以上使っている人はごく少数だろう Arch Linux を使うユーザーならなおさらだ。
だが、さすがにArch Linux の開発者達もx86-64ビルドバージョン4をデフォルトにするわけではないようだ。
x86-64ビルドバージョン4は使用する前提はAVX512F、AVX512BW、AVX512CD、AVX512DQ、AVX512VLこれだけの命令セットサポートしている必要がある。
GCC は11で、ようやくサポートする。
GCC11はまだリリースされていない。
なので、これを前提にしては話が進まないだろう。
AVX512Fに至っては AMD CPU である ryzen ではサポートしていない Zen4まで待たなくてはいけない。
だが、安心してほしい 。x86-64バージョン3でも Arch Linux の開発者が試してみた Firefox ビルドではなんと9.9%の改善があったそうだ。
openssl では3.4から5.1%の改善だそうだ。
このパフォーマンスの改善は Linux ディストリビューションで言えば gentoo Linux を使っているユーザーでしか受けられなかったものの一つだ。
OpenSUSEから始まった、バイナリーパッケージの改善をしようという姿勢はすごくいいと思う。
Link time optimize に始まり、x86の改善まで含めればそれ以前のopensuseと以後のSuseではどれだけパフォーマンスが違うのか気になるところだ。



詳しくはリンクを貼っておく Arch Linux 開発者のやり取りが見たかったら見てくれ
          
            それではまた

https://gitlab.archlinux.org/archlinux/rfcs/-/merge_requests/2/diffs?commit_id=1a532bcfc37e280bf69b219bb44308d863dee476

コメント

このブログの人気の投稿

メモリーオーバークロックでBlenderのレンダリングが早くなるか検証してみた。

GNOME40

GNOME40を動かしてみた。