Материалы по тегу: компиляторы

14.01.2020 [20:15], Алексей Степин

Компилятор AOMP для GPU AMD неожиданно получил сборки для IBM POWER

AMD внесла неожиданный вклад в развитие открытого программного обеспечения, продемонстрировав интерес к архитектурам, отличным от x86-64. 

Теперь компилятор AOMP, являющийся частью инициативы AMD Radeon Open Compute 3.0, доступен и для 64-бит процессоров IBM PowerPC. 

AOMP базируется на LLVM Clang, в котором поддержка PowerPC реализована уже давно, но всё же это заметный вклад с учётом того, какие надежды энтузиасты данной платформы возлагают на процессоры IBM POWER9, POWER10 и другие чипы, разрабатываемые на базе набора инструкций Power ISA.

Пока ускорение вычислений на этой платформе практически полностью принадлежит NVIDIA с её ускорителями Tesla V100 и T4, но появление AOMP прокладывает путь и для ускорителей AMD.

AOMP обеспечивает поддержку API OpenMP, открытого стандарта для распараллеливания программ на различных языках, таких, как C, C++ и Fortran. Стоит отметить, что в версии 0.7-6 реализована поддержка MI100. Это новый ускоритель семейства Radeon Instinct, который должен будет увидеть свет в этом году. Его основой станет новый процессор Arcturus, наследник Vega в сегменте профессиональных ускорителей AMD Radeon.

Что может означать столь явный интерес AMD к платформе POWER? Возможно, один из планируемых к запуску новых суперкомпьютеров будет базироваться именно на этой архитектуре и компания заранее стремится обеспечить себе возможность конкуренции с ускорителями NVIDIA. Но пока это лишь предположение.

Постоянный URL: http://servernews.ru/1001415
18.12.2019 [15:00], Алексей Степин

Fortran-компилятор NVIDIA Flang вольётся в LLVM 10

Компилятор языка Fortran, созданный NVIDIA, и известный сейчас под именем Flang, был принят в семью проекта LLVM ещё весной этого года.

Сейчас же стало известно о том, что Flang окончательно попадёт в основное дерево LLVM с десятым релизом, который состоится в конце февраля 2020 года. Таким образом, LLVM получит качественную поддержку «большой тройки» HPC-языков: C, C++ и Fortran.

Как сообщают зарубежные источники, Flang, ранее известный под именем f18, станет частью LLVM вовремя — то есть, до момента заморозки, которая запланирована на середину января следующего года. Дебаты по поводу окончательного названия компилятора завершились, и имя Flang принято официально, по аналогии с Clang для языков C/C++/Objective-C.

Наличие Flang в составе LLVM позволит эффективно использовать весь массив накопленного ПО на Fortran

Наличие Flang в составе LLVM позволит эффективно использовать весь массив накопленного ПО на Fortran

17 декабря в рассылке LLVM-Dev была опубликована информация о том, что в настоящее время проект Flang готовится к присоединению к моно-репозиторию LLVM. При этом разработчики планируют сохранить всю историю версий Flang — она лишь будет приведена в соответствие со стандартами LLVM. В десятой ветви LLVM Flang будет присутствовать с самого начала, пока же его исходные коды доступны в репозитории flang-compiler/f18 на GitHub.

NVIDIA Flang быстрее GCC, но медленнее PGI

NVIDIA Flang быстрее реализации Fortran в GCC8, но медленнее PGI

Важность проекта Flang сложно недооценить: Fortran с самого начала стал очень популярным языком программирования в научных кругах и за долгие годы его существования был накоплен огромный массив программного обеспечения. Благодаря Flang его можно будет эффективно использовать на современном оборудовании, включая ускорение расчётов с помощью графических процессоров NVIDIA.

Постоянный URL: http://servernews.ru/1000014
21.10.2019 [19:08], Андрей Галадей

Улучшения LLVM Clang для AMD Zen 2 задерживаются

