PMD_MT 高速化版+7
・AVX-VNNI対応によりごくわずかに高速化。
Alderlake向け最適化。
AlderlakeはEコアがAVX512に対応していない関係で、AVX512が無効化されていて、基本的にはAVX2までの対応にとどまっている。なので、AVX512で追加されたいろいろ便利な新しい命令は、軒並み使用できない。
ところが、そういう新しく追加されたAVX512命令のうち、AVX512VNNIだけが特別扱いで、その256bit版がEコアでも動作するように追加されていて、これが使えるようになっている(AVX-VNNI)。
このAVX-VNNIを使うと、AVX2のvpmaddwdとvpaddの2命令をvpdpwssdの1命令に置き換えられるので、今回はその置き換えを行った。命令数が減るので理屈の上では速くなるはずだが、それほど多くの個所で使用してはいないので、微々たるものだとは思う。
ダウンロード>>
ダウンロード (ミラー) >>
ソースはこちら
Alderlake向け最適化。
AlderlakeはEコアがAVX512に対応していない関係で、AVX512が無効化されていて、基本的にはAVX2までの対応にとどまっている。なので、AVX512で追加されたいろいろ便利な新しい命令は、軒並み使用できない。
ところが、そういう新しく追加されたAVX512命令のうち、AVX512VNNIだけが特別扱いで、その256bit版がEコアでも動作するように追加されていて、これが使えるようになっている(AVX-VNNI)。
このAVX-VNNIを使うと、AVX2のvpmaddwdとvpaddの2命令をvpdpwssdの1命令に置き換えられるので、今回はその置き換えを行った。命令数が減るので理屈の上では速くなるはずだが、それほど多くの個所で使用してはいないので、微々たるものだとは思う。
ダウンロード>>
ダウンロード (ミラー) >>
ソースはこちら
スポンサーサイト