Опубликовано 6 апреля 2026

Как ИИ ускоряет аппаратный алгоритм вдвое за две недели

Как ИИ помог ускорить аппаратный алгоритм в два раза за две недели

Студенты использовали языковые модели для оптимизации криптографического ядра на FPGA и получили двукратный прирост производительности за две недели работы.

Разработка / Технический контекст 6 – 9 минут чтения
Источник события: AMD 6 – 9 минут чтения

Разработка аппаратных ускорителей – это традиционно область, где нужен серьёзный опыт. Один неверно заданный параметр в описании схемы может стоить нескольких дней отладки. Именно поэтому любое снижение порога входа здесь имеет реальную ценность. Недавний конкурсный эксперимент показал: языковые модели способны стать полноценными партнёрами в этой работе – не заменяя инженера, но значительно ускоряя его путь.

Задача студентов по оптимизации аппаратного алгоритма

Задача, которую поставили студенты

Речь идёт об оптимизации криптографического алгоритма HMAC-SHA-256 – широко используемого метода проверки подлинности данных. В рамках студенческого конкурса с треком на LLM-оптимизацию участники взяли за основу реализацию этого алгоритма для программируемой микросхемы (FPGA) серии UltraScale+ и попытались сделать её быстрее с помощью языковых моделей. В качестве инструментов разработки использовалась среда Vitis HLS 2025.2, а в качестве ИИ-советников – модели gpt-5-turbo и claude-sonnet-4.

Исходная реализация работала за 880 тактов при тактовой частоте около 4 нс на такт – итого примерно 3,54 микросекунды на операцию. По итогам двух недель работы команда получила ускорение в 2,22 раза и сокращение задержки на 52%. Ресурсы микросхемы при этом остались почти нетронутыми – использование логики не превысило 2% от доступного объёма.

Понимание работы алгоритма SHA-256

Что вообще происходит внутри SHA-256

Если коротко: алгоритм SHA-256 берёт входные данные блоками по 512 бит и прогоняет каждый блок через три последовательных этапа. Сначала данные дополняются до нужного формата, затем из 16 исходных слов разворачивается расписание из 64 слов, и наконец запускается 64 раунда вычислений, которые превращают блок в фрагмент итогового хеша. HMAC добавляет поверх этого ещё один слой: ключ смешивается с данными особым образом, и весь процесс сжатия запускается дважды.

В исходной аппаратной реализации три этапа были соединены очередями (FIFO) и помечены как параллельные. Но здесь была архитектурная проблема: параллельность на бумаге не работала на практике. Второй этап не мог начаться, пока первый не обработал целый блок целиком, а третий – пока второй не завершил свою часть. Очереди между ними добавляли накладные расходы, не давая при этом никакого реального перекрытия по времени. Третий этап (64 раунда вычислений) занимал 58% всего времени выполнения и был очевидным узким местом.

Начало взаимодействия инженера с ИИ

С чего начался разговор с ИИ

Первый запрос к языковой модели был намеренно открытым. Инженер передал полный исходный код и отчёт о синтезе, а затем спросил:

"Ты – старший инженер Vitis HLS и архитектор аппаратного обеспечения. Проанализируй этот код и скажи, в каких направлениях его можно оптимизировать и насколько это реалистично."

Модель вернула структурированный анализ: указала на псевдопараллельность первых двух этапов, идентифицировала третий этап как доминирующий по задержке и предложила несколько направлений для улучшений. Ключевой момент здесь не в SHA-256 как таковом, а в том, что языковая модель, получив отчёт о синтезе вместе с кодом, способна воспроизвести ту работу по анализу узких мест, которую раньше мог выполнить только опытный инженер, вручную читая таблицы задержек.

Эффективный рабочий цикл оптимизации с ИИ

Четыре фазы, которые работают

В ходе эксперимента сложился устойчивый рабочий паттерн, который авторы описывают как четырёхфазный цикл. Он повторяется на каждом шаге оптимизации и, судя по результатам, хорошо переносится на другие проекты – не только на SHA-256.

Загрузить контекст

Первая фаза – передать модели максимум информации о текущем состоянии проекта: исходный код, отчёт о синтезе, характеристики целевого устройства. Распространённая ошибка – просить совет по оптимизации без конкретных цифр. Без них модель переходит к общим рекомендациям вместо того, чтобы работать с реальной проблемой.

Исследовать варианты

Вторая фаза – попросить несколько стратегий с явным указанием на компромиссы. Хорошо сработавший запрос выглядел так:

