Компания AMD представила (http://www.amd.com/en-us/press-releases/Pages/boltzmann-init... инициативу Boltzmann, в рамках которой ведётся разработка средств для организации гибридных вычислений с привлечением CPU и GPU. В частности, в рамках инициативы развивается универсальный компилятор HСC (Heterogeneous Compute Compiler), способный генерировать код для CPU и GPU на основании исходных текстов на языке C++, а также транслятор, преобразующий исходные тексты с расширениями CUDA (https://ru.wikipedia.org/wiki/CUDA). Одновременно компания AMD представила новую линейку серверных GPU FirePro S (http://www.amd.com/en-us/products/graphics/server), которые в свете предоставления возможности использования приложений на базе технологии CUDA могут составить конкуренцию компании NVIDIA в области построения высокопроизводительных вычислительных систем.Компилятор HCC продолжает развитие ранее представленного компилятора HSA (https://www.opennet.me/opennews/art.shtml?num=41864), основанного на наработках проекта LLVM/Clang. В HCC компания AMD попыталась устранить основной барьер, мешающий продвижению развиваемых в AMD технологий гибридных вычислений, - излишняя усложнённость предложенного решения. HCC даёт разработчикам более высокоуровневые средства разработки, позволяя использовать язык C++, вместо низкоуровневой разработки на Си с применением OpenCL.
В опубликованной на днях спецификации OpenCL 2.1 (https://www.khronos.org/news/press/khronos-releases-opencl-2... привязка к языку была преодолена благодаря появлению ядра OpenCL C++ и средств для использования расширений для языка C++, но OpenCL всё равно остаётся слишком низкоуровневым API, а также весьма неохотно внедряется в продуктах NVIDIA (NVIDIA ограничивается поддержкой OpenCL 1.2), что приводит к его непопулярности в среде разработчиков высокопроизводительных приложений. Компания AMD, которая продолжает верить в будущее OpenCL как единого стандарта, в компиляторе HCC попыталась найти разумный выход: разработчик получил возможность применения одного компилятора и одной кодовой базы на C++ с интегрированными расширениями HIP (Heterogeneous-compute Interface) для организации работы на CPU и GPU, без выделения в отдельные файлы компонентов, выполняемых на стороне GPU.
Параллелизм в HIP реализуется через введение специальных параллельных операций, таких как parallel_for_each, для определения выполняемых параллельно сегментов кода и методов взаимодействия с остальным кодом программы, или через использование высокоуровневого Parallel STL (Standard Template Library), развиваемого в рамках спецификаций C++ 17 и определяющего ряд стандартных функций, выполняемых на стороне GPU. Для решения проблем с совместимостью AMD разработал инструментарий для трансляции кода с расширениями CUDA, позволяющий преобразовывать CUDA-проекты в HIP для из последующей компиляции для GPU AMD и, наоборот, транслировать HIP в CUDA для GPU NVIDIA. Также представлен инструментарий HIPify для автоматического портирования исходных текстов CUDA-проектов на HIP. Таким образом удалось добиться полной совместимости с CUDA и предоставить разработчикам возможность использования уже имеющихся CUDA-программ на GPU AMD.
<center><a href="http://www.anandtech.com/show/9792/amd-sc15-boltzmann-initia... src="https://www.opennet.me/opennews/pics_base/0_1447862069.png&q... style="border-style: solid; border-color: #606060; border-width: 1px;max-width:100%;" title="" border=0></a></center>
Компания AMD также развивает специализированный 64-разрядных драйвер для Linux, ориентированный на оснащение узлов вычислительных кластеров и запуск приложений в окружении HSA+, примечательном использованием единого для CPU и GPU унифицированного адресного пространства (GPU и CPU могут напрямую обращаться к общим блокам памяти), что существенно упрощает программирование и приближает доступные для GPU AMD средства к возможностям технологии CUDA, используемой компанией NVIDIA. HSA+ дополняет стандартное окружение HSA (https://www.opennet.me/opennews/art.shtml?num=41864) (Heterogeneous System Architecture) расширениями, обеспечивающими поддержку дискретных GPU (HSA сосредоточен на APU).
URL: http://www.anandtech.com/show/9792/amd-sc15-boltzmann-initia...
Новость: http://www.opennet.me/opennews/art.shtml?num=43336