Проект LLVM представил HPVM 1.0, компилятор для CPU, GPU, FPGA и ускорителей
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Разработчики проекта LLVM опубликовали выпуск компилятора HPVM 1.0 (Heterogeneous Parallel Virtual Machine), нацеленного на упрощение программирования для гетерогенных систем и предоставляющего средства для генерации кода для CPU, GPU, FPGA и предметно-ориентированных аппаратных ускорителей (поддержка FGPA и ускорителей не вошла в выпуск 1.0). Код проекта распространяется под лицензий Apache 2.0.
Основная идея HPVM в том, чтобы использовать при компиляции унифицированное представление параллельно выполняемых программ, которое может применяться для выполнения с использованием различных видов оборудования, поддерживающего распараллеливание вычислений, включая GPU, векторные инструкции, многоядерные процессоры, FPGA и различные специализированные чипы-ускорители. В отличие от других систем в HPVM попытались совместить три возможности для организации гетерогенных вычислений: независимое от языка программирования и оборудования промежуточное представление, виртуальную архитектуру набора команд (ISA) и планирование во время выполнения (runtime scheduling).
Применяемое в HPVM независимое от целевой системы промежуточное представление (IR) основано на промежуточном представлении инструкций LLVM 9.0 и расширяет его иерархическим графом потоков данных, позволяющим охватывать параллелизм на уровне задач, данных и вычислительных конвейеров. Промежуточное представление HPVM также включает векторные инструкции и разделяемую память. Основной целью применения промежуточного представления является эффективная генерация кода и оптимизации для гетерогенных систем.
Виртуальная архитектура набора команд (ISA) позволяет добиться переносимости между разными типами оборудования для параллельных вычислений и даёт возможность не терять производительность при использовании разных элементов гетерогенных систем. Виртуальная ISA также может применяться для поставки универсального исполняемого кода программ, который может запускаться с привлечением CPU, GPU, FPGA и различных ускорителей.
На текущем этапе развития в HPVM предложены генераторы кода, способные транслировать узлы приложений, определённые при помощи виртуальной ISA, для выполнения с использованием GPU NVIDIA (cuDNN и OpenCL), векторных инструкций Intel AVX и многоядерных CPU x86. Во время выполнения HPVM применяет гибкие политики планирования вычислительного процесса, реализуемые как на основе информации о программе (структуры графа), так и через компилирование отдельных узлов программы для выполнения на любом из целевых вычислительных устройств, доступных в системе.
Отмечается, что применение HPVM позволяет добиться существенного прироста производительности. Производительность результатов работы трансляторов HPVM сопоставима с написанным вручную кодом OpenCL для GPU и векторных вычислительных устройств.
По сравнению с первым предварительным выпуском версия HPVM 1.0 включает поддержку тензорных операций линейной алгебры, фронтэнды для Pytorch и Keras, аппроксимации свёрточных операторов и фреймворк для настройки аппроксимации, автоматически выбирающий оптимальные апроксимации для определённых тензорных операций и выбирающий конфигурацию, обеспечивающую оптимальную производительность.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://lists.llvm.org/piperma...)
- OpenNews: Релиз набора компиляторов LLVM 11.0
- OpenNews: Опубликована спецификация гетерогенных вычислительных систем HSA 1.0
- OpenNews: Для ядра Linux развивается система распределённого выполнения потоков Popcorn
- OpenNews: Микроядро seL4 математически верифицировано для архитектуры RISC-V
- OpenNews: Представлен RV64X, открытый GPU на базе технологий RISC-V
Похожие новости:
- [Высокая производительность, Компиляторы, Процессоры, Криптовалюты, Суперкомпьютеры] Мультиклеточная архитектура: тесты и развитие
- [Системное программирование, Компиляторы, Машинное обучение, Интервью] Ускоряем нейросеть на уровне железа: интервью с разработчиком компиляторов
- [Программирование, Разработка мобильных приложений, Разработка под Android, Kotlin] Влияние data-классов на вес приложения
- [Высокая производительность, Python, Компиляторы] Как скомпилировать Python
- [Программирование, C++] C++17. Функция стандартной библиотеки std::launder и задача девиртуализации
- Выпуск системной библиотеки Glibc 2.33
- [Программирование, Java, API, Хакатоны] Тривиальная и неправильная «облачная» компиляция
- Из Mesa удалён драйвер программной отрисовки swrast
- [Программирование, Компиляторы, D] Самый быстрый компилятор aka compiler-benchmark (перевод)
- Релиз набора компиляторов LLVM 11.0
Теги для поиска: #_hpvm, #_llvm, #_compiler
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 24-Ноя 19:15
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Разработчики проекта LLVM опубликовали выпуск компилятора HPVM 1.0 (Heterogeneous Parallel Virtual Machine), нацеленного на упрощение программирования для гетерогенных систем и предоставляющего средства для генерации кода для CPU, GPU, FPGA и предметно-ориентированных аппаратных ускорителей (поддержка FGPA и ускорителей не вошла в выпуск 1.0). Код проекта распространяется под лицензий Apache 2.0. Основная идея HPVM в том, чтобы использовать при компиляции унифицированное представление параллельно выполняемых программ, которое может применяться для выполнения с использованием различных видов оборудования, поддерживающего распараллеливание вычислений, включая GPU, векторные инструкции, многоядерные процессоры, FPGA и различные специализированные чипы-ускорители. В отличие от других систем в HPVM попытались совместить три возможности для организации гетерогенных вычислений: независимое от языка программирования и оборудования промежуточное представление, виртуальную архитектуру набора команд (ISA) и планирование во время выполнения (runtime scheduling). Применяемое в HPVM независимое от целевой системы промежуточное представление (IR) основано на промежуточном представлении инструкций LLVM 9.0 и расширяет его иерархическим графом потоков данных, позволяющим охватывать параллелизм на уровне задач, данных и вычислительных конвейеров. Промежуточное представление HPVM также включает векторные инструкции и разделяемую память. Основной целью применения промежуточного представления является эффективная генерация кода и оптимизации для гетерогенных систем. Виртуальная архитектура набора команд (ISA) позволяет добиться переносимости между разными типами оборудования для параллельных вычислений и даёт возможность не терять производительность при использовании разных элементов гетерогенных систем. Виртуальная ISA также может применяться для поставки универсального исполняемого кода программ, который может запускаться с привлечением CPU, GPU, FPGA и различных ускорителей. На текущем этапе развития в HPVM предложены генераторы кода, способные транслировать узлы приложений, определённые при помощи виртуальной ISA, для выполнения с использованием GPU NVIDIA (cuDNN и OpenCL), векторных инструкций Intel AVX и многоядерных CPU x86. Во время выполнения HPVM применяет гибкие политики планирования вычислительного процесса, реализуемые как на основе информации о программе (структуры графа), так и через компилирование отдельных узлов программы для выполнения на любом из целевых вычислительных устройств, доступных в системе. Отмечается, что применение HPVM позволяет добиться существенного прироста производительности. Производительность результатов работы трансляторов HPVM сопоставима с написанным вручную кодом OpenCL для GPU и векторных вычислительных устройств. По сравнению с первым предварительным выпуском версия HPVM 1.0 включает поддержку тензорных операций линейной алгебры, фронтэнды для Pytorch и Keras, аппроксимации свёрточных операторов и фреймворк для настройки аппроксимации, автоматически выбирающий оптимальные апроксимации для определённых тензорных операций и выбирающий конфигурацию, обеспечивающую оптимальную производительность. =========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 24-Ноя 19:15
Часовой пояс: UTC + 5