FuzzyLogic
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Забавно как тема "нужности" Фортрана возникает раз за разом. Скорость исполняемого кода штука конечно хитрая, хотя факт что IF оказывается немного быстрее даже на бенчмарках (по идее это крохотные программы которые вылизаны донельзя и алгоритмы на разных языках должны быть идентичны) несколько настораживает. То что Фортран умер говорят всегда, но как-то вот появляются всё новые коды, большие и серьёзные и именно на нём. Имхо для этого есть две основные причины: 1. наследие кода и 2. хорошая читабельность. Ведь из реально необходимых для счёта инноваций с 77 стандарта - раз, два и обчёлся (типа динамического выделения памяти). Зато по сравнению с плюсами есть например прозрачная векторизация операций (кстати неуверен что эта самая векторизация происходит одинаково в ICC/IFC (это по поводу "По сути то, после АСТ бекенд сгенерирует одинаковый код, зависимый только от алгоритма") скорее всего это совсем не так, просто по причине того что в сях это реализуется несколько иначе, а уж тем паче если говорить о разнесении этого всего на omp/mpi. knkd Цитата: А гнусь-фортран с версии 4.6 и под виндой рвет всех окромя интела, да и тому на пятки наступает (: | Это опять же на кучке непонятно каких кодов. Да и преимущество Intel над скажем gcc далеко не только в компиляторе. Покажите мне приличный аналог VTune Amplifier XE, компилятор это только половина дела. Цитата: Йаваскрипт это конечнь перебор. Но вот тот же Окамл на обработке строк нередко рвет всех, от пистона и до ассемблера. | Ну строки и Фортран это из разных сказок Цитата: Вот допилят ЛЛВМ и дождетесь - Вижуал Барсик будет быстрее ИФа | Не говорите гоп Цитата: Ну это опять не сравнение фортрана с нефортраном, а сравнение процедурного штиля и ООП. Понятно что ООП медленнее. Но ведь никто не стоит за спиной с автоматом и не заставляет использовать ООП в том же ЦПП. Или же его можно использовать только для инкапсуляции, тогда оверхед в сравнении с процедурщиной отсутствует. | А какой тогда смысл в ++ если его не использовать? Да и инкапсуляция инкапсуляции рознь, если честно ещё ни разу не видел кода на Фортране где инкапсуляция бы реально пригодилась. Добавлено: Ну раз пошла «такая пьянка» кину я ещё одну «кость». Вот как бы кто решал следующую задачу? Есть штука которая считает нечто на большой сетке (2-D), сетка разбита на куски каждый из которых считается отдельно на ноде кластера (mpi). Хочется сделать вывод данных в файл – вывести переменную по всей сетке (получить целую картинку, а не просто сегменты) каждые N временных шагов. Усложняющие факторы: 1. Собрать все сегменты в один массив на одном из нодов кластера неудобно –мало памяти 2. Периодически кто-нить в кластере «падает», для чего существует чекпойнтинг, но по факту возможен вариант когда при рестарте задачи выходные файлы на разных нодах несколько рассинхронизированы (т.е. один уже записал итерацию N, а другой ещё нет). Как бы это всё хорошо реализовать технически? Формат выходного файла? Как и когда собирать? Ну итд. Если грубо, то на выходе размер массива с переменной во всей сетке - от 0.05 до 0.5TB |