AMD, ARM и TI приступили к развитию стандартов для гетерогенных вычислительных систем (CPU+GPU)
🕛 14.06.2012, 04:46
На конференции AMD Fusion Developer Summit 2012, компании AMD, ARM, Texas Instruments, Imagination и MediaTek представили новый совместный проект, в рамках которого сформирована некоммерческая организация HSA Foundation (Heterogeneous System Architecture), нацеленная на создание открытых стандартов в области гетерогенных вычислительных систем и формирование связанной с такими системами экосистемы. Целью создания подобных стандартов является упрощение процесса разработки приложений, для которых в процессе вычислений используются возможности не только CPU, но средства параллельных вычислений дискретных или интегрированных GPU. Из уже опубликованных на сайте проекта спецификаций, можно отметить документацию по архитектуре AMD IOMMUv2. Кроме того уже сформированы рабочие группы для создания стандарта на архитектуру гетерогенных систем (HSA Software Systems Architecture Specification) и написания руководства для разработчиков (HSA Programmer’s Reference Manual). Под архитектурой гетерогенных систем (HSA) понимается набор интерфейсов для организации параллельных вычислений с использованием CPU, GPU и других специализированных устройств. В рамках развития HSA также будет разработан набор компонентов для различных высокоуровневых языков программирования, сопутствующие инструменты и runtime-компоненты.
В качестве базовых технологий для разработки программ общего назначения для HSA-совместимых систем предлагается использовать расширения OpenCL и C++AMP, поддержка также будет обеспечена для платформы Fabric Engine. При этом HSA рассматривается не как альтернатива OpenCL, а как единая оптимизированная платформа, позволяющая увеличить эффективность OpenCL, который будет функционировать поверх HSA. Например, эффективность гибридных вычислений планируется увеличить за счёт минимизации числа операций по копированию памяти, минимизации задержек, улучшенной модели работы с памятью и указателями, совместно используемыми CPU и GPU. В основе HSA будет лежать специальный промежуточный язык HSAIL (Heterogeneous System Architecture Intermediate Language) и виртуальная машина, обеспечивающая его трансляцию в специфичный для разного оборудования машинный код.
Наработки HSA Foundation планируется развивать под открытыми лицензиями, а спецификации публиковать без ограничений и без сбора отчислений (royalty free). Участники организации намерены активно способствовать в продвижении технологий HSA в открытые ОС, например, обеспечить поддержку IOMMU для ядра Linux, внести улучшения в систему управления памятью, стек драйверов, код обработки исключительных ситуаций, пользовательские интерфейсы и графические драйверы. Эталонный компилятор для генерации HSAIL будет создан на основе наработок проекта LLVM. Кроме того, будут представлены открытые библиотеки шаблонов с реализацией параллельных алгоритмов и структур данных, а также такие инструменты как симуляторы.