Мы рекомендуем пользователям также попробовать другие компиляторы с открытым исходным кодом и коммерческие компиляторы. В данном руководстве мы сосредоточимся на тех, что доступны бесплатно для установки и использования. В настоящее время компилятор поддерживает платформы Linux и архитектуры x86_64, ppc64le и aarch64.
Инструменты Сборки#
IBM® XL Fortran for Linux – это инструмент программирования на основе отраслевых стандартов, используемый для разработки больших и сложных приложений на языке программирования Fortran. Он генерирует код, использующий возможности новейшей архитектуры POWER9 и максимально эффективно использующий ваше оборудование. IBM XL Fortran for Linux оптимизирует вашу инфраструктуру на IBM Power Systems™ для поддержки масштабных численных, научных и высокопроизводительных вычислений. Компиляторы NVIDIA HPC SDK для языков C, C++ и Fortran, изначально компиляторы PGI, поддерживают GPU-ускорение приложений HPC моделирования и симуляци с помощью стандартных C++ и Fortran директив OpenACC® и CUDA®.
Установка Gnu Fortran На Home Windows 10
Наряду со стандартными для Linux компиляторами GNU,на кластерах вычислительного комплекса НИВЦустановлены компиляторы Intel C++ и Fortran. На настоящее время(начало 2006 года) на всех кластерах установлены компиляторыверсии 9.1. Компилятор для фортранаГде найти практические инструкции по умению пользоваться компилятором,вернее как с помощью компилятора практически запустить программу с… После установки Gnu Fortran на Windows 10 вы можете начать создавать и запускать свои программы на этом языке.
Для ознакомления с подробным руководством по make смотрите его информационную страницу. Существует онлайн версия этой информационной страницы, доступная по ссылке. Прежде чем перейти к изложению нового материала, вспомним логику работы нашей программы в архитектуре SMP. Как и в прошлой статье, мы используем для иллюстрации материала компиляторы GNU Fortran и Intel Fortran. По умолчанию, на Фортране параметры передаются по ссылке,а на Си — всегда по значению. По умолчанию, компилятор Intel Fortranпереводит имена процедур в нижний регистр и добавляет в конец именизнак подчеркивания.
На основе заданных правил она может выполнять такие задачи, как (пере)компиляция объектных файлов из обновлённых файлов исходных кодов, создание библиотек, и компоновка исполняемых файлов. Чтобы использовать make, для вашего проекта вы должны создать эти правила в файле Makefile, который определяет взаимозависимости всех конечных программ, промежуточных объектных файлов или библиотек и непосредственно файлов исходных кодов. Краткое введение по этой системе сборки приводится в руководстве по make. Мы только указали, что у нас есть проект на языке Fortran (для поддержки проектов на языке Fortran требуется определенная версия meson) и сказали системе сборки meson собрать исполняемый файл my_prog из файлов исходного кода tabulate.f90 и capabilities https://deveducation.com/.f90. Нам не нужно было указывать meson, как собирать проект, система сборки разобралась с этим сама. Если их использование ограничено одной IDE, смогут ли все разработчики вашего проекта получить к ним доступ?
- О совместимости объектных модулейна языках С++ и Фортран в руководстве пользователя ничего не сказано,видимо, она не поддерживается.
- Сохраняется такжевозможность пользоваться компиляторами GNU с помощьюкоманд mpigcc, mpig++ и mpig77 (Фортран 90не поддерживается).
- Посетите fxcoudert/gfortran-for-macOS для установки готовых бинарных сборок (исполняемых файлов).
- Из перечисленных по ссылке выше бесплатными и с открытым исходным кодом являются компиляторы GFortran (с набором инструментов OpenCoarrays), Flang и LFortran.
- По умолчанию, компилятор Intel Fortranпереводит имена процедур в нижний регистр и добавляет в конец именизнак подчеркивания.
- В качестве исключения из этого правила, в коде могут быть специальным образом описаны комассивы, позволяющие программе получить доступ к оперативной памяти другого узла.
Для Чего Потребовались Новые Компиляторы?
Мы рассмотрели введение в программирование на Фортране для массивно-параллельных архитектур, а GNU Fortran опять показал своё превосходство над Intel Fortran при использовании языковых конструкций параллельного программирования. Она просто излагается, но не всегда легко укладывается в голове для практического применения, поэтому тут нужно некоторое внимание. Поздравляем, вы написали, скомпилировали и запустили свою первую программу на Fortran! В следующей части этого руководства мы расскажем о переменных для хранения данных. Компилятор Intel поддерживает ряд нестандартныхрасширений языка Си, используемых в рамках проектаGNU и поддерживаемых компилятором GCC (но не все из них,подробнее см. здесь).
Затем вам понадобится текстовый редактор или, возможно, IDE (интегрированную среду разработки). Существует множество вариантов, большинство из них доступны во всех основных ОС (операционных системах). Однако процесс их установки и настройки значительно отличается в Home Windows, Linux и macOS. Здесь мы выбираем те, которые отвечают определенным критериям, и предоставляем руководство по язык программирования фортран их установке во всех вышеупомянутых ОС.
Мы будем благодарны тем пользователям и читателям,которые пришлют нам данные по влиянию выборакомпилятора (GCC или Intel) и опций оптимизации на скорость работы на их реальных задачах. Перед продолжением установки вам может потребоваться согласиться с лицензионным соглашением. Внимательно прочтите его и, если вы согласны с условиями, отметьте соответствующие галочки и нажмите кнопку “Далее” или “Установить”. Мы рекомендуем окружение WSL тем, кто ищет Unix-подобную среду разработки. Компиляторы AOCC доступны бесплатно и поддерживают платформы Linux с архитектурой x86_64. Компиляторы поддерживают платформы Linux и AIX для архитектуры ppc64le.
Как и в первой части статьи, мы продолжим реализовывать тот же самый клеточный автомат с теми же самыми входными и выходными данными. К сожалению, компилятор Intel Fortran не поддерживает используемую для программирования MPP архитектуру Coarray под операционной системой macOS, поэтому примеры для Intel Fortran мы в этот раз будем выполнять на другой машине с Linux. Это делает невозможным сравнение результатов в абсолютных цифрах, но по относительным оценкам всё по-прежнему будет ясно.
Также здесь представлен список популярных текстовых редакторов и IDE и информация о том, какой из них выбрать. Важно понять, что комассив field, как целое, вообще физически нигде не существует до момента окончательной сборки при записи результата в память. Он раскидан по своим отображениям на узлах, в которых каждый узел физически работает только со своей полосой из этого массива. По этой причине мы поменяли в программе также инициализацию матрицы, чтобы не занимать физическими нулями оперативную память из ненужных частей массива, которая фактически никогда не будет использоваться узлом. Среда выполнения организована таким образом, что программа запускается одновременно в нескольких экземплярах, по одному экземпляру на узел (или ядро узла, что пока что для нас логически неважно). Текст и машинный код программы при этом на каждом используемом узле один и тот же, но динамика выполнения этого кода разная.
Как видим, gfortran ускорил нашу программу ещё на 30% по сравнению с лучшим результатом SMP, достигнув на four ядрах производительности three.eighty four от последовательной версии. Очевидно, это связано с API тем, что даже в SMP системе расшивка параллельных процессов по адресам памяти ускоряет работу с оперативной памятью. Чтобы установить компилятор gfortran в операционной системе Linux, используйте пакетный менеджер вашей системы. На macOS, вы можете установить gfortran используя Homebrew или MacPorts. Поскольку OpenCoarrays не является отдельным компилятором, мы упоминаем его здесь, в разделе о gfortran. Первым шагом необходимо установить компилятор, который будет использоваться для компиляции Фортран-программ.
Вы можете использовать любой вид переменных, который вам больше нравится, но смешивать их использование следует с осторожностью. Важно знать о различиях между этими двумя видами и о соответствующих последствиях. Всегда думайте о содержимом файла Makefile как о целом наборе правил, так как он должен быть полностью проанализирован, прежде чем любое правило сможет быть выполнено. Ясно, что в такой модели уже одной-двумя подсказками компилятору не обойдёшься, надо менять логику кода. Программная архитектура MPP систем восходит к транспьютерам и ранним разработкам массивно-параллельного кода на языке Оккам.
Также мы немного изменили правило сборки для объектных файлов, чтобы учесть добавление суффикса .o вместо замены на него. Обратите внимание, что нам по прежнему нужно явно определять взаимозависимости в Makefile. Мы также добавили зависимость для объектных файлов от самого Makefile, на случай если вы укажите другой компилятор. Игровое поле мы объявим комассивом, к которому потенциально имеют доступ все узлы. Но фактически каждый узел будет заниматься только своей частью поля.
Recent Comments