В течение прошлого года мы видели различные патчи, опубликованные инженерами AMD с усилиями властей США по подготовке к суперкомпьютеру Frontier. Большинство из этих патчей включали обработку памяти под Linux и обработку памяти специального назначения между процессорами / графическими процессорами. В понедельник была опубликована их последняя работа по когерентному отображению памяти устройств для ядра Linux.

«MEMORY_DEVICE_COHERENT» был разработан инженерами AMD для создания суперкомпьютера Frontier, но он может быть использован в других суперкомпьютерах, и код также может представлять интерес для других поставщиков оборудования. Это последнее усилие суммируется как:

Эта серия патчей представляет MEMORY_DEVICE_COHERENT , тип памяти, принадлежащий устройствам, которые могут быть отображены в таблицы страниц процессора, такие как MEMORY_DEVICE_GENERIC, а также могут быть представлены, как MEMORY_DEVICE_PRIVATE.

Стабильность и производительность системы главные ценности при разработке технологии, заверяют в AMD.

Как это работает: Системный BIOS передает память устройства GPU (aka VRAM) как SPM (память специального назначения) в карте системных адресов UEFI.

Драйвер amdgpu регистрирует память с devmap как MEMORY_DEVICE_COHERENT, используя devm_memremap_pages. Первым пользователем этой возможности миграции аппаратных страниц является проект Frontier supercomputer. Эта функциональность не является специфичной для AMD. Мы ожидаем, что другие производители графических процессоров найдут эту функциональность полезной.

Наши тестовые узлы в лаборатории аналогичны конфигурации Frontier: 5 ТБ системной памяти плюс 256 ГБ памяти устройства разделены на 4 графических процессора, все в едином когерентном адресном пространстве. Ожидается, что миграция страниц значительно повысит эффективность приложений. Мы сообщим о результатах по мере их появления.

Фотография RNL, показывающая строящийся суперкомпьютер.

Frontier — это суперкомпьютер exascale, который в настоящее время строится для Oak Ridge National Laboatory и, как ожидается, достигнет полной мощности в этом календарном году, используя комбинацию процессоров AMD EPYC 3rd Gen и графических процессоров AMD Instinct 250X. Когерентные взаимосвязи между процессорами и графическими процессорами с помощью xGMI — это то, что видит большинство пограничных патчей поддержки Linux для приведения в порядок поддержки программного обеспечения. Frontier должен обеспечивать вычислительную производительность выше 1,5 Эксафлопс.