Download Simply Fortran for Apple macOS
Select Distribution:
Intel macOS
for macOS 12.0 or higher
Version: 3.21 Size: 121 MB
Build: 3595 MD5: 67359736a2dfabb6a8740d10472e4dce
Apple Silicon macOS (Experimental)
for macOS 12.0 or higher
Version: 3.21 Size: 135 MB
Build: 3594 MD5: 18f9c5ea41c0077e4fcc4dce8f629d1f
Intel Legacy macOS
for macOS 10.6.8 through 10.15
Version: 3.21 Size: 84 MB
Build: 3595 MD5: abbd9c54683dddedbe3af9110f7471df
Simply Fortran can be installed on any modern Mac system. The integrated development environment is shipped as a fully-functional thirty day trial version. Purchasing Simply Fortran will enable all features after the trial period in addition to supporting the ongoing development of Simply Fortran.
The installer includes everything you need to get started, and there’s nothing more to download!
Simply Fortran for macOS incorporates the following:
Please note that Simply Fortran does not require a network connection. It will only contact the License Server if the user has purchased a Site License.. Please see our Privacy Policy for more information.
Older Versions
Older releases of Simply Fortran are available here.
Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® architecture.
A Tradition of Trusted Application Performance
The Intel® Fortran Compiler is built on a long history of generating optimized code that supports industry standards while taking advantage of built-in technology for Intel® Xeon® Scalable processors and Intel® Core™ processors. Staying aligned with Intel’s evolving and diverse architectures, the compiler now supports GPUs.
Standards: The Path Forward
There are two versions of this compiler.
Intel® Fortran Compiler(Beta): provides CPU and GPU offload support of GPUs
Intel® Fortran Compiler Classic: provides continuity with existing CPU-focused workflows
Both versions integrate seamlessly with popular third-party compilers, development environments, and operating systems.
Features
†Initial support available in Intel® Fortran Compiler(Beta)
Development Environment Flexibility
Use the compiler in command line or in a supported IDE:
Benchmarks
Try in the Intel® DevCloud for Free
Develop, run, and optimize your code in this cloud-based development sandbox with 120 days of full access. Access samples or run your own workloads.
Access oneAPI Software
Use the Latest Intel® Hardware
Download the Toolkit
Intel® Fortran Compilers are included in the Intel® oneAPI HPC Toolkit. Get the toolkit to analyze, optimize, and deliver applications that scale.
Documentation
Specifications
Intel Fortran Compiler(Beta)
Host and target operating systems:
†† OpenMP host and offload support available only in Intel Fortran Compiler(Beta)
For more information, see the system requirements.
Intel Fortran Compiler Classic
Host and target operating systems:
†† OpenMP host support available only
For more information, see the system requirements.
Get the Single Component
A stand-alone version of this component is available.
Get Help
Your success is our success. Access these support resources when you need assistance.
For additional help, see our general oneAPI Support.
Related Products
The Intel® oneAPI DPC++/C++ Compiler is a standards-based, cross-architecture compiler that builds high-performance applications by generating optimized code for Intel® Xeon® Scalable processors, Intel® Core™ processors, and supported XPUs. It allows you to:
Customer Testimonials
«Intel Fortran Compiler outperforms GNU Fortran (GFortran) by more than 40 percent when testing various scenarios on the complex Stokes Inversion based on Response functions (SIR) numerical code on Ubuntu Linux*. Numerical results were identical between the two compilers, and saved me precious time and effort.»
— Carlos Quintero Noda, doctor of astrophysics; International Top Young Fellow, Japan Aerospace Exploration Agency (JAXA)
«Intel continues to impress me with its Intel Fortran Compiler. Having used various other Fortran compilers, and then switching to Intel® Parallel Studio XE thanks to the Intel® software academic offering, we saw immediate benefits. Our application involves a large number of scientific calculations and computations, and we saw additional performance gains with the Intel Fortran Compiler. The seamless integration of the Intel Fortran Compiler with Microsoft Visual Studio* is worth mentioning and appreciating.»
— Dan Geană, professor of Department of Applied Physical Chemistry and Electrochemistry, faculty of Applied Chemistry and Materials Science, University Politehnica of Bucharest
«I am using Intel Fortran Compiler to develop an automated forest cover identification system from digital aerial images forming stereo pairs. This system uses advanced texture and shape analysis to identify and classify the forest cover (species, density, and height) in order to produce forest inventory maps. Stereo matching is used to produce 3D digital canopy models that are subsequently analyzed by the texture and shape classification program. The advantages of Intel Fortran Compiler are:
— Jean Vezina, software developer and forest engineer
«I develop Fortran-based and Linux cluster-based applications and think [the] Intel® Parallel Studio XE Cluster Edition is a great productivity suite. It is full of very useful tools for developers of complex code who want outstanding application performance. The optimization reports from the Intel Fortran Compiler are extremely useful and take advantage of the explicit vectorization compiler features as much as possible. Intel® Math Kernel Library is a great collection of ready-to-use math libraries that speed development and application performance. Productive stuff for developers from Intel. Keep it coming!»
— Alexandre Silva Lopes, senior researcher, Centre for Wind Energy and Atmospheric Flows, University of Porto, Faculty of Engineering
«Intel has done a great job implementing OpenMP 4.0 in the Intel Fortran Compiler of Intel Parallel Studio XE. The standards support is also excellent. I have used OpenMP and the Intel Fortran Compiler in our scientific computing cluster at the University of Alcalá to add parallelism in the computation of an atmospheric radiative transfer calculation. We have reduced the time needed to analyze a scenario from two months to 12 days by implementing OpenMP with the Intel Fortran Compiler. My sincere advice is to try Intel Parallel Studio XE.»
— José Alberto Morales de los Ríos Pappa, electronics and software developer for the infrared (IR) camera in the Extreme Universe Space Observatory Onboard Japanese Experiment Module (JEM-EUSO) mission, Math and Physics Department, University of Alcalá
Installing GFortran
GFortran is the name of the GNU Fortran project. The main wiki page offers many helpful links about GFortran, as well as Fortran in general. In this guide, the installation process for GFortran on Windows, Linux, macOS and OpenBSD is presented in a beginner-friendly format based on the information from GFortranBinaries.
Windows
Three sources provide quick and easy way to install GFortran compiler on Windows:
In all the above choices, the process is straightforward—just download the installer and follow the installation wizard.
Unix-like development on Windows
For those familiar with a unix-like development environment, several emulation options are available on Windows each of which provide packages for gfortran:
All of the above approaches provide access to common shells such as bash and development tools including GNU coreutils, Make, CMake, autotools, git, grep, sed, awk, ssh, etc.
We recommend the WSL environment for those looking for a Unix-like development environment on Windows.
Linux
Debian-based (Debian, Ubuntu, Mint, etc…)
Check whether you have gfortran already installed
If nothing is returned then gfortran is not installed. To install gfortran type:
to check what version was installed type:
You can install multiple versions up to version 9 by typing the version number immediately after “gfortran”, e.g.:
To install the latest version 10 you need first to add / update the following repository and then install:
RPM-based (Red Hat Linux, CentOS, Fedora, openSuse, Mandrake Linux)
Since Fedora 22, dnf is the default package manager for Fedora:
Компилятор fortran для windows 10
This web page provides GNU Fortran, C and C++ for Windows for download. Equation Solution build the compiler.
Download self-extracting executable, and run the executable to install.
Releases | Self-Extracting File | Note | |
32-bit | 64-bit | ||
9.2.0 | gcc-9.2.0- 32.exe | gcc-9.2.0- 64.exe | Including gdb; make; OpenMP; jcl; neuLoop; laipe2 |
10.3.0 | gcc-10.3.0- 32.exe | gcc-10.3.0- 64.exe | Including gdb; make; OpenMP; jcl; neuLoop; laipe2 |
11.1.0 | gcc-11.1.0- 32.exe | gcc-11.1.0- 64.exe | Including gdb; make; OpenMP; jcl; neuLoop; laipe2 |
Snapshot, or so-called beta or experimental version, is updated on a weekly basis. But, Equation Solution make no guarantee of availability. Download self-extracting executables in the following, and run the excutable to install.
Блог F-SEPS
понедельник, 23 января 2017 г.
Ламповый теплый Fortran
Contents
Introduction
Инженер на любом языке программирования программирует на Fortran.
Это шутка, но, как обычно, только отчасти.
Fortran – старейший язык высокого уровня, задуманный изначально как FORmula TRANslator для ученых и инженеров. Fortran создавался в IBM начиная с 1954 года суровым чуваком Джоном Бэкусом.
Формально первым языком высокого уровня считается Планкалкюль (1945), компилятор которого, правда, был создан только в 2000. Fortran в 1950-х был не просто изобретен (точнее – «интуитивно нащупан»), но сразу реализован. Он – первый «по-честноку».
Благодарные ученые и инженеры активно используют Fortran до сих пор, несмотря на очевидную его моральную устарелость. (Сейчас XXI век, четвертая пятилетка). Мы тоже не исключение. На Fortran меня подсадили в 2009 году седовласые профессора кафедры «Прикладная математика» петербургского Политеха, с которыми мы вместе создавали одну нетривиальную загогулину. С тех пор слезть с него не удается никак.
Причин продолжения использования Fortran несколько:
Огромная, накопленная за пол века база инженерно-научного кода.
Скорость. Программы на Fortran – очень быстрые. Компиляторы Fortran чрезвычайно эффективны, а используемые математические библиотеки алгоритмически отточены как лезвия бритв. Кроме того, современный Fortran очень эффективно позволяет распараллеливать вычисления.
Удобство работы с матрицами и вообще с математикой. В Си-подобных языках этого можно добиться только с помощью ряда библиотек, здесь – все «из коробки».
Он простой как топор и императивный как танк. Инженеру/ученому не надо забивать голову программистскими премудростями (объектно-ориентированными или функциональными парадигмами, либо особенностями распределения памяти, указателями и т.д., и т.п.). Можно просто писать свои сладкие формулы.
Он компилируемый. Программы очень просто кому-нибудь отдавать безо всяких ваших виртуальных машин.
Как ни странно, он развивается и поддерживается. Стандарты регулярно обновляются (последний – 2015), компиляторы – совершенствуются.
На самом деле, Fortran действительно хорош для задач вычислительной математики, требующих очень высокой скорости исполнения кода с одной стороны, а с другой стороны – не слишком сложных в плане организации данных. Большинство околонаучных задач таковы. Однако, если данных все-таки много (не по объему, а по запутанности), а проект – сложен, то Fortran с удовольствием поспособствует его превращению в летающего макаронного монстра.
Если высокая скорость не требуется, лучше взять более современный язык «сверхвысокого» уровня: Python с библиотеками NumPy и SciPy или специализированный математический язык Mathematica или MatLAB (или свободные аналоги; для последнего – Octave или SciLAB ). На них разработка «научного» проекта будет в разы быстрей и прозрачней, правда все будет работать чертовки по-черепашьи.
Часто проекты так и приходится создавать в два этапа:
Реализация на быстром Fortran (или С/С++ ).
Компиляторы Fortran
Живых компиляторов Fortran сегодня, как ни странно, не меньше десятка.
Установка GFortran в Windows
На январь 2017 последняя стабильная версия GCC с GFortran – 6.3, заканчивается работа над седьмой версией.
GFortran – разумеется, кроссплатформенный. Для Windows его можно получить и установить разными способами:
То же относится и к текущей версии 4.9 GFortran в CodeBlocs (он по сути там тот же самый из TDM-GCC ).
Надеюсь, это исправят. В остальном все работает как часы.
В дистрибутивах от Ляо этой проблемы нет.
Компиляция в GFortran
Из IDE
IDE для того и нужны, чтобы не думать, а нажимать кнопочки. Все интуитивно понятно без дополнительных пояснений.
Из командной строки
Допустим, мы хотим запустить «чистый компилятор», не пользуясь IDE. Пишем программу в текстовом файле, например Hello.f08 :
Компилируем из командной строки:
Пример составлен так, чтобы смоделировать зависимости модулей друг от друга, показанные на схеме:
Компилируется такой проект, чтобы не нарушался порядок зависимостей, следующим образом:
Компиляция с GNU Make
Инструкции компиляции пишутся в текстовом файле, который обычно называется Makefile (без расширения) и располагается в папке с исходниками.
NB! Строки, в которых записаны команды, должны начинаться с символа табуляции. Пробелы здесь ставить нельзя.
Простейший Makefile для программы из одного модуля Hello.f08 (наш первый пример) может выглядеть так:
Если из рабочего каталога вызвать
то мейк отработает первую цель, а именно – скомпилирует и запустит нашу программу. При этом файл Makefile подхватится по умолчанию. Первую цель, определенную в файле, можно вызывать еще проще, написав просто
Можно также указать требуемый мейк-файл явно, тогда он может называться как нам угодно:
В главной цели all перед командой запуска файла мы указали реквизит, одноименный с названием программы:
Make – как хороший солдат, любой ценой (но желательно наименьшей), должен выполнить поставленную перед ним цель. А заключается она в исполнении команд, при этом обязательным условием перед их исполнением является наличие реквизита. В качестве реквизита основной цели мы указали необходимость достижения «дочерней» цели, правило для которой описали так:
Цели, связанные с данными реквизитами, мы описали так:
Здесь находится перевод официальной справки по GNU Make.
Здесь – хороший материал «Эффективное использование GNU Make» от Владимира Игнатова.
Некоторые опции компилятора
О расширениях исходных файлов
Подключение математических библиотек к GFortran
BLAS и LAPACK
Как подключить BLAS и LAPACK к GFortran в Windows :
Протестируем. Решим систему линейных алгебраических уравнений (СЛАУ)
Наберем в файле test.f08 :
Компилируем, подключая библиотеки lapack / refblas :
Библиотеки дядюшки Ляо
В дистрибутиве GCC профессора Ляо (с сайта www.equation.com) имеются очень неплохие библиотеки:
NEOLOOP – для параллельных вычислений;
LAIPE2 – решение СЛАУ с матрицами коэффициентов различного вида, включая симметричные положительно определенные ленточные или просто разряженные, представляющие для нас особый интерес (почему – об этом потом). Решение выполняется с распараллеливанием процессов.
JCL – перенумерация строк и столбцов разряженных матриц для приведения их к ленточной форме.
Если нужно установить эти библиотеки в другие дистрибутивы, делаем следующее:
Компиляция программ с этими библиотеками выполняется с опциями:
(Первая разрешает доллар в именах функций как у него принято, остальные просто подключают библиотеки laipe2, neuloop4, jcl ).
Чтобы подпрограммы LAIPE2 заработали, надо предварительно вызвать процедуру laipe$use с указанием числа ядер процессора, которые вы хотите использовать (иначе не «заведется» – об этом Ляо забыл написать в справке).
Библиотеки NEOLOOP и LAIPE2 работают только на Windows 7 и более старших.
IDE и редакторы для GFortran
Для серьезной работы с языком хорошо иметь как IDE, со всем богатством возможностей, так и текстовый редактор (может быть, не один), позволяющий «что-нибудь сварганить» по-быстрому или подправить. Честно говоря, я IDE почему-то запускаю реже текстового редактора, с которым намного лучше постигается Дзен.
Какие есть варианты для GFortran в Windows?
IDE Code::Blocks
На 64-разрядных машинах желательно поставить 64-разрядный компилятор GFortran (см. выше) и подключить его в качестве основного (все делается мышкой в настройках элементарно).
Вывод сообщений ваших программ не в консоль, в окно редактора (чтобы не было проблем с кодировками) можно сделать через меню Tools, создав новый инструмент, указав для него:
IDE Eclipse с расширением Photran
Eclipse – очень тяжелая штука. Я побаловался, но дальше она как-то не прижилась.
Прочие IDE
Текстовые редакторы
Не могу отделаться от ассоциации программистских текстовых редакторов с людьми разных возрастных групп.
Emacs и Vim
Седовласые старики. Очень опытные, мудрые и крутые, но найти с ними общий язык – очень сложно. Я пока не сумел, хотя пару десятков попыток делал.
Sublime Text, Atom, VS Code
Энергичные мужики. Моложавые, хипстерской внешности. На этих редакторах получается сделать «почти IDE».
Atom – открытый, мощный, но жирный и неторопливый. Использую его для некоторых других языков, Фортран как-то на нем не прижился.
Sublime Text – мой выбор. Мощный, быстрый, правда не открытый и не бесплатный (70 долларов, хотя незарегистрированной версией можно пользоваться сколько угодно).
SciTE, NotePad++, AkelPad
Эдакие продвинутые юнцы. Меленькие, легкие, дерзкие, но далеко не такие мощные, как товарищи из первых двух групп. Не «почти IDE».
С GFortran нетрудно настроить любой редактор. Привожу некоторые скриншоты работы приведенной выше программы по тестированию правильности установки LAPACK.
Литература по Fortran
Здесь – PDF-справка по GFortran. Очень неплоха. Коротко и по делу. Для работы нужен второй PDF по GCC в целом.
Здесь – очень хорошее краткое описание языка в стандарте 95 в википедии. Если вы пишете на других языках, прочитав это, станете гуру в Фортране за каких-нибудь пару часов.
Что прекрасно в Fortran
С матрицами (например, A, B, C) можно работать как с переменными:
К матрицам (поэлементно) могут быть применены любые чистые функции (как синус в примере).
Вырезки и сечения матриц:
С матрицами, вообще, множество удобных встроенных функций – практически на все случаи жизни.
Матрицы могут быть многомерными.
Вызов процедур: поддерживается перегрузка параметров, необязательные и именованные параметры.
Типы, включая комплексные числа. Удобные древовидные пользовательские типы (структуры данных).
Как ни странно, форматный ввод-вывод, к которому привыкаешь, но который я также отмечу как одно из самых ужасных свойств языка.
Что ужасно в Fortran
Современный Fortran позволяет писать более-менее сносный код, если не пользоваться устаревшими конструкциями языка, поддерживаемыми ради совместимости, например:
типизацией переменных по умолчанию на основе первых букв их имен;
разными точками входа в процедуры;
переходами goto с метками;
указателями и прочими средствами работы с памятью «напрямую» и т.д.
Не только эти, но и в принципе многие конструкции языка, конечно же, устарели. Что особенно бесит:
В Fortran нет строк переменной длины, размер строк нужно задавать явно.
Специфичны преобразования других типов данных в строку и обратно. Чтобы преобразовать, например, вещественное число r в строку str или наоборот, приходится делать это через операторы ввода-вывода:
Поскольку строки – фиксированной длины, которая обычно берется с запасом, даже при обычной конкатенации приходится строки обрезать по пробелам:
Разумеется, в Fortran нет никаких регулярных выражений и других «вкусностей», к которым в современных языках мы успели уже «прикипеть».
С другой стороны, если к этому попривыкнуть, печатать стройные красивые матрицы (а также засасывать их из текстовых файлов как исходные данные кодом в одну строку) – и в правду очень удобно.
Нет списков и вообще структур данных с изменяемой длиной «на лету». (Динамически размещаемые массивы, конечно же, есть).
Переусложненная система типов. Вещественные числа разной длины пишутся с указанием разновидности (KIND) весьма специфично:
С другой стороны, KIND можно определить на уровне директивы компилятора и везде использовать просто real и числа без этих « _8 »
Мало средств «декомпозиции и абстракции» для поддержания структуры больших проектов.
Избыточность языка, связанная с историей и совместимостью снизу вверх.
Наследуемый код, написанный за пол века «учеными и инженерами» – в подавляющей массе просто чудовищен. Чуть менее, чем весь созданный код. Почему так – загадка. Прямой вины языка в этом нет. Потемки – душа ученого.
Вместо Conclusions
В этой импровизированной статье пока не был раскрыт ключевой вопрос абстракта «как заставить себя в XXI веке писать на Fortran?».
Мейнстримовый C++ предлагает аналогичную скорость.
Лаконичный Python предоставляет неслыханную мощь и ясность/читаемость кода. Одна строчка идет за 5-10 Фортрана.
На самом деле, у меня нет разумного ответа на сакраментальный вопрос, кроме лишь одного: Fortran надо любить. Как дедушку и стареющего отца.
Каждый раз, открывая текстовый редактор с Фортраном, чувствуешь, что «подключаешься» к чему-то ретрофутуристично-прекрасному. Будущее, как видели его в 60-х годах, космические полеты, покорение звезд. Элементарные частицы, атомные реакторы. Шуршащие пленкой вычислительные машины. Папиросы профессоров «Прикладной математики». Все это преломляется в вашем редакторе, хочется открывать его еще и еще.
А на современных машинах все эти отблески проносятся с бешенной скоростью… Ну и конечно, по совокупности качеств, с чего «статья» начиналась…
Пускай в этом блоге Fortran будет отправной точкой в мир более современных решений.