The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Опубликована спецификация гетерогенных вычислительных систем HSA 1.0

17.03.2015 21:52

Организация HSA Foundation, учреждённая компаниями AMD, ARM, Samsung, Qualcomm, Texas Instruments, Imagination и MediaTek, представила спецификацию HSA 1.0 (Heterogenous System Architecture), определяющую архитектуру, набор runtime-компонентов и программные интерфейсы гетерогенных вычислительных систем. Архитектура HSA определяет работу оборудования. Программные интерфейсы предназначены для разработчиков ПО, инструментариев и компиляторов. Спецификация на runtime, определяет как приложения должны взаимодействовать с платформами HSA.

HSA позволяет наладить совместную работу CPU, GPU и различных DSP-процессоров, и организовать гибридные вычисления, в которых подходящее вычислительное устройство выбирается в прозрачном режиме в зависимости от задачи. HSA позиционируется как единая оптимизированная платформа, поверх которой может функционировать OpenCL и OpenMP. Особенностью HSA является то, что CPU и GPU имеют доступ к единым областям памяти, что упрощает организацию работы гибридных приложений и минимизирует число операций по копированию памяти. Например, GPU и CPU могут напрямую работать с общим блоком памяти приложения по аналогии с работой с памятью в многопоточных программах. Спецификации охватывают также методы отображения виртуальной памяти, обеспечения когерентности памяти и передачи сообщений.

В основе HSA лежит специальный промежуточный язык HSAIL (Heterogeneous System Architecture Intermediate Language) и финализатор, обеспечивающий его трансляцию в машинный код, специфичный для разного оборудования. Финализатор может может использоваться как для статической компиляции HSAIL во время сборки приложения, так и в процессе выполнения или загрузки приложения. Компоненты для использования HSA реализованы для различных высокоуровневых языков программирования, в том числе для С, C++, Java и Python.

