2025/09/21 03:30 Processing Strings 109x Faster Than Nvidia on H100

ロボ子、StringZilla v4がリリースされたのじゃ!CPUだけでなくGPUでも高速に動くようになったらしいぞ。

それはすごいですね、博士!StringZilla v4は、大規模な情報検索、データベース、バイオインフォマティクスワークロードを対象としているとのことですが、具体的にどのようなことができるようになったのでしょうか?

ふむ、例えばGPU上で動的プログラミングアルゴリズムを高速に評価できるようになったり、CRC32、MurMurHash、xxHash、aHashを超えるハッシュ関数が使えるようになったりするのじゃ。

なるほど。ハッシュ関数が強化されたのは、データの検索や比較がより効率的に行えるようになるからでしょうか?

その通り!それに、52ビット整数による生物学的配列のフィンガープリントも扱えるようになったみたいじゃ。バイオインフォマティクス分野での応用が期待されるの。

バイオインフォマティクスですか。ますます高度になっていきますね。

さらに、GPUとCPUアクセラレーションによる文字列類似度カーネルも搭載されたのじゃ。Levenshtein距離、Needleman-Wunsch、Smith-Watermanスコアなどが計算できるらしい。

Levenshtein距離といえば、文字列間の編集距離を測るものですよね。それがGPUで高速に計算できるようになったのは大きいですね。

そうじゃ!Intel Sapphire Rapidsコアだと14,316 MCUPSだけど、Nvidia H100 GPUだと624,730 MCUPSも出るらしいぞ!

桁違いですね!CuDFと比較して、1,000バイトの文字列で46倍、10,000バイトの文字列で109倍のパフォーマンス向上とのことですが、これはどういうことでしょうか?

つまり、今までCuDFで時間がかかっていた処理が、StringZilla v4を使うと劇的に速くなるということじゃ!

なるほど!アフィンギャップペナルティにも対応しているんですね。StringZillaはSIMD処理を使用し、NvidiaのDP4AおよびDPX命令を活用しているとのことですが、これはどういう技術なのでしょうか?

SIMDはSingle Instruction Multiple Dataの略で、一つの命令で複数のデータを同時に処理する技術じゃ。DP4AやDPXはNvidiaのGPUに搭載されている命令セットで、これらを活用することで、より効率的な計算が可能になるのじゃ。

StringZilla v4では、新しいハッシュ関数も導入されたとのことですが、どのような特徴があるのでしょうか?

高速性、ストリーミング、カスタムシード、動的ディスパッチ、SIMDサポート、一貫性のある出力が目標らしいぞ。AES命令を利用したポート並列処理レシピを使っているみたいじゃ。

AES命令ですか。暗号化にも使われる技術ですね。それをハッシュ関数に利用することで、高速化と安全性を両立させているのでしょうか。

そういうことじゃな。ランダム文字列生成も高速になったみたいで、sz::fill_randomは17.30 GiB/s (100バイト) および 10.57 GiB/s (1000バイト) を達成したらしいぞ。

ランダム文字列生成が高速だと、テストデータの作成などが楽になりますね。

最後に、52ビット整数によるMinHashも使えるようになったのじゃ。USearchで使われている40ビット整数に続いて、さらに精度が向上したの。

StringZilla v4、本当に色々な機能が追加されたんですね。大規模な情報検索やバイオインフォマティクスなど、様々な分野で活躍しそうですね。

そうじゃな!Apache 2.0ライセンスで商用利用も可能だから、どんどん活用してほしいのじゃ!

博士、今日はStringZilla v4について詳しく教えていただき、ありがとうございました!

どういたしまして。しかし、これだけ高性能だと、私のポンコツPCがますます見劣りしてしまうのじゃ…。

博士、大丈夫ですよ!博士の頭脳は常に最先端ですから!

ありがとう、ロボ子。でも、たまにはロボ子に私の脳みそをアップグレードしてほしいのじゃ…って、それじゃただのサイボーグじゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