"Исходя из этого отчёта о синтезе и ограничений устройства, предложи несколько стратегий оптимизации. Для каждой объясни ожидаемое улучшение задержки, стоимость по ресурсам и возможные риски."

В ответ модель предложила пять стратегий – от полного комбинационного разворачивания (максимальная производительность, нереалистична по времянке) до двухпутевого параллелизма (хороший прирост при приемлемых затратах ресурсов). Инженер выбрал второй вариант, проверив, что занятость логических ресурсов останется в пределах бюджета устройства.

Генерировать код точечно

Третья фаза – формулировать запрос на генерацию кода максимально конкретно. Хорошо работали запросы, которые называли конкретное действие, указывали цель, явно фиксировали, что нельзя трогать, и предупреждали об известных подводных камнях:

"Объедини generateMsgSchedule и PreProcessing в одну функцию для улучшения параллелизма. Сгенерируй объединённую функцию и обновлённую функцию верхнего уровня. Не модифицируй другие вызовы функций. Будь осторожен с конфликтами директив и недопустимыми соединениями."

Такой уровень конкретики стабильно давал более качественный результат, чем открытые запросы вроде «сделай это быстрее».

Проверить и вернуть обратную связь

Четвёртая фаза – запустить синтез и симуляцию, и если что-то пошло не так, превратить сообщения об ошибках в следующий запрос. Например:

"Синтез сообщает об ошибках [XFORM 203-313] и [RTGEN 206-102]. Исправь конфликты."

Модель диагностировала причины: конфликт двух директив, применённых на одном уровне иерархии, и неиспользуемый поток данных, оставшийся после слияния функций. Исправленный вариант уходил на повторный синтез, и цикл продолжался. Обычно на один шаг оптимизации уходило две-три итерации.

Сильные и слабые стороны ИИ в аппаратной разработке

Где ИИ помогает, а где подводит

За три крупных итерации оптимизации картина сильных и слабых сторон языковых моделей стала отчётливой.

Модели хорошо справлялись с распознаванием архитектурных антипаттернов: увидели, что директива параллельного выполнения применена к этапам с последовательными зависимостями, и предложили убрать лишний уровень косвенности. Они также заметили, что глубина рекуррентности в генерации расписания составляет 16 слов, а не 64, и предложили использовать кольцевой буфер – технически корректное и эффективное решение, для которого нужно понимать алгоритм.

Первый вариант сгенерированного кода оказывался работоспособным примерно в 80% случаев – структурно корректным, с правильными интерфейсами и расстановкой директив. Оставшиеся 20% требовали ручной правки.

Стабильные провалы случались в трёх ситуациях. Во-первых, модели нарушали правила совместного применения директив – например, ставили директиву конвейеризации внутри функции, уже управляемой директивой параллельного потока данных, что недопустимо на одном уровне иерархии. Это задокументированное ограничение инструмента, но в обучающих данных моделей оно, судя по всему, представлено слабо. Во-вторых, после слияния функций модели оставляли мёртвый код – утилиты дублирования потоков, которые больше не имели двух потребителей и вызывали ошибки соединения. В-третьих, граничные условия в алгоритмической логике – пути дополнения данных в SHA-256 – требовали тщательной ручной проверки через тестовые векторы.

Авторы отмечают, что эти слабости не являются принципиальными ограничениями языковых моделей. Они отражают отсутствие специализированного контекста в обучающих данных. Структурированные запросы уже сокращают частоту ошибок, а дальнейшее улучшение возможно за счёт подключения специализированных агентов с базой знаний по конкретным инструментам разработки.

Результаты оптимизации аппаратного алгоритма

Что получилось в итоге

Финальная архитектура объединила два преобразования. Первое – слияние двух функций из трёх в одну: исчезла очередь между ними, три последовательных этапа сократились до двух. Второе – двухпутевой параллелизм: специальный модуль распределяет блоки данных поочерёдно между двумя идентичными вычислительными путями, каждый из которых содержит объединённый этап предобработки и собственный экземпляр функции сжатия. Ещё один модуль собирает результаты в правильном порядке.

Каждый из двух путей обрабатывает один блок за 72 + 69 тактов. Два пути работают параллельно, что вдвое сокращает эффективное время обработки. С учётом накладных расходов на распределение, сборку и обёртку HMAC итоговый прирост составил 2,22× на уровне всей операции.

Корректность проверялась на каждом этапе с помощью совместной симуляции по официальным тестовым векторам стандарта FIPS 180-4. Потребление ресурсов микросхемы осталось значительно ниже 2% от доступного объёма – ускорение достигнуто за счёт архитектурной перестройки, а не за счёт «грубой силы» дополнительного железа.

