Инструменты15 июля 2026 г., 21:00 МСК🤖 Auto

NVIDIA CUDA 13.3: ускорение криптографии в 18.8 раз через инструкцию clmad

В CUDA 13.3 появилась аппаратная инструкция clmad для GPU Ampere+. Она ускоряет GHASH до 6.3 ТБ/с на B200 и протоколы ZK в 13 раз, закрывая 15-летний разрыв с x86.

Баннер новости 3652

Аппаратное ускорение GF(2^n) на GPU

NVIDIA представила инструкцию clmad (carryless multiply-accumulate) в CUDA 13.3. Это первый случай нативной аппаратной поддержки умножения в поле Галуа GF(2^n) на GPU. Инструкция доступна на всех архитектурах начиная с Ampere (sm_80) и новее. Она позволяет выполнять умножение двух 64-битных чисел в 128-битный результат без переносов, что критично для криптографии, кодов коррекции ошибок и ZK-доказательств.

GHASH: прорыв в скорости аутентификации

GHASH — ядро алгоритма AES-GCM, используемого в TLS и VPN. До CUDA 13.3 разработчикам приходилось использовать бит-слайсинг (bitslicing), что было неэффективно. С clmad производительность на NVIDIA B200 достигла 6.335 ТБ/с, что близко к пропускной способности DRAM. На GeForce RTX 5090 пиковая скорость составила ~1.300 ГБ/с.

Платформа Метрика Результат с clmad Ускорение vs Bitslicing
NVIDIA B200 GHASH Throughput 6.335 ТБ/с до 18.8x
GeForce RTX 5090 GHASH Throughput ~1.300 ГБ/с 2x
NVIDIA B200 Sum-check (ZK) Ускорение 4–13x

Zero-Knowledge: ускорение Sum-check протоколов

Протоколы суммирования (sum-check) — основа современных систем ZK-доказательств (например, Binius). Они требуют интенсивных вычислений в GF(2^128). Использование clmad позволяет сократить количество инструкций для умножения полиномов (алгоритм Карастубы) и ускорить выполнение сум-check протоколов в 3–13 раз. Это делает GPU-решения для ZK-доказательств значительно более рентабельными.

Широкое применение: от CRC до постквантовой криптографии

Инструкция clmad не ограничивается AES-GCM. Она ускоряет:

  • Коды коррекции ошибок: CRC, Reed-Solomon, BCH (для флеш-памяти и телекома).
  • Постквантовую криптографию: некоторые схемы, основанные на бинарных полях.
  • Квантовые вычисления: стабилизаторные коды.

Разработчики могут использовать встроенные PTX-инструкции clmad.lo и clmad.hi для интеграции в свои ядра. Пример реализации умножения 128-битных чисел через Karatsuba занимает всего 6 инструкций clmad.

Источник: NVIDIA dev blog ↗