Пространственные вычисления: Tenstorrent Wormhole в деле

Автор: Денис Аветисян


Исследование демонстрирует успешную реализацию и производительность численных ядер и итеративного решателя на ускорители Tenstorrent Wormhole, открывая новые возможности для традиционных HPC-задач.

🚀 Квантовые новости

Подключайся к потоку квантовых мемов, теорий и откровений из параллельной вселенной.
Только сингулярные инсайты — никакой скуки.

Присоединиться к каналу
В архитектуре, использующей шестиядерные Tensix, трехмерная область данных разбивается на плитки размером 64x16 элементов, при этом каждому ядру выделяется по три плитки, формирующие колонку, что позволяет эффективно организовать распределение данных в подсетке 3x3 Wormhole.
В архитектуре, использующей шестиядерные Tensix, трехмерная область данных разбивается на плитки размером 64×16 элементов, при этом каждому ядру выделяется по три плитки, формирующие колонку, что позволяет эффективно организовать распределение данных в подсетке 3×3 Wormhole.

Оценка производительности численных методов, включая сопряженный градиент, на архитектуре Tenstorrent Wormhole.

Несмотря на растущую популярность AI-ускорителей, их применимость к задачам традиционных научных вычислений остаётся малоизученной. В работе ‘Numerical Kernels on a Spatial Accelerator: A Study of Tenstorrent Wormhole’ исследуется архитектура Wormhole от Tenstorrent, пространственная вычислительная платформа, предназначенная для ускорения нейронных сетей, посредством реализации трех численных ядер и их композиции в решатель сопряжённых градиентов. Показано, что оптимизированные для разреженных алгоритмов ядра демонстрируют конкурентоспособную производительность на данной архитектуре, открывая возможности для переноса традиционных HPC-задач на AI-ускорители. Какие ещё архитектурные особенности и оптимизации могут быть использованы для максимального раскрытия потенциала пространственных вычислений в научных приложениях?


Временные Препятствия в Научных Вычислениях

Многие современные научные исследования, от моделирования климата и прогнозирования погоды до разработки новых материалов и лекарственных препаратов, в своей основе требуют решения систем линейных уравнений. Эти системы, описывающие сложные физические процессы, могут содержать миллионы, а иногда и миллиарды неизвестных, что делает вычисления чрезвычайно трудоемкими. Решение таких систем — это не просто математическая задача, а ключевой этап, определяющий скорость и возможность проведения научного анализа. Например, в задачах гидродинамики, описывающих движение жидкостей и газов, необходимо решать Ax = b, где A — матрица коэффициентов, x — вектор неизвестных, а b — вектор правой части. Эффективность алгоритмов, используемых для решения этих систем, напрямую влияет на возможность получения достоверных результатов и продвижения научных знаний.

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

Потоковая Архитектура и Проектирование «Wormhole»

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

Архитектура Wormhole представляет собой конкретную реализацию, использующую локальную SRAM-память и тор-сеть-на-чипе (torus network-on-chip) для обеспечения эффективного обмена данными между вычислительными элементами. Локальная SRAM минимизирует задержки доступа к памяти, поскольку данные хранятся непосредственно вблизи вычислительных блоков. Тор-сеть-на-чипе обеспечивает короткие и предсказуемые пути передачи данных между этими блоками, используя топологию, в которой каждый вычислительный элемент соединен с четырьмя соседними. Такая конфигурация способствует высокой пропускной способности и масштабируемости системы за счет параллельной передачи данных и минимизации конфликтов при доступе к сетевым ресурсам.

В архитектуре Wormhole, для обеспечения высокой пропускной способности, функциональные блоки, такие как блок вычислений с плавающей точкой (FPU) и блок вычислений с фиксированной точкой (SFPU), оптимизированы для параллельной обработки данных. Ключевым элементом является использование кольцевых буферов, которые служат для эффективного промежуточного хранения данных между вычислительными элементами и предотвращения простоев, вызванных различиями в скорости обработки. Кольцевые буферы организованы таким образом, чтобы минимизировать задержки и максимизировать скорость передачи данных между FPU, SFPU и другими компонентами, что критически важно для поддержания высокой производительности в условиях интенсивных вычислений.

Ядро Tensix состоит из 1.5 МБ SRAM, пяти ядер RISC-V, векторного вычислительного блока (SFPU) и матричного вычислительного блока (FPU), при этом два ядра управляют обменом данными с DRAM и другими ядрами, а три - обменом данными с SRAM и вычислительными блоками.
Ядро Tensix состоит из 1.5 МБ SRAM, пяти ядер RISC-V, векторного вычислительного блока (SFPU) и матричного вычислительного блока (FPU), при этом два ядра управляют обменом данными с DRAM и другими ядрами, а три — обменом данными с SRAM и вычислительными блоками.

Оптимизация Решателей Разреженных Матриц на «Wormhole»

Вычислительные задачи, основанные на методе конечных разностей, широко применяются в различных научных областях, включая моделирование физических процессов и обработку изображений. В частности, 7-точечный фильтр (7-point stencil) является распространенным подходом для дискретизации дифференциальных уравнений в частных производных. Архитектура Wormhole предоставляет значительные преимущества для параллельного выполнения таких вычислений за счет своей способности эффективно обрабатывать потоки данных и выполнять множество операций одновременно. Это позволяет существенно сократить время решения задач, требующих большого объема вычислений, характерных для задач с разреженными матрицами.