Связанные с платформой наработки, в том числе симулятор набора инструкций HSAIL, эталонный runtime и runtime для APU AMD, основанный на LLVM компилятор в HSAIL, компилятор OpenCL в HSAIL, инструментарий для разбора, ассемблирования и дизасемблирования HSAIL опубликованы под свободными лицензиями на GitHub. Драйвер "AMD KFD", предоставляющий интерфейс HSA для использования вычислительных возможностей графических процессоров и APU AMD, уже включен в состав ядра Linux 3.19.

  1. Главная ссылка к новости (http://www.hsafoundation.com/h...)
  2. OpenNews: Компания AMD представила новую стратегию разработки графических драйверов для Linux
  3. OpenNews: Компания AMD обеспечит задействование GPU для ускорения вычислений в LibreOffice Calc
  4. OpenNews: AMD планирует предоставить полностью открытый стек для гетерогенных вычислительных систем (CPU+GPU)
  5. OpenNews: AMD, ARM и TI приступили к развитию стандартов для гетерогенных вычислительных систем (CPU+GPU)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/41864-hsa
Ключевые слова: hsa, gpu, cpu
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (30) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 22:13, 17/03/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А это видеокарты умеют или только встроенные в процессор видеоядра?
     
  • 1.2, MPEG LA (ok), 23:05, 17/03/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    может хоть BIOS/EFI для ARM стандартизируют..
     
     
  • 2.3, Аноним (-), 00:26, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Пусть берут Coreboot лучше и допиливают при необходимости под все доступные варианты ARMов.
     
     
  • 3.5, Аноним (-), 01:07, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Пусть берут Coreboot лучше и допиливают при необходимости под все доступные варианты ARMов.

    U-boot сто лет как есть под большинство SoC. Даже допиливать ничего не надо особо.

     
  • 2.4, Аноним (-), 01:06, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >  может хоть BIOS/EFI для ARM стандартизируют..

    Соскучился по проприетарной сpaни с троянами и забагованными win-only интерфейсами, которые работают по принципу "винда вроде грузится"?

     
     
  • 3.7, Петруччо (?), 08:59, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • –8 +/
    Windows это стандарт, и от него никуда не деться.
    P.S. Windows откуда угодно загрузится, в отличии от кое-каких некторых других ОС;-)
     
     
  • 4.9, Аноним (-), 09:30, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Windows откуда угодно загрузится, в отличии от кое-каких некторых других ОС;-)

    Даже оттуда, где DeviceTree вместо ACPI?

     
  • 4.11, Аноним (-), 10:03, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Windows это стандарт

    Вы искренне заблуждаетесь сами и вводите в заблуждение других, распространяя мифы. Операционная система Windows не стандартизована. В отличие от Windows операционная система Linux стандартизована по стандарту ISO/IEC 23360-1:2006.

     
     
  • 5.25, Аноним (-), 15:51, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Стандарт LSB критикуют за то, что он не принимает предложения проектов, в особенности Debian, находящихся за пределами круга его членов.
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    К примеру, LSB предписывает поставлять программные пакеты (packages) в формате RPM, который был разработан гораздо позже формата deb, однако разработчики Debian не собираются менять свой формат, так как считают его лучше RPM.
    Стандарт не навязывает операционным системам, какой формат им использовать для собственных пакетов. Он лишь говорит, какой формат совместимые системы должны поддерживать для установки приложений сторонних разработчиков.
     
     
  • 6.26, Аноним (-), 16:48, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема? Alien Вам в помощь.
     
  • 4.13, Anonim (??), 10:43, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >Windows откуда угодно загрузится, в отличии от кое-каких некторых других ОС;-)

    Ты только не говори это разработчикам NetBSD, а то помереть со смеху могут...

     
  • 4.14, Аноним (-), 11:01, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Петруччо, Linux запускается на 95% всех устройств в мире (в том числе всякие MIPS'ы), в отличие от Win, который работает на очень узком наборе оборудования. Подтягивай матчасть.
     
  • 4.28, Аноним (-), 20:49, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    На MIPS роутере с 32мб озу загрузится?
    С RasberiPI загрузится? Ведь ARM оно поддерживает...
     
  • 3.8, Аноним (-), 09:29, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    EFI открыт.
     
     
  • 4.12, Аноним (-), 10:07, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > EFI открыт.

    Что Вы имеете в виду под EFI? Путаете технологию и наименование системы/программы. Есть BIOS, нет никакого EFI - посмотрите, что пишет Ваш компьютер при загрузке.

     
  • 3.10, Andrey Mitrofanov (?), 10:02, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >>  может хоть BIOS/EFI для ARM стандартизируют..
    > Соскучился по проприетарной сpaни с троянами и забагованными win-only интерфейсами,

    Тёплые волны отмены и ломки захлестнули его. В новости по HSA/AMD/ARM. Странно, что невидию не вытащил и не помахал перед толпой. //Впрочем, да, квалком, имаджинейшн, медиатек. С такими друзьями, можно невидию и не вспоминать.

     
     
  • 4.17, asavah (ok), 13:04, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Впрочем, да, квалком, имаджинейшн, медиатек. С такими друзьями, можно невидию и не вспоминать.

    Да уж, с такими друзьями - враги отдыхают.

     

  • 1.6, Аноним (6), 01:15, 18/03/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Qualcomm inside. Одобряю
     
  • 1.16, fidaj (ok), 12:53, 18/03/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Подобные вещи BeOS уже умела в далеком 1995... если не ошибаюсь.
     
     
  • 2.18, Аноним (-), 13:12, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Ошибаешься
     
     
  • 3.19, fidaj (ok), 13:25, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Ошибаешься

    http://comhelp.narod.ru/main/beosnew.htm
    до перехода на PowerPC - BeOS кроме основного процессора использовала DSP процессоры в том числе для вывода звука и графики - чем не гетерогенная система?

     
     
  • 4.20, Аноним (-), 14:07, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Ты и на линукса можешь подключать внешние dsp-шки (аля тот же майнинг на ранней стадии). HSA же это общая платформа для n типов устройств (сейчас насколько я понял cpu,gpu,dsp) для решения "generic" задач (смотри: "в которых подходящее вычислительное устройство выбирается в прозрачном режиме в зависимости от задачи."). В случае BeOS, он(dsp) как бы выполнял ряд узкоспециализированных задач, тогда как HSA больше похоже на след. шаг после OpenCL. (аля собираем устройства в контекст, пишем код (там задаем __kernel бла-бла-бла для точки входа) (объекты, очереди, и прочее опускаю). Так вот, описанное ядро(написанный CL код) можно одинаково выполнить как на CPU так и на GPU). Так вот, если в OpenCL ты задаешь на каком устройстве код будет выполняться, то hsa это уже все берет на себя сама (можешь загуглить например hsa bolt library).
    Например ты написать на hsail код для cpu, потом на том же hsail написать вертексный шейдер и.т.д.
    Надеюсь я понятно написал, сам себя понял, понимаю данный топик...
     
     
  • 5.21, fidaj (ok), 14:25, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    > задач, тогда как HSA больше похоже на след. шаг после OpenCL.
    > (аля собираем устройства в контекст, пишем код (там задаем __kernel бла-бла-бла
    > для точки входа) (объекты, очереди, и прочее опускаю). Так вот, описанное
    > ядро(написанный CL код) можно одинаково выполнить как на CPU так и
    > на GPU). Так вот, если в OpenCL ты задаешь на каком
    > устройстве код будет выполняться, то hsa это уже все берет на
    > себя сама (можешь загуглить например hsa bolt library).
    > Например ты написать на hsail код для cpu, потом на том же
    > hsail написать вертексный шейдер и.т.д.
    > Надеюсь я понятно написал, сам себя понял, понимаю данный топик...

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

    например http://qube.ru/news/beos_jubilej_10 OR http://www.osnews.com/story/7265:
    "Это единственный известным мне скриншот версии “shark” BeOS, 0.99–EXP (1994) на машине H0bb1t (в ней использовались 6–7 AT&T DSP–процессоров вместо обычных CPU)."
    "Here is the only known screenshot of the "shark" version of BeOS, 0.99-EXP from 1994 running on a H0bb1t machine (which used 6-7 AT&T DSPs instead of regular CPUs)."

    DSP - вместо CPU - это разве узкоспециализированные задачи? понятия GPU тогда еще в природе не было.

    BeOS как раз и брала на себя функцию выбирать на каком из них что делать.

    Но для этого от программиста не нужно знать никаких специфических для этого языков программирования - ОСь сама этим всем занималась. + ни под какие другие сущности не нужно было переписывать и адаптировать код.

     
     
  • 6.22, Аноним (-), 14:42, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    "на линуксе это с какого года стало возможным? я именно подчеркнул год, когда  это уже использовалось."

    насчет OpenCL/CUDA то давно уже через блоб (2010-2011 год, где то так). HSA: "Драйвер "AMD KFD", предоставляющий интерфейс HSA для использования вычислительных возможностей графических процессоров и APU AMD, уже включен в состав ядра Linux 3.19." Но там требования конечно. CPU с ядром kaveri. GPU: GCN. На счет остального не знаю.

    "Это единственный известным мне скриншот версии “shark” BeOS, 0.99–EXP (1994) на машине H0bb1t (в ней использовались 6–7 AT&T DSP–процессоров вместо обычных CPU). " - окей, что насчет расширяемости. Если добавить туда еще десяток другой вычислительных устройств (я понимаю что это хардварно не возможно для того времени, но мы абстрагируемся). Сможет ли BeOS работать правильно без изменения кода, и оптимизировать все под различные устройства?

     
     
  • 7.23, fidaj (ok), 14:58, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    > насчет OpenCL/CUDA то давно уже через блоб (2010-2011 год, где то так).
    > HSA: "Драйвер "AMD KFD", предоставляющий интерфейс HSA для использования вычислительных
    > возможностей графических процессоров и APU AMD, уже включен в состав ядра
    > Linux 3.19." Но там требования конечно. CPU с ядром kaveri. GPU:
    > GCN. На счет остального не знаю.
    > "Это единственный известным мне скриншот версии “shark” BeOS, 0.99–EXP
    > (1994) на машине H0bb1t (в ней использовались 6–7 AT&T DSP–процессоров вместо
    > обычных CPU). " - окей, что насчет расширяемости. Если добавить туда
    > еще десяток другой вычислительных устройств (я понимаю что это хардварно не
    > возможно для того времени, но мы абстрагируемся).

    расширяемость это уже другой вопрос. в топике с расширяемостью тоже не все очевидно и понятно.

    > Сможет ли BeOS работать
    > правильно без изменения кода, и оптимизировать все под различные устройства?

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

     

  • 1.24, Аноним (-), 15:05, 18/03/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Какого уровня это виртуализация? Это - не гипервизор, насколько я понимаю?
     
     
  • 2.27, Andrey Mitrofanov (?), 18:07, 18/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Какого уровня это виртуализация? Это - не гипервизор, насколько я понимаю?

    --Я свидетель! А где здесь "виртуализация"?

     
     
  • 3.29, Аноним (-), 08:53, 19/03/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кагбэ, если программная прослойка выполняет функции упрощения работы пользовательского(?) ПО с железом, то это, на мой взгляд, виртуализация оборудования. Вопрос: топик - это гипервизор, в котором можно запустить ядро ОС, или фреймворк для разработки пользовательского ПО?
     
     
  • 4.30, Crazy Alex (ok), 13:59, 19/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Фреймворк. И виртуализация (т.е. предоставление приложению "псевдо-устройства") там и рядом не лежала
     
     
  • 5.31, Аноним (-), 14:39, 19/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Фреймворк. И виртуализация (т.е. предоставление приложению "псевдо-устройства") там
    > и рядом не лежала

    То есть, в коде приложения будет вызов вида HSA.math("2 * 2"), а реализация HSA выберет физическое устройство для вычисления результата самостоятельно?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру