LINUX.ORG.RU

LLVM Foundation одобрил включение компилятора F18 в проект LLVM

 , ,


0

1

На прошедшей встрече разработчиков EuroLLVM’19 (April 8 - 9 in Brussels / Belgium), после очередного обсуждения, совет директоров LLVM Foundation одобрил включение компилятора F18 (Fortran) и его среду выполнения в проект LLVM.


Вот уже несколько лет разработчики NVidia занимались разработкой фронтэнда Flang для языка Fortran в рамках проекта LLVM. Недавно они приступили к его переписыванию с языка C на язык C++ (с использованием возможностей стандарта C++17). Новый проект, получивший название F18, большей частью поддерживает возможности реализованные проектом Flang, реализует поддержку стандарта Fortran 2018 и поддержку OpenMP 4.5.

Фонд LLVM рекомендовал рассмотреть изменение имени проекта на более приемлемое и более очевидное для новых разработчиков и списков рассылки. Также проекту F18 было рекомендовано рассмотреть возможность избавления привязки к стандарту C++17. Данное пожелание не блокирует принятие проекта в структуру LLVM, но пока мешает взаимодействию с определёнными элементами инфраструктуры проекта LLVM (например, ботами сборки и интеграцией с официальными выпусками).

>>> Подробности

★★★★★

Проверено: Shaman007 ()

Хорошая новость, Fortran отличный язычек для вычислений все же, но gfortran какой то плохенький совсем, надеюсь теперь появится хороший опенсурс компилятор!

VarfolomeyKote4ka ()

Пропустил эту конфу, к сожалению. Но новость хорошая, попробую внедрить этот фронтенд на кафедре, там много кто на Фортране пишет, один я на крестах.

DELIRIUM ★★★★★ ()
Ответ на: комментарий от VarfolomeyKote4ka

Я пытался собрать f18, но мне не хватило 4 Гб памяти в моей системе :( Остаётся надеятся, что он и flang собирает настолько же оптимизированный и быстрый код как clang.

Сама nvidia хоть и выложила код flang, а теперь f18, возможно, не очень активно занимается этими компиляторами, так как у них есть и приобретённые закрытые коммерческие компиляторы PGI, в рамках которого они развивают компиляторы для вычислений для Cuda.

gfortran, не то чтобы совсем плох, но фичи в него добавляют как-то медленно. Даже 2008 стандарт, емнип, до сих пор не реализовали.

grem ★★★★★ ()
Ответ на: комментарий от DELIRIUM

Если разживусь памятью (или просто заберу свой более мощный комп у родителей), и самое важное найду на это время, то попробую опакетить для gentoo с целью помещения в основной репозиторий. Особенно flang - у него что-то вроде релизов уже есть.

Это, кстати, не первые фронтэнд для фортрана для LLVM - уже есть заброшенный LLVM Dragonegg (Ada, C, C++, Fortran)

grem ★★★★★ ()
Последнее исправление: grem (всего исправлений: 1)

Forward compatibility is important. Fortran has outlasted many generations of computer systems hardware and software. Standard compliance notwithstanding, Fortran programmers generally expect that code that has compiled successfully in the past will continue to compile and work indefinitely. The standards sometimes designate features as being deprecated, obsolescent, or even deleted, but that can be read only as discouraging their use in new code — they'll probably always work in any serious implementation.

это очень круто. тьюринг-полный язык - это хорошо.

anonymous ()

The board also recommends that f18 evaluate (over time) whether it is reasonably possible to eliminate the dependence on C++’17 features.

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

anonymous ()

в какой версии добавят?

и главное есть ли шанс что llvm под винду будет работать без visual studio..

Slackware_user ★★★★★ ()
Ответ на: комментарий от grem

2008 в нем работает, по крайней мере все то что мне лично от него было надо)

Slackware_user ★★★★★ ()
Ответ на: комментарий от Slackware_user

LLVM можно и с помощью MinGW64 использовать, нужно указать target при сборке, например, для C:

clang -target i686-pc-windows-gnu

или
clang -target x86_64-pc-windows-gnu

grem ★★★★★ ()
Последнее исправление: grem (всего исправлений: 1)

Фонд LLVM рекомендовал рассмотреть изменение имени проекта на более приемлемое

рекомендовано рассмотреть возможность избавления привязки к стандарту C++17

Толпа охреневших луддитов и Д’Артаньянов.

WitcherGeralt ★★ ()

Фонд LLVM рекомендовал рассмотреть изменение имени проекта на более приемлемое

shlang?

ozz_is_here_again ()
Ответ на: комментарий от grem

