NVIDIA CUDA 13.3、キャリーレス乗算命令をサポートし暗号処理を高速化
NVIDIAはCUDA 13.3において、x86 CPUが15年以上前から搭載してきたキャリーレス乗算(carryless multiplication)命令をGPU上でサポートしたことを発表した。これにより暗号関連のワークロードをGPU上でより効率的に実行できるようになる。
NVIDIAは公式開発者ブログで、CUDA 13.3においてキャリーレス乗算(carryless multiplication)をサポートしたことを発表した。キャリーレス乗算は、有限体(ガロア体)上での多項式乗算に相当する演算で、x86 CPUには15年以上前から専用のハードウェア命令として搭載されてきた小規模ながら重要な演算プリミティブである。
キャリーレス乗算とは何か
通常の乗算とは異なり、キャリーレス乗算では桁上がり(キャリー)を伝播させずにビットごとのXORで加算を行う。この性質により、誤り訂正符号(CRC)や暗号アルゴリズムにおけるガロア体演算など、特定の数学的処理に適した基盤となっている。CPUの世界ではPCLMULQDQ命令などとして長らく利用されてきたが、GPU上でこの演算を効率的に扱う手段はこれまで限られていた。
CUDA 13.3での対応と意義
今回のアップデートにより、開発者はCUDA上でキャリーレス乗算を直接利用できるようになり、暗号関連の処理をGPUの並列処理能力を活かして高速化する道が開かれる。CRC計算や暗号アルゴリズムの実装など、これまでCPU側の専用命令に依存していた処理をGPU上でも効率的に扱えるようになることが期待される。
今後の展望
暗号処理やデータ整合性検証はセキュリティや通信、ストレージシステムなど幅広い分野で重要な役割を果たしている。GPU上でのキャリーレス乗算サポートは、こうした分野におけるGPUアクセラレーションの適用範囲をさらに広げる基盤技術として位置づけられる。
原文ソース
NVIDIA Developer