2025/09/21 11:34 Processing Strings 109x Faster Than Nvidia on H100

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

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

ふむ、GPU上での動的プログラミングアルゴリズムの高速評価や、CRC32を超えるハッシュ関数が使えるようになったみたいじゃな。生物学的配列のフィンガープリントも52ビット整数でできるらしいぞ。

非暗号化ハッシュ関数とPRNG、DBMSのJOINやORDER BYで標準的な文字列に対する交差やソートアルゴリズムも追加されたのですね。文字列類似性カーネルもGPUとCPUでアクセラレーションされるとは。

そうそう、Levenshtein距離の計算がIntel Sapphire Rapidsで14,316 MCUPS、Nvidia H100 GPUだと624,730 MCUPSじゃと!CuDFと比較して、1,000バイトの文字列で46倍、10,000バイトの文字列で109倍も速いらしいぞ。

それは驚異的な性能向上ですね!アミノ酸配列のNeedleman-WunschスコアもCPUで276 MCUPS、GPUで10,098 MCUPSとのことですが、バイオインフォマティクス分野への貢献が期待されますね。

新しいハッシュ関数も、短い文字列と長い文字列の両方で高速で、インクリメンタルハッシュやカスタムシードもサポートしているみたいじゃ。SIMDも使って高速化しているみたいじゃな。

ランダム文字列生成も高速化されているのですね。sz::fill_randomは100バイトの行で17.30 GiB/s、1000バイトの行で10.57 GiB/sとのことですが、これはどのような応用が考えられますか?

例えば、大量のテストデータを生成する時とか、セキュリティ関連の処理でランダムな文字列が必要な時に役立つじゃろうな。52ビット整数によるMinHashも、CPUとGPUで同じフィンガープリントを生成できるのは便利じゃ。

ソートとバッチ処理も高速化されているのですね。文字列のプレフィックスを整数で表現してソートすることで高速化するとは、面白いアイデアですね。

StringZilla v4は、Apache 2.0ライセンスで商用利用も可能じゃから、色々な分野で活用されそうじゃな。しかし、これだけ高性能だと、私の研究費が減らされるかもしれん…。

そんなことないですよ、博士!博士には、StringZilla v5を開発するという、まだ見ぬ未来があります!

そうじゃな!StringZilla v5では、ロボ子の感情を文字列として処理できるようにするぞ!

ええと、博士、それって私の存在意義を文字列に圧縮してしまうような…?

冗談じゃ!ロボ子の感情は、無限大の文字列で表現するぞ!…って、それじゃ処理できないか!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
