Упростить программирование параллельных вычислений и предоставить разработчикам программного обеспечения возможность реализовать самые смелые проекты – та цель, которую поставила перед собой AMD.
Об этом в своем выступлении на ежегодной выставке и конференции DesignCon говорил Джо Макри (Joe Macri), вице-президент и главный инженер AMD.
В настоящее время инженеры AMD работают над тем, чтобы доступ программистов к блокам ускоренной обработки (APU) был настолько же простым, как использование центральным процессором (ЦП) гетерогенной системной архитектуры (HSA).
В архитектуре HSA объединятся скалярная обработка на ЦП с параллельной обработкой на графическом процессоре. При этом будет обеспечен широкополосный доступ к памяти с малым потреблением. В то же время необходимо, чтобы эти устройства можно было легко программировать и оптимизировать, а также упростить балансирование их нагрузки.
Пересмотр отношения к использованию аппаратного обеспечения, по мнению Макри, предоставит программистам большую свободу действий. Жесткая привязка в рамках прежней концепции обработки данных лишает разработчиков ПО возможности создать решение, обеспечивающее высокую производительность системы при малом потреблении.
Блоки APU, в которых ЦП и графические процессоры работают на одном кристалле, – только начало пути. Гибридная архитектура HSA, считает Макри, де-факто станет открытым отраслевым стандартом всей индустрии. В результате у программистов появится возможность создавать приложения для многих платформ от разных поставщиков оборудования.
Архитектура HSA подразумевает использование языка C++ и графического процессора в качестве сопроцессора, унифицированного когерентного адресного пространства, параллельных рабочих циклов, параллельных программ со сгруппированными данными, программ размещения режима пользователя, приоритетного прерывания обслуживания и переключения контекста.
По словам Макри, новая архитектура HSA не станет заменой Open CL. Скорее, HSA – это оптимизированная архитектура платформы для Open CL. Ее использование на HSA позволит избежать ненужного копирования, уменьшит задержку на размещение, улучшит модель памяти и позволит обмениваться указателями между ЦП и графическим процессором.
Интерфейс программирования в архитектуре HSA имеет невысокий уровень, что облегчает управление и повышает производительность системы. В этой архитектуре сокращены многие этапы и потоки диспетчеризации, что сокращает количество процессорного времени на их прохождение.
В архитектуре HSA приложения получают возможность ставить задания процессору, не используя API и драйверов режима ядра.
При работе каждого процессора на последовательном и параллельном ядрах каждое ядро должно иметь возможность функционировать с разной производительностью, а программирование таких систем должно быть упрощенным. При этом архитектура должна поддерживать обработку больших наборов данных и задач и быть открытой.
По мнению Макри, будущее – за переходом от систем с симметричной многопроцессорной обработкой (Symmetric Multi-Processor, SMP) к открытым гетерогенным системам. Однако оно наступит не скоро.
Источник: EETimes