Метод сопряженных градиентов (Conjugate Gradient, CG) является итеративным алгоритмом, широко применяемым для решения систем линейных уравнений с разреженными матрицами. Для повышения скорости сходимости и устойчивости, CG часто комбируется с методом предварительных преобразований (Preconditioned Conjugate Gradient, PCG). В качестве предварительного преобразователя эффективно использовать диагональную аппроксимацию, известную как предварительное преобразование Якоби. Данный подход заключается в замене исходной матрицы A на ее диагональную часть D, что упрощает решение системы Ax = b путем решения Dy = b и последующей коррекции решения. Комбинация CG и PCG с предварительным преобразователем Якоби обеспечивает эффективное и масштабируемое решение разреженных линейных систем, часто встречающихся в различных научных и инженерных приложениях.

Эффективная реализация решателей для разреженных матриц на архитектуре Wormhole критически зависит от оптимизированных подпрограмм для операций “произведение разреженной матрицы на вектор” (Sparse Matrix-Vector Product, SpMV) и глобального суммирования (Global Reduction). Архитектура Wormhole, благодаря своей потоковой природе (dataflow characteristics), позволяет распараллеливать вычисления SpMV, эффективно используя доступную память и минимизируя задержки. Операции глобального суммирования, необходимые для вычисления норм и других агрегированных значений, также ускоряются за счет распределения вычислений по множеству вычислительных элементов и параллельного объединения результатов. Оптимизация этих базовых операций является ключевым фактором для достижения высокой производительности при решении больших систем линейных уравнений с разреженными матрицами.

Использование блоков размером 32×32 позволяет оптимизировать перемещение данных и вычисления внутри архитектуры Wormhole. Разбиение матрицы на такие блоки снижает количество операций чтения/записи из глобальной памяти, заменяя их локальными операциями над данными, хранящимися в более быстрой памяти на чипе. Это особенно эффективно для разреженных матричных вычислений, где большая часть данных представлена нулями. Размер блока 32×32 выбран эмпирически, как оптимальный баланс между количеством локальных операций и накладными расходами на управление данными. Использование тайлов позволяет повысить степень параллелизма и, как следствие, общую производительность операций умножения разреженной матрицы на вектор и операций глобального суммирования.

Визуализация 7-точечного шаблона в tile-centric формате Tenstorrent демонстрирует, как центральный элемент (выделен фиолетовым) взаимодействует с соседними элементами внутри одного tile и на других tiles/ядрах Tensix, требуя доступа к данным с севера, юга, востока и запада.
Визуализация 7-точечного шаблона в tile-centric формате Tenstorrent демонстрирует, как центральный элемент (выделен фиолетовым) взаимодействует с соседними элементами внутри одного tile и на других tiles/ядрах Tensix, требуя доступа к данным с севера, юга, востока и запада.

Производительность и Перспективы Развития

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

Исследования показали, что использование форматов пониженной точности, таких как BF16, в блоке вычислений с плавающей точкой (FPU) способно значительно повысить производительность и снизить потребление памяти при решении задач линейной алгебры. Внедрение BF16 позволяет ускорить вычисления до двух раз по сравнению с традиционными 32-битными форматами FP32, что достигается за счет уменьшения объема данных, обрабатываемых и хранимых в памяти. Этот подход особенно эффективен в задачах, где небольшая потеря точности допустима, и позволяет добиться существенного прироста производительности без значительных изменений в архитектуре системы. Использование BF16 открывает путь к более энергоэффективным и быстрым вычислениям, что критически важно для современных высокопроизводительных приложений.

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

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

Исследование, представленное в статье, демонстрирует, что даже самые передовые архитектуры, такие как Tenstorrent Wormhole, подвержены влиянию времени и требуют постоянной оптимизации для поддержания эффективности. Как говорил Алан Тьюринг: «Изобретение машины не означает, что она должна быть идеальной, а лишь то, что она может быть улучшена». Этот принцип особенно актуален для пространственных ускорителей, где оптимизация вычислительных ядер и алгоритмов, таких как сопряженный градиент, является непрерывным процессом. Успешная реализация этих алгоритмов на Wormhole подчеркивает, что прогресс заключается не в создании абсолютного совершенства, а в постоянном стремлении к улучшению и адаптации систем к изменяющимся требованиям.

Куда Ведет Эта Тропа?

Представленные результаты, безусловно, демонстрируют способность архитектуры Tenstorrent Wormhole к решению задач, традиционно относящихся к сфере высокопроизводительных вычислений. Однако, следует помнить, что любое улучшение стареет быстрее, чем ожидалось. Успешная реализация методов, таких как сопряженный градиент, на специализированном оборудовании — это лишь первый шаг. Вопрос заключается не в том, что можно сделать, а в том, как долго эта возможность сохранится в условиях постоянно меняющихся требований и новых алгоритмических подходов.

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

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


Оригинал статьи: https://arxiv.org/pdf/2603.23343.pdf

Связаться с автором: https://www.linkedin.com/in/avetisyan/

Смотрите также:

2026-03-25 16:33