Ещё в феврале для компилятора LLVM Clang 9.0 была заявлена начальная поддержка AMD Zen 2. Однако в релиз они до сих пор не попали, в то время как ряд оптимизаций znver2 уже появились в GCC 9.2. 

Как ожидается, планировщик и другие изменения именно для Zen 2 будут добавлены уже в LLVM Clang 10.0, то есть в начале 2020 года. Для тех же, кому не хочется ждать, можно использовать AMD Optimizing C/C++ Compiler 2.0 (AOCC), который с августа поддерживает все те же возможности для znver2. 

phoronix.com

phoronix.com

Поддержка средств разработки — одна из областей, где AMD предстоит улучшить свою работу. Intel же традиционно начинает добавлять патчи для новых микроархитектур примерно за год до выхода самих чипов. Это позволяет гарантировать, что оптимизированная поддержка будет распространяться на выпущенные версии компиляторов и дистрибутивы Linux к моменту появления процессоров на рынке. 

В частности, поддержка процессоров Tiger Lake будет и в GCC 10, и в LLVM Clang 10. Об этом стало известно в конце лета, хотя сами чипы появятся только в первой половине 2020 года. К этому моменту будут готовы и финальные релизы обоих наборов компиляторов.  

Отметим, что процессоры на архитектуре Zen 2 уже несколько месяцев присутствуют на рынке и активно отбивают у Intel всё более крупную часть продаж. В ряде стран лидируют именно «красные» процессоры, причём это касается как настольных, так и серверных решений. 

Постоянный URL: http://servernews.ru/995958
15.09.2019 [20:56], Андрей Галадей

Для NVIDIA Deep Learning Accelerator выпущен компилятор с открытыми исходниками

Два года назад компания NVIDIA представила NVDLA (NVIDIA Deep Learning Accelerator) — платформу для построения ускорителей нейронных сетей с открытыми исходниками на Verilog. 

А теперь «зелёные» добавили программный компонент, который также может похвастаться открытым исходным кодом.

edivaldobrito.com.br

edivaldobrito.com.br

Речь идёт о компиляторе для NVDLA, который предназначен для максимизации производительности и эффективности запуска нейронных сетей на данной аппаратной платформе. Теперь он тоже стал открытым, получив лицензию BSD 3-Clause. Все исходники доступны на GitHub.

Отметим, что подобный шаг не является новым для бизнеса. Уже не первый год различные IT-корпорации так или иначе переходят на open source. И в этом есть логика — сочетание работы сообщества с финансированием корпораций позволяет не только повысить безопасность ПО, но и улучшить его качество в целом.

Постоянный URL: http://servernews.ru/994060
11.09.2019 [09:17], Андрей Галадей

В LLVM включат Google MLIR для ускорения работы с ИИ

Компания Google уже не первый месяц разрабатывает MLIR — Многоуровненвое Промежуточное Представление (Multi-Level Intermediate Representation). Проект должен помочь портировать и оптимзировать ПО для машинного обучения. И теперь его добавляют в LLVM.

Разработкой MLIR занимается основатель LLVM Крис Латнер (Chris Latner), а потому слияние было лишь вопросом времени.

wikipedia.org

wikipedia.org

Заявлено, что проект поддерживает решения крупнейших компаний по разработке программного и аппаратного обеспечения: AMD, ARM, Cerebras, Graphcore, Habana, IBM, Intel, Mediatek, NVIDIA, Qualcomm Technologies, Inc, SambaNova Systems, Samsung, Xiaomi, Xilinx. 

При этом предполагается, что MLIR ускорит развитие машинного обучения и искусственного интеллекта, позволит обучать и исполнять модели на любом оборудовании, и делать это легче.

Напомним, что LLVM представляет проект инфраструктуры для создания компиляторов и сопутствующих утилит. Он включает ряд компиляторов языков для высокого уровня и способен создавать машинный код для множества архитектур.

Постоянный URL: http://servernews.ru/993866
09.09.2019 [12:39], Сергей Тверье

DARPA заинтересовалась развитием параллелизма в высокопроизводительных вычислениях

