Опубликовано 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-канал – там мы делимся всем самым
свежим и интересным из мира NeuraBooks.

Подписаться