а как сделать чтоб он сам собирал и не использовал что-либо кроме себя?:)

Slackware_user ★★★★★ ()
Ответ на: комментарий от Slackware_user

У LLVM есть такая штука

The libc++ and libc++ ABI projects provide a standard conformant and high-performance implementation of the C++ Standard Library, including full support for C++11 and C++14.

Но такое впечатление, что в бинарниках самого LLVM её нет, поэтому в виндоус он и хочет либо MSVC, либо MinGW.

А в чём проблема сборки через cmake? Разве его недостаточно просто настроить, указав компилятор и его опции?

А статус поддержки gfortran указан здесь (2003) и здесь (2008). В целом, действительно, не всё так плохо.

grem ★★★★★ ()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от WitcherGeralt

Они пишут почему у них такие пожелания.

grem ★★★★★ ()
Ответ на: комментарий от grem

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

Slackware_user ★★★★★ ()
Ответ на: комментарий от VarfolomeyKote4ka

Насчёт отличности вопрос дискуссионный, просто выбор не велик от слова совсем. Да и 100500 строк написанного легаси кода никто переписывать не будет.
Так-то математики давно переползли либо на всякие DSL в мат-пакетах типа matlab'а, scylab'а и т.д и т.п.
Либо душат питона с c/fortran либами.

А вообще конечно с фортраном сейчас выбор не большой, по сути.
Либо gfortran, либо intel fortran, за бабки.

Так что llvm'овский Фортран это хорошо.

WatchCat ★★★★★ ()
Ответ на: комментарий от grem

Нвидиа вроде в драйверах своих перешла на шланг для компиляции шейдеров, так что возможно будет всё наоборот.

anonymous ()
Ответ на: комментарий от ozz_is_here_again

shlang

Компилятор posix shell на основе llvm?

anonymous ()
Ответ на: комментарий от WatchCat

Либо gfortran, либо intel fortran, за бабки.

Есть и другие компиляторы, в том числе и за бабки, включая PGI, Oracle, NAG, Abisoft и прочее: http://fortranwiki.org/fortran/show/Compilers

Oracle и PGI CommunityEdition бесплатные даже

grem ★★★★★ ()
Ответ на: комментарий от Slackware_user

У PGI CE есть ограничение - использовать его можно только год с момента выпуска, потом требуют обновиться. Для Виндоус он ставится тол ко если есть установленный MSVS.

grem ★★★★★ ()
Ответ на: комментарий от anonymous

Не исключено, что и PGI на LLVM переведут. Вон Embarcadero компиляторы для Delphi перевела на LVMM.

grem ★★★★★ ()

А почему компилятор не на фортране?

CYB3R ★★★★★ ()

Из новости не понял: они вставят уже очищенный по рекомендациям фортран, или он пока будет «как есть»?

Vinni_Pooh ★★★★★ ()

переписыванию с языка C на язык C++

не могу понять, откуда эта тенденция.

ZERG ★★★★ ()
Ответ на: комментарий от anonymous

Ну ты посмотри на него, выставляет свою копрофилию напоказ и не стыдится.

anonymous ()
Ответ на: комментарий от ZERG

Даёшь 100500ю реализацию строк, ведь их так мало.

anonymous ()
Ответ на: комментарий от ZERG

не могу понять, откуда эта тенденция.

Как минимум, два фактора:

1. C++ тупо удобнее, мощнее и безопаснее, чем C. Чем сложнее софт, тем это отчетливее видно.

2. Количество «дидов», завещавших писать исключительно на C, с годами уменьшается по вполне естественным причинам.

eao197 ★★★★★ ()
Ответ на: комментарий от WatchCat

Насчёт отличности вопрос дискуссионный

Мне он легко дался, мне на нем легко пишется, но я не пишу много маткода.

Да и 100500 строк написанного легаси кода никто переписывать не будет.

Ну вот и зачем, столько кода набралось, бери и используй, прекрасно!

VarfolomeyKote4ka ()
Ответ на: комментарий от grem

Embarcadero компиляторы для Delphi перевела на LVMM

Кто-то ещё использует Delphi???

8-0

anonymous ()
Ответ на: комментарий от grem

Embarcadero компиляторы для Delphi перевела на LVMM

Кто-то ещё использует Delphi???

8-0

anonymous ()
Ответ на: комментарий от grem

Я пытался собрать f18, но мне не хватило 4 Гб памяти в моей системе

LTO?

kostyarin_ ()
Ответ на: комментарий от eao197

C++ тупо удобнее, мощнее и безопаснее, чем C.

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

