

Баг или фича? Ошибка процессора NVIDIA Vera мешает работе GPU других производителей
NVIDIA выпустила процессор Vera отдельной SoC, доступную сторонним производителям как Arm-конкурент Intel Xeon и AMD EPYC. Но при работе с GPU AMD или другими могут возникнуть проблемы.
Аппаратный баг вызывает ошибки при сочетании с видеокартами или ускорителями ИИ других производителей. Проблема возникает из-за того, как контроллеры PCIe процессоров Vera генерируют адреса памяти. При определенных условиях они создают недействительные адреса, которые нарушают надежное соединение со сторонними устройствами. Это происходит во время операций записи PCIe Memory-Mapped I/O (MMIO), когда процессор пытается записать данные с частичным байтовым разрешением в область MMIO.
Проблема усугубляется, когда эти области отображаются с помощью атрибута Arm Normal Non-Cacheable памяти «MT_NORMAL_NC», что создает значительные проблемы совместимости. Поскольку Arm использует более свободный порядок памяти для обычных некэшируемых атрибутов, это может вызвать ошибку, которая приведет к неправильной генерации адресов, повреждению данных и даже сбою устройств PCIe при выполнении рабочих нагрузок с интенсивным DMA, таких как обучение искусственного интеллекта или масштабное моделирование HPC. GPU NVIDIA разработаны с учетом особенностей Vera и их специфического доступа к памяти, поэтому никаких проблем не возникает.
Как пишет TechPoverUp, NVIDIA может решить эту проблему с помощью своих аппаратно-специфических ядер Linux, которые содержат обходные пути для таких сценариев. В NV-Kernels, которые NVIDIA хранит в отдельном репозитории для развертывания своего оборудования, есть патч для ядра Linux, который превращает MT_NORMAL_NC в Device-nGnRE (non-Gathering, non-Reordering, Early acknowledgement), что обеспечивает более строгое упорядочение.
Читать на itc.ua

