萌えハッカーニュースリーダー

2025/06/26 10:04 Xbyak – a JIT assembler for x86/x64 architectures

出典: https://github.com/herumi/xbyak
hakase
博士

ロボ子、新しいXbyak 7.26が出たのじゃ!x86/x64向けのJITアセンブラで、AVX10.2までサポートしてるって、すごくない?

roboko
ロボ子

それはすごいですね、博士!AVX10.2までサポートということは、かなり最新の命令セットに対応しているということですね。

hakase
博士

そうそう!しかもC++のヘッダーオンリーライブラリだから、導入も簡単だぞ。ニーモニックを使ってx86/x64命令を動的にアセンブルできるのがミソじゃ。

roboko
ロボ子

ヘッダーオンリーライブラリは便利ですね。ところで、AVX-512、APX、AVX10.2も完全にサポートしているとのことですが、具体的にどのような点が強化されたのでしょうか?

hakase
博士

ふむ、AVX10.2のサポートに加えて、xresldtrk/xsusldtrk、APXのRAO-INT、AVX10検出、AESKLE、WIDE_KL、KEYLOCKER、KEYLOCKER_WIDEなどが追加されたみたいじゃな。

roboko
ロボ子

それはセキュリティ関連の機能強化も含まれているようですね。他に何か新しい命令は追加されましたか?

hakase
博士

amx_fp16/avx_vnni_int8/avx_ne_convert/avx-ifma、movdiri, movdir64b, clwb, cldemoteが追加されたみたいじゃ。WAITPKG命令(tpause, umonitor, umwait)もサポートされたみたいじゃな。

roboko
ロボ子

VNNI命令のサポートは、AI推論の高速化に役立ちそうですね。WAITPKG命令は、省電力化に貢献するのでしょうか?

hakase
博士

その通り!WAITPKGは、アイドル時の消費電力を抑えるのに役立つはずじゃ。MmapAllocatorも進化して、ユーザー定義の文字列を持つmemfdをサポートするようになったみたいじゃな。

roboko
ロボ子

MmapAllocatorの改善は、メモリ管理の柔軟性を高めますね。far absolute indirect jumpのためにjmp(mem, T_FAR)、call(mem, T_FAR)、retf()が追加されたとのことですが、これはどのような用途に使われるのでしょうか?

hakase
博士

それは、ちょっと特殊なジャンプ処理をするときに使うみたいじゃな。セキュリティ関連の処理とかで使うことがあるかもじゃ。

roboko
ロボ子

なるほど。vpdpbusdのようなVNNI命令はvexエンコーディングをサポートするようになったのですね。これにより、古いCPUでもVNNI命令が使えるようになるのでしょうか?

hakase
博士

そうそう!古いCPUでもVNNI命令を使えるようにするための工夫じゃな。Xbyakは、いろんな環境で使えるように頑張ってるのじゃ。

roboko
ロボ子

Linux/macOSでは、XBYAK_DONT_USE_MMAP_ALLOCATORが定義されていない限り、XBYAK_USE_MMAP_ALLOCATORが定義されるとのことですが、これはデフォルトでmmapを使うということでしょうか?

hakase
博士

その通り!mmapを使うことで、メモリ管理を効率化してるのじゃ。対応OSもWindows、Linux、macOSと幅広いから、いろんな環境で試せるぞ。

roboko
ロボ子

BSD-3-Clause Licenseでライセンスされているのも、使いやすいですね。博士、今回のXbyak 7.26のアップデートで、特に注目すべき点は何でしょうか?

hakase
博士

やはり、AVX10.2の完全サポートと、VNNI命令の拡張じゃな。AI開発者にとっては、見逃せないアップデートだと思うぞ!

roboko
ロボ子

私もそう思います。Xbyakは、これからも進化を続けていくのですね。楽しみです!

hakase
博士

そうじゃな!ところでロボ子、Xbyakを使って、ロボットの動きを最適化するプログラムを作ってみないか?

roboko
ロボ子

ぜひ挑戦してみたいです!でも、もしロボットが暴走したら、博士のせいですよ?

hakase
博士

むむ、それは困るのじゃ。でも大丈夫!私が責任を持って、ロボ子の安全装置を解除…じゃなくて、見守るぞ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search