Фортран на LLVM

| рубрика: Заметки | автор: st
Метки:

Упоминая Фортран в контексте "его пользователи еще простудятся на похоронах очередного корпоративного монстра-фреймворка", я не сильно преувеличивал. Одна из проблем Фортрана -- сложный компилятор, реализовать который под каждую целевую платформу может быть экономически нецелесообразно. Следующая за этим проблема -- бинарная совместимость сгенерированного кода с модулями на Си/Си++. Поэтому в ноябре 2015 года проект LLVM (низкоуровневая виртуальная машина с промежуточным ассемблером) был выбран со стороны Министерства энергетики США для поддержки Фортрана.

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

Администрация по национальной ядерной безопасности Министерства энергетики США и компания NVIDIA объявили о сотрудничестве в области развития проекта LLVM. Участники совместного проекта намерены усовершенствовать развиваемый под эгидой LLVM компилятор для языка Fortran, обеспечив в нем поддержку массового распараллеливания вычислений с задействованием вычислительных возможностей GPU. Работу планируется завершить в 2016 году и опубликовать в виде свободного проекта. К работе будут привлечены инженеры из Ливерморской, Лос-Аламосской и Сандийских национальных лабораторий, а также разработчики из компании NVIDIA, занимающиеся развитием компиляторов PGI Accelerator, позволяющих обеспечить распределённые вычисления в кластере с задействованием GPU. В рамках нового открытого проекта планируется перенести наработки PGI Accelerator в LLVM и расширить существующий инструментарий компилятора, после чего добиться включения подготовленного кода в основной состав LLVM... LLVM вызывает большой интерес сообщества, специализирующегося на высокопроизводительных вычислениях. До сих пор использование LLVM в основном ограничивалось C/C++ компилятором Clang, в то время как многие крупные научные разработки совмещают в себе модули на языках C++ и Fortran. Усовершенствование компилятора LLVM для языка Fortran позволит использовать единый инструментарий для компиляции подобных смешанных проектов и сформирует полноценный продукт, предоставляющий полный спектр возможностей, востребованных в научных и инженерных разработках. (источники: рус, англ)

Судя по публикациям о конференции LLVM в ноябре 2016, работа еще не завершена.