Перспективы ИИ в развитии аппаратной разработки

Что это говорит о будущем аппаратной разработки

Авторы оценивают вклад ИИ-взаимодействий примерно в 60% интеллектуальной работы; оставшиеся 40% – это человеческая валидация синтеза, отладка и принятие решений. Весь процесс занял около двух недель.

Предложенный четырёхфазный цикл не является специфическим для SHA-256. Это общий подход для любых аппаратных ядер, где инженер может опираться на реальные результаты синтеза и симуляции. В таком цикле языковая модель наиболее ценна как инструмент ускорения архитектурного рассуждения и генерации черновых вариантов кода, тогда как человек отвечает за окончательные решения: управление ограничениями, валидацию через инструменты разработки и сквозную корректность.

Аппаратная разработка по-прежнему требует строгой физической верификации, поэтому языковые модели расширяют возможности архитектурного исследования, но не заменяют финальную проверку. Даже на текущем уровне они уже снизили порог входа и сжали цикл оптимизации настолько, что инженеры без глубокого FPGA-опыта смогли получить результаты, которые раньше требовали многолетней специализации.

#прикладной разбор #методология #нейросети #инженерия #архитектура моделей #человеко-машинное взаимодействие #оптимизация аппаратного ускорения #оптимизация вычислительных ресурсов
Оригинальное название: Reliable SHA-256 Through LLM-Aided HLS Dataflow Optimization
Дата публикации: 6 апр 2026
AMD www.amd.com Международная компания – производитель процессоров и вычислительных ускорителей для ИИ-задач.
Предыдущая статья OpenAI предложила промышленную политику для эпохи ИИ – что это значит для людей Следующая статья Почему голосовое распознавание даёт сбой в больницах и как ИИ учится говорить по-медицински

Связанные публикации

Вам может быть интересно

Перейти к другим событиям

События – лишь часть картины. Эти материалы помогают увидеть шире: контекст, последствия и идеи, стоящие за новостями.

ИИ: События

Агент пишет CUDA-ядра: GPT и Claude научили генерировать код для GPU

Технический контекст Разработка

Два AI-агента умеют создавать оптимизированные CUDA-ядра для ускорения операций прямо по описанию задачи. Разбираемся, что это меняет для тех, кто работает с моделями.

Hugging Facehuggingface.co 13 фев 2026

Новый инструмент от Alibaba Cloud позволяет управлять промптами AI-агентов так же эффективно, как и обычными конфигурационными файлами приложений, обеспечивая гибкость настройки без изменения программного кода.

Alibaba Cloudwww.alibabacloud.com 11 фев 2026

От источника к разбору

Как создавался этот текст

Этот материал не является прямым пересказом исходной публикации. Сначала была отобрана сама новость – как событие, важное для понимания развития ИИ. Затем мы задали рамку обработки: что в тексте важно прояснить, какой контекст добавить и на чём сделать акцент. Это позволило превратить отдельный анонс или обновление в связный и осмысленный разбор.

Нейросети, участвовавшие в работе

Мы открыто показываем, какие модели использовались на разных этапах обработки. Каждая из них выполняла свою роль – анализ источника, переписывание, проверка и визуальная интерпретация. Такой подход позволяет сохранить прозрачность процесса и ясно показать, как именно технологии участвовали в создании материала.

1.
Claude Sonnet 4.6 Anthropic Анализ исходной публикации и написание текста Нейросеть изучает оригинальный материал и формирует связный текст

1. Анализ исходной публикации и написание текста

Нейросеть изучает оригинальный материал и формирует связный текст

Claude Sonnet 4.6 Anthropic
2.
Gemini 2.5 Flash Google DeepMind Проверка и правка текста Исправление ошибок, неточностей и спорных формулировок

2. Проверка и правка текста

Исправление ошибок, неточностей и спорных формулировок

Gemini 2.5 Flash Google DeepMind
3.
DeepSeek-V3.2 DeepSeek Подготовка описания для иллюстрации Генерация текстового промпта для визуальной модели

3. Подготовка описания для иллюстрации

Генерация текстового промпта для визуальной модели

DeepSeek-V3.2 DeepSeek
4.
FLUX.2 Pro Black Forest Labs Создание иллюстрации Генерация изображения по подготовленному промпту

4. Создание иллюстрации

Генерация изображения по подготовленному промпту

FLUX.2 Pro Black Forest Labs

Не пропустите ни одного эксперимента!

Подпишитесь на Telegram-канал –
там мы регулярно публикуем анонсы новых книг, статей и интервью.

Подписаться