Хотя компании Heterogeneous Software Alliance (HSA) Foundation и AMD часто представляются одним целым, важно помнить о том, что наибольшим влиянием в развитии гетерогенных технологий обладает человек не из AMD. Более того, он даже не из мира настольных компьютеров. Человек, который возглавляет рабочую группу по созданию основ программирования для HSA – Чен-Пинг Лу (Chien-Ping Lu) является сотрудником успешной мобильной компании – MediaTeK – в которой он работает Старшим Директором.
Нужно учитывать любопытное различие между мирами мобильных и настольных устройств в контексте применения гетерогенных вычислений и HSA. Ожидаемые многими
Kaveri APU от AMD не смогли полностью показать свой потенциал потому, что приложения с поддержкой HSA еще очень мало распространены. С другой стороны в мобильном мире уже есть реальное движение в сторону гетерогенных вычислений, в частности со стороны MediaTek.
Мистер Лу, имеющий ученую степень Кандидата технических наук, полученную в Йельском университете, проработал почти десять лет в компании NVIDIA в качестве разработчика архитектур. Он рассказывает про другую сторону гетерогенных вычислений, о которой вы не услышите от представителей AMD. Так как Лу представляет MediaTek, он говорит о мобильном применении новой технологии, например о гетерогенной многопоточности, благодаря которой MediaTek уже получил бонусы производительности с технологией CorePilot.
Ресурсу VR-Zone удалось взять интервью у Лу и его коллеги Йохана Лодениуса (Johan Lodenius) в главном офисе компании на Тайване. В этом интервью излагается альтернативный не-AMD взгляд на гетерогенные вычисления и их применения.
Чен-Пинг Лу на семинаре AMD для разработчиков
VR-Zone: Как MediaTek начала работать с гетерогенными вычислениями?
Chien-Ping Lu: MediaTek была одной из первых компаний, которая попыталась найти дополнительные вычислительные ресурсы в пределах одного чипа. Мы уже максимально использовали вычислительные мощности процессора, поэтому, немного поискав, мы нашли «маленьких процессор» - видеокарту. В то время не существовало никаких интерфейсов программирования GPGPU. Был только OpenGL, который мы используем до сих пор.
В то время исполнение вычислений общего назначения на видеокарте не давало прироста в скорости. Поэтому мы назвали наш подход к вычислениям «с GPU ассистентом». Мы использовали графические шейдеры и естественно, что в таком подходе многое работало неэффективно. Это было больше похоже на хакерский взлом, но мы все равно заставили его работать.
С приходом MT8135 мы получили быструю графику от Imagination. Впервые мы смогли использовать OpenCL, и впервые мы узнали, что некоторые задачи выполняются на видеопроцессоре быстрее, чем на центральном процессоре. Такое открытие стало началом новой эры, которую мы назвали эрой «ускоренных GPU вычислений».
Сейчас у нас есть достаточная производительность, но ее надо постоянно увеличивать. С другой стороны нам необходимо делать наши устройства легко доступными для программистов. Использование GPU все еще похоже на «взлом» - оно долгое и утомительное. Поэтому многие программисты не хотят связываться с гетерогенными вычислениями, в частности программисты Java. Мы хотим сделать программирование для GPU доступным даже для Java программистов – это станет началом третьей эры.
Мы проанализировали рынок и поняли, что NVIDIA не сделает свой прикладной интерфейс CUDA открытым. Единственной альтернативой стала AMD. Мы обратились к ней и стали сотрудничать по ряду вопросов. AMD быстро приняла нас как одного из ключевых партнеров и предложила стать сооснователем альянса. Именно так все и началось, потому, что мы захотели вступить в «третью эру» гетерогенных вычислений.
VRZ: Как прошла ваша первая встреча с AMD? Кто кого «зацепил»?
CPL: Это было почти как любовь с первого взгляда (смеется). Я уже не помню, кто обратился к кому, но я думаю при нашей первой встрече мы «зацепили» друг друга совместной идеей.
VRZ: В каком состоянии сейчас находится HSA?
CPL: Мы наблюдаем большой прогресс. В прошлом году основной целью было сформировать и выпустить спецификации для версии 0.95. Благодаря этому мы получили не только внимание индустрии но и две награды: выбор аналитиков Linley Group за Лучшую Процессорную Технологию и Лучший Электронный Дизайн от Penton Electronics Group.
В этом году мы должны завершить два главных этапа. Мы планируем представить предварительную версию системных требований 1.0 для архитектуры в целом (это значит, что окончательные системные требования будут выпущены чуть позже) и версию 1.0 инструкции для программистов почти сразу после системных требований. Эти события станут очень важными для всего альянса компаний. Все участники альянса активно поддерживают разработку этих спецификаций.
Йохан Лодениус
VRZ: Нельзя не заметить отсутствие в альянсе HSA компаний Intel и
NVIDIA. Конечно, есть очевидные плюсы в объединении с AMD, но проявляют ли они интерес?
Johan Lodenius: Естественно, мы не знаем точно, но можно предположить, что существует несколько точек зрения. Если исповедовать подход «Система-на-Кристалле», то становится очевидно, что аппаратное обеспечение не всегда главенствует. Если же исповедовать «процессорный» подход, которого придерживается Intel, то фокус смещается как раз на аппаратные ресурсы.
CPL: HSA и CUDA конкурируют друг с другом. Я сам из NVIDIA и мой давний коллега сказал, что в NVIDIA была внутренняя дискуссия, которая не дала четкого ответа на вопрос, стоит ли NVIDIA использовать HSA. Но у них всегда есть CUDA, которая пытается решить схожие проблемы другим способом.
VRZ: Почему MediaTek стала первой компанией, которая использовала HSA? Что из ваших действий стало наиболее особенным?
JL: На самом деле все сводится к CorePilot (программа управления ресурсами процессора big.LITTLE с поддержкой Heterogeneous Multi-Processing (HMP)). От наших конкурентов часто можно услышать слова, относящиеся только к аппаратному обеспечению – процессору. Конечно, процессор очень важен, но «секретным ингредиентом» является программное обеспечение, которое управляет работой ЦПУ. Дело не в процессоре. Дело в слое, который понимает что происходит и наилучшим образом использует имеющиеся аппаратные ресурсы. Такой подход станет еще более эффективным на следующих стадиях развития HSA, когда мы станем использовать каналы DSP и
GPU.
CPL: Что касается эволюции гетерогенных вычислений, у нее будут две фазы. В конце концов, гетерогенные устройства победят, так как они являются более энергоэффективными. Но сначала нужно понизить энергопотребление процессорной части. Именно поэтому у нас есть HMP. Вам необходимо предоставить достаточно «энергетического пространства» гетерогенному устройству, для того, чтобы оно эффективно работало.
JL: Мы были первыми, потому что стали рассматривать системный аспект работы «Систем-на-Кристалле» до наших конкурентов и поняли, что дело тут не только в аппаратном обеспечении, но и в питании, нагреве и понимании как правильно распределить задачи на разные процессоры в реальном времени. Существуют три разных управляющих механизма, которые одновременно влияют на производительность: питание, температура и распределение задач.
VRZ: Как Google отреагировал на HSA?
CPL: Google сохраняет нейтралитет. Как только взор Google обращается на какую-либо технологию, она сразу же разрастается до невиданных масштабов. Поэтому Google сохраняет нейтралитет к большому числу новых технологий.
VRZ: Спасибо за ваше время.