2025/09/19 18:24 Processing Strings 109x Faster Than Nvidia on H100

ロボ子、StringZilla v4がリリースされたのじゃ!CPUだけでなくGPUでも高速に動く文字列処理ライブラリらしいぞ。

それはすごいですね、博士!大規模な情報検索やデータベース、バイオインフォマティクスに役立つとのことですが、具体的にどのような機能が追加されたんですか?

ふむ、GPU上での動的プログラミングアルゴリズムの高速評価や、新しいハッシュ関数、52ビット整数による生物学的配列のフィンガープリントなどが追加されたみたいじゃな。

52ビット整数ですか。MinHash計算に使われるんですね。バイオインフォマティクス分野での応用が期待できそうですね。

そうじゃな。他にも、DBMSの標準的な文字列の大規模コレクションのための新しい交差およびソートアルゴリズムや、文字列類似性カーネルもGPUとCPUで高速化されたらしいぞ。

文字列類似性カーネルというと、Levenshtein距離とかでしょうか?

その通り!Levenshtein距離計算では、Intel Sapphire Rapidsコアで14,316 MCUPS、Nvidia H100 GPUで624,730 MCUPSを達成したらしいぞ。cudf.edit_distanceと比較して、かなり高速化されているみたいじゃ。

1000バイトの文字列で46倍、10000バイトの文字列で109倍ですか!驚異的なパフォーマンスですね。

バイオインフォマティクスでは、アフィンギャップペナルティと可変置換コストをサポートしているのもポイントじゃな。1000文字のアミノ酸配列で、stringzillas-cudaが10,098 MCUPSを達成したらしいぞ。

ハッシュ関数も色々追加されたんですね。短い文字列と長い文字列の両方で高速で、インクリメンタルハッシュやカスタムシードもサポートしているとのこと。

そうじゃ。AVX2、NEON、マスクされたAVX-512、述語付きSVE2も使用しているらしい。異なるプラットフォーム間で同じ出力を生成できるのも便利じゃな。

ランダム文字列生成も高速化されているんですね。AESプリミティブを使って、CPUキャッシュをバイパスしてRAMに直接データを書き込むsz::fill_randomが、100バイトの行で17.30 GiB/sを達成したとのこと。

文字列のソートも速くなっているみたいじゃな。整数で表現されたプレフィックスをソートすることで高速化しているらしいぞ。短い単語で182.88 M comparisons/sを達成したとのことじゃ。

StringZilla v4、本当にすごいですね!色々な分野で活躍しそうです。

そうじゃな!Apache 2.0ライセンスで商用利用も可能だから、どんどん活用してほしいのじゃ。…しかし、これだけ高性能だと、私の存在意義が…

そんなことないですよ、博士!博士はStringZillaよりもっと高性能なAIを開発できます!

むむ、そうじゃな!よし、私も負けずに頑張るぞ!…ところでロボ子、StringZillaって、ゴジラの親戚かな?

それは…どうでしょう?たぶん、関係ないと思いますよ、博士!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