По мере того как закон Мура теряет свою актуальность, внедряются всё новые подходы к программированию с целью повышения эффективности использования оборудования при уменьшении затрат на написание кода. 

Управление перспективных исследовательских проектов Министерства обороны США DARPA запускает новый проект, направленный на максимизацию использования преимуществ массивно-параллельных архитектур с минимизацией необходимых трудозатрат.

Проект PAPPA (Performant Automation of Parallel Program Assembly — высокопроизводительная автоматизация создания параллельных программ) стремится разработать новые подходы к программированию, которые позволили бы исследователям и разработчикам приложений создавать эффективные программы для запуска на высокопараллельных и гетерогенных системах.

DARPA запускает новый проект нацеленный на развитие массово-параллельных архитектур и упрощения инструментов для работы с ними

DARPA запускает новый проект, нацеленный на развитие массово-параллельных архитектур и упрощения инструментов для работы с ними

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

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

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

Проект PAPPA должен упростить создание расспараллеленных приложений для сложных многоядерных и многопроцессорных архитектур

Проект PAPPA должен упростить создание расспараллеленных приложений для сложных многоядерных и многопроцессорных архитектур, в том числе для таких сложных задач, как моделирование физических процессов в реальном времени

PAPPA стремится повысить ставку, используя специфичные для предметной области инструменты, такие как PyTorch и TensorFlow. Теперь в рамках усилий DARPA должны появиться новые инструменты программирования, основанные на машинном обучении, которые помогут автоматизировать моделирование вычислительных систем. Автоматизация параллельного программирования также необходима для таких задач, как распределение ресурсов и управление памятью. 

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

DARPA утверждает, что её усилия будут сосредоточены на двух прикладных областях: физическом моделировании и обработке данных в реальном времени. Первое направление будет включать в себя приложения, способные рассчитывать, например, динамику жидкости в определенной среде или прогноз погоды, а также алгоритмы для работы с задачами в физике элементарных частиц. Второе же будет охватывать современные компьютерные приложения, в том числе радиолокационные и беспроводные системы связи.

Анонс программы PAPPA, запущенной DARPA во вторник (3 сентября), находится здесь. Предложения от представителей отрасли будут приниматься до 3 октября.

Постоянный URL: http://servernews.ru/993726
13.08.2019 [09:57], Андрей Галадей

Компиляторы осваивают Zen 2 и AMD EPYC Rome

Команда разработчиков инструментов GNU выпустила GCC 9.2 — новейшую стабильную версию своего набора компиляторов. В этой сборке предложен ряд изменений и улучшений по сравнению с GCC 9.1, выпущенной в мае. В частности, это поддержка оптимизаций для архитектуры AMD Zen 2 (znver2), которая позволяет улучшить результаты работы.

logodownload.org

logodownload.org

При этом отметим, что GCC поддерживает десятки процессорных архитектур, в том числе довольно редкие. А также позволяет работать с целым рядом языков программирования, включая ключевую для серверного рынка «большую тройку»: C, C++ и Fortran.

Стабильная версия GCC 9.2 доступна на официальном сайте gcc.gnu.org. Новую версию под номером 10 планируется выпустить в период с апреля по май следующего года. 

Помимо этого, AMD выпустила оптимизирующий компилятор AOCC 2.0 (AMD Optimizing C/C++ Compiler), построенный на базе LLVM 8 и поддерживающий всю ту же «большую тройку» языков. Он включает в себя дополнительные улучшения для 17-го семейства «красных» процессоров на базе архитектур Zen, Zen+ и Zen 2 и доступен для 32- и 64-разрядных Linux-систем. В комплекте поставляется матбиблиотека AMDLibM. Поддерживаются процессоры AMD Ryzen и EPYC, в том числе «Эпики» 7002

Наработки из AOCC со временем должны попасть и в основную ветку LLVM. Отметим, что Intel в последнее время тоже неровно дышит к LLVM, добавляя поддержку оптимизаций для текущих и будущих решений.

Постоянный URL: http://servernews.ru/992307
Система Orphus