Установление HSAIL: AMD объясняет будущее сотрудничества ЦП/GPU

Инициатива неоднородной архитектуры системы (HSA) AMD была устойчивым интересом, так как компания сначала начала говорить о процессорах «Fusion» в 2007. Сегодня, в международных Hot Chip вычислительная технологическая конференция, компания сделала доклад, который разметил подробные данные позади того, что его Основа HSA разработала и язык, который приводит в действие технологию, названный HSAIL (Промежуточный язык HSA).Лучше запускаться с основного обзора проблемы.

Несмотря на популярность OpenCL и прямые инвестиции Nvidia сотен миллионов долларов в его продукты Тесла и программное обеспечение CUDA, фактической задачей движущейся работы от ЦП до GPU, выполняя его, и возвращая его снова является все еще гигантская головная боль. Самое простое объяснение проблемы – это: Для большей части истории тренд в вычислениях должен был переместить задачи в Центральный процессор, который тогда выполнит их. Игры являются фактически единственной рабочей нагрузкой, которая сопротивлялась этой тенденции (углубляющий GPU – умирают, не та же вещь как программирование игры для работы ЦП).

После десятилетий перемещения рабочих нагрузок к ЦП, разрабатывая систему, которая кладет обратно их снова и делает GPU, равноправный партнер является сложным обязательством. Аппаратная сторона совместимости HSA решает эту проблему, указывая много возможностей, которые объединенная система GPU ЦП должна иметь для усиления неоднородный, вычисляют.

ЦП и GPU должны совместно использовать единый набор записей таблицы страниц, они должны позволить и ЦП и GPU к отсутствию страницы (и использовать то же адресное пространство), система должна быть в состоянии поставить команды в очередь для выполнения на GPU, не требуя, чтобы ядро ОС выполнило задачу, GPU должен быть способен к переключающимся задачам независимо, и оба устройства должны быть способны к обращению к тому же когерентному блоку памяти.HSAIL разработан для обращения к стороне программного обеспечения уравнения.

HSAIL: это не APIThis, достаточно большая точка беспорядка, в котором я хочу обратиться к нему вначале. HSAIL является промежуточным языком перевода, это создается во времени выполнения и отображается на ISA поставщика оборудования. Это – секретный соус, который позволяет многократным поставщикам как Воображение, ARM, AMD и Qualcomm получать преимущества от технологии, даже при том, что у каждого из них есть совсем другие аппаратные средства GPU. Идея состоит в том, что Вы пишете код на своем предпочтительном языке (C++, AMP, OpenCL, Java, или Python все перечислен), и тот код тогда компилируется, чтобы предназначаться для HSAIL и работать независимо от того, что GPU интегрирован в систему.

Преимущество для HSAIL, согласно AMD, состоит в том, что это не потребует, чтобы программисты выучили совершенно новые языки. Если Вы знакомы с OpenCL, используйте OpenCL. Все еще может быть некоторое перекрытие между возможностями HSAIL и часть из того, что поддерживает OpenCL 2.0, но HSAIL явно разработан для упрощения программирования для GPUs некоторыми критическими способами.

Это также открывает возможность ускоряющихся языков как Java на GPU, хотя снова, это делает требует, чтобы сам Java был способен к отображению хорошо на видеокарту. У этой гидры есть много голов.Центральная идея, как показано выше, состоит в том, что HSAIL-способный аппаратный блок не должен быть x86-совместим, или основан на GCN или связанный с любой другой определенной архитектурой. Это означает, что Воображение может выполнить код точно так же как Qualcomm, по крайней мере при условии, что каждая компания делает свои собственные записи драйвера.

Однако, нагрузка не находится на программисте для этого, и это – главное преимущество.Что относительно игр? Это – довольно сложный вопрос.

То, что мы вызываем «игры», является точно невероятно сложным потоком данных между ЦП, GPU, оперативной памятью и подключенной системой хранения. Центральные процессоры и GPUs должны были всегда связываться, но для большей части истории, та коммуникация была асинхронной и быстрой только в одном направлении.

Исторически, коммуникация GPU ЦП была довольно неравномерна, как ниже демонстрирует диаграмма.Та диаграмма показывает пропускную способность Льяно для ЦП и GPU при доступе к различным типам памяти. Это неравномерно, потому что это отражает неустойчивость между типичным ЦП и пропускной способностью GPU к различным частям оперативной памяти.

Эти неравномерные связи могут быть увеличены, и задержка может быть сокращена – точка показа их здесь должна проиллюстрировать, что это широко иллюстрирует статус-кво, что разработчики привыкли работать с в течение многих десятилетий. Игры были исторически разработаны для выполнения хорошо в определенном типе конфигурации.

HSA имеет потенциал для изменения этого, но разработка программного обеспечения всегда изолирует аппаратные средства.Это не означает, что HSA не будет важен или что он не может повысить производительность игры.

Одно из выделений областей AMD – то, что исторически, в то время как GPUs использовались, чтобы ускорить и улучшить игровую физику, большая часть той обработки была строго косметической. PhysX Nvidia допускает великолепные дисплеи дополнительной услады для глаз, но та услада для глаз не повлияла на фактическую игру. Одна из вещей, которые выделения AMD в его презентации – то, что физика в игре является вычислить проблемой – и HSA, может очевидно быть эффективно использована для создания намного более сильного опыта.Там будут преимуществами для HSA в играх, но данные предполагают, что эти преимущества могут занять время для появления – механизмы физики должны быть разработаны для передачи данных назад и вперед, HSAIL должен поставить, и перемещающийся в новую модель программирования собирается занять время.

На данный момент фокус находится на использовании HSAIL для, вычисляют задачи, который является, почему большинство компаний, которые объявили о поддержке HSA, сфокусировано на высокоэффективных вычислениях.Создание GPUs, более программируемого и применимого, имеет последствия для мобильного телефона и для сложных задач как распознавание лиц и обработка естественного языка.

Цель AMD с HSAIL и HSA состоит в том, чтобы служить общей основой, которая может ускорить много задач, но дорога к играющему использованию может быть более сложной, чем для других областей, где центральные процессоры и GPUs не имеют фактически никакой истории совместного использования данных, и цель состоит в том, чтобы позволить GPU быть эффективно использованным во-первых.


Блог Александрии