ZERG ★★★★ ()
Ответ на: комментарий от ZERG

если руки из жопы

Вы себе даже не представляете у скольких это так. Поэтому люди бегут с C даже не на C++ и даже не Java и C#, а на Python-ы, Ruby и JavaScript. Но вот, незадача, там за безопасность приходится платить производительностью. Иногда даже переплачивать. И поэтому, дабы не давать в руки из жопы чистый C и даже C++, придумывают Rust.

Но вы можете тешить себя иллюзиями, что уж вы-то на чистом C программируете как никто. У вас-то руки из правильного места растут. Никаких сомнений.

Именно эта иллюзия и не дает вам понять, почему проекты переписывают с C на C++.

eao197 ★★★★★ ()
Ответ на: комментарий от ZERG

Много компиляторов на си написал? Большинству хватает одного, чтобы понять почему лучше взять плюсы.

anonymous ()
Ответ на: комментарий от eao197

И поэтому, дабы не давать в руки из жопы чистый C и даже C++, придумывают Rust.

Типа того, да.

А что Fortran еще использует кто-то за пределами академии?

dave ★★★★★ ()
Ответ на: комментарий от eao197

придумывают Rust.

зачем писать на расте я могу понять, но зачем писать на крестах — нет.

anonymous ()
Ответ на: комментарий от eao197

Тут новые подробности в теме о rust - в нём нет ffast-math и из-за этого выполнение кода с вычислениями медленнее в 4-5 раз. И заявления, что ffast-math не нужен и он всё ломает.

grem ★★★★★ ()
Ответ на: комментарий от anonymous

я прямо зауважал ...

Что им от вашего уважения? Долларами платите!

seiken ★★★★★ ()
Ответ на: комментарий от dave

А что Fortran еще использует кто-то за пределами академии?

ХЗ, сам я в живой природе его никогда не видел. Но слышал, что в тяжелых вычислительных задачах, которые гоняют посредством MPI на больших кластерах, Fortran жив и здоров. Скажем, в расчетах метеорологов. ЕМНИП, на CppCon несколько лет назад был доклад о том, как C++ внедряют в этой области вместо Fortran-а.

eao197 ★★★★★ ()
Ответ на: комментарий от grem

Ну так ценность Rust-а в его безопасности. Делать сегодня какую-нибудь нагруженную систему, торчащую в Интернет, на C — это мазохизм. На C++ нужно иметь хорошую команду и выстроенный процесс, но и при этом от дыр страховки нет.

Тогда как Rust будет сам бить по рукам. Как раз то, что нужно в наше время.

Ну а то, что вычислительный код там будет тормозить... Ну так не для того Rust делали, имхо.

eao197 ★★★★★ ()
Последнее исправление: eao197 (всего исправлений: 1)
Ответ на: комментарий от eao197

Но просторы вселенной больше не бороздят, используя код на Фортране, как в былые времена?

dave ★★★★★ ()
Ответ на: комментарий от dave

ХЗ, с вычислительной математикой не имел дел со времен универа. Из того, что слышал, метеорологи, геологи, физики и химики как использовали Fortran, так и используют. За счет невероятного количества качественных вычислительных библиотек, написанных в 70-80-е годы XX века.

А так-то от Fortran-а чурались еще в начале 1990-х. Так что он и тогда не бороздил.

eao197 ★★★★★ ()

 — Слава Fortran'у!
 — Goto слава!
:)

quickquest ★★★★★ ()
Ответ на: комментарий от eao197

А так-то от Fortran-а чурались еще в начале 1990-х.

А всё потому, что в начале 90х ещё толком не было реализаций fortran90 (1991), который многое упростил по сравнению с FORTRAN77 - в нём появилась динамическая работа памятью и модули (вместо common block), появилось куча встроенных функций для работы с массивами и элементы ООП, свободная форма записи. А 95 стандарт так вообще в 97 появился.

Поэтому конец 80х и 90е в области вычислений стали рассветом Си и чуть позже Си++.

Но сейчас современный Фортран даже преподают в институтах с прикладной физикой и химией, по крайней мере в Европе и США.

grem ★★★★★ ()
Ответ на: комментарий от eao197

За счет невероятного количества качественных вычислительных библиотек, написанных в 70-80-е годы XX века.

Фортрановые либы можно использовать из C

annulen ★★★★★ ()
Ответ на: комментарий от annulen

Фортрановые либы можно использовать из C

Что многие и делают :) Есть некоторые моменты, которые надо учитывать (типа столбцового формата хранения матриц в памяти), но это мелочи, по большей части.

htower_ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.