IBM рассылает начальные исправления для поддержки «Dense Math» с будущими процессорами Power

IBM работает над расширением архитектуры Power10 MMA с помощью новой функции для «плотной математики», которая, как ожидается, впервые появится в будущих процессорах IBM Power.

В прошлом IBM работала над поддержкой нового компилятора для будущих итераций процессоров Power в рамках компилятора GCC. Прежде чем анонсировать процессоры следующего поколения, IBM работала над поддержкой Power10 в качестве новой цели, называемой «будущим» внутри GCC. Теперь они снова готовятся к тому, что предположительно может выкатиться как Power11.

Патч IBM называет это «потенциальной новой функцией» и снова вводит цель -mcpu=future. Есть все предостережения о «потенциальных» новых функциях, но если их инженеры уже работают над поддержкой на стороне компилятора, это уже, скорее всего, испечено. В любом случае они сейчас начали это «будущее» воспитание того, что может быть Power11. С ним они представляют новую функцию под названием PowerPC Dense Math. С IBM Power S1024 они также говорили о микроархитектуре «плотного математического движка» (DME) для ускорения машинного обучения, вывода ИИ и когнитивных вычислений. Но если эта поддержка PowerPC Dense Math аналогична поддержке Dense Math Engine в S1024, непонятно, почему они называют ее «будущим», когда DME упоминается в документах IBM с лета этого года.

IBM PowerPC Dense Math описывается в серии исправлений как:
Этот патч представляет собой очень предварительную поддержку потенциальной новой функции PowerPC, которая расширяет текущую архитектуру power10 MMA. Эта функция может присутствовать или отсутствовать в каком-либо конкретном будущем процессоре PowerPC.

В текущей подсистеме MMA для Power10 имеется 8 512-битных регистров-аккумуляторов. Каждый из этих аккумуляторов привязан к наборам из 4 регистров FPR. Когда вы запускаете основную инструкцию, она гарантирует, что аккумулятор является копией 4 регистров FPR, к которым привязан аккумулятор. Когда вы выдаете инструкцию deprime, она гарантирует, что содержимое данных аккумулятора будет логично скопировано в соответствующий регистр FPR.

В потенциально плотной математической системе аккумуляторы перемещаются в отдельные регистры, называемые плотными математическими регистрами (регистры DM или DMR). Затем DMR расширяются до 1024 бит, и добавляются новые инструкции для работы со всеми 1024 битами DMR.

Если вы возьмете существующий код MMA, он будет работать до тех пор, пока вы ничего не делаете с аккумуляторами и следуете правилам документации ISA 3.1 по использованию подсистемы MMA.

Эти исправления добавляют поддержку 512-битных аккумуляторов в плотной математической системе и для распределения 1024-битных DMR. В настоящее время не будет выполняться никаких дополнительных встроенных функций для поддержки каких-либо плотных математических функций, кроме перемещения данных между регистрами DMR и VSX. Прежде чем мы сможем рассмотреть возможность добавления какой-либо новой плотной математической поддержки, кроме перемещения данных, нам нужно, чтобы компилятор GCC мог выделять и использовать эти DMR.

Если это для Power11, ожидайте, что больше патчей, помимо этой работы PowerPC Dense Math, будут продолжать выходить. См. эту серию исправлений для ранней работы с PowerPC Dense Math для GCC и добавления цели -mcpu=future.
Поделиться:

Похожие публикации

Тут ничего нет

Нет комментариев