fdvmUGr (1158425)
Текст из файла
21
Институт прикладной математики им. М.В.Келдыша
Российская Академия наук
Компилятор Fortran DVM
Руководство пользователя
Март, 2000
Оглавление
1 Введение 3
2 Назначение компилятора 3
3 Вызов компилятора 3
4 Опции компилятора 4
5 Компиляция программы в режиме отладки 5
6 Компиляция HPF-DVM программы 9
7 Сообщения компилятора 9
1Введение
Данное руководство содержит инструкции по использованию компилятора Fortran DVM(FDVM) и является частью общего руководства пользователя DVM‑системы.
В руководстве приняты следующие условные обозначения для описания синтаксических конструкций.
::= по определению
| альтернатива
[x] необязательный элемент
y-list список элементов y [ , y ]…
2Назначение компилятора
Язык Fortran DVM (FDVM) является расширением языка Фортран 77 для параллельного программирования в модели DVM. Расширение оформлено в виде специальных комментариев (директив), которые аннотируют последовательную программу на языке Фортран 77.
Компилятор транслирует исходную программу на языке FDVM или HPF‑DVM в следующие выходные программы.
-
Параллельная программа на языке Фортран 77 с вызовами функций системы поддержки параллельного выполнения (Lib-DVM). Эта программа может выполняться в псевдопараллельном режиме на одном процессоре (рабочей станции) и в параллельном режиме на многопроцессорной ЭВМ.
-
Последовательная программа на языке Фортран 77 с вызовами функций сбора информации для отладки и оценки производительности. Программа выполняется на одном процессоре в последовательном режиме.
-
Программа на языке HPF.
3Вызов компилятора
Вызов компилятора осуществляется следующей командной строкой:
dvm fdv [ <опции> ] <имя-файл>
где
| <опции> | - указания о режимах компиляции. Если какое-либо указание отсутствует, то для него действует значение по умолчанию. Если две опции противоречат друг другу, то преимущество получает последняя из указанных в командной строке опций; |
| <имя-файла> | - имя файла (без расширения), который содержит текст исходной программы на языке FDVM. Файл должен иметь расширение .fdv. Поиск входного файла производится только в текущей директории. |
4Опции компилятора
Для описания синтаксиса опций введены следующие обозначения. Жирным шрифтом будем выделять ключевые символы, а курсивом – параметры опций. Ниже перечислены опции компилятора.
| -o file | Поместить выходную программу в файл file; |
| -s | Генерировать последовательную выходную программу; |
| -p | Генерировать параллельную выходную программу; |
| -hpf1 | Генерировать выходную программу на языке HPF1; |
| -hpf2 | Генерировать выходную программу на языке HPF2; |
| -v | Выдать сообщения о вызовах фаз компилятора, а также номер версии компилятора; |
| -w | Выдать все предупреждающие сообщения; |
| -Idir | Добавить директорию dir в список директорий, где осуществляется поиск include файлов. |
| -bindk | Задает соответствие типов данных в компиляторах с языков Фортран и Си; |
| -dleveld[:fr-list] | Генерировать дополнительный код для отладки программы; |
| -elevele[:fr-list] | Генерировать дополнительный код для анализа производительности программы. |
Выходной файл. Имя выходного файла, в котором компилятор размещает сгенерированную программу, указывается с помощью опции
-o file
где file представляет собой имя файла. Если опция не указана, то по умолчанию, выходной файл получает имя <имя-файла>.f или <имя-файла>.hpf в режиме генерации программы на языке HPF. Выходной файл записывается в текущую директорию.
Тип генерируемой программы. Тип генерируемой программы задается следующими опциями:
| -s | - последовательная программа |
По умолчанию генерируется параллельная программа.
Директории для include-файлов. Если в исходной программе имеются операторы INCLUDE и не все include-файлы размещены в текущей директории, то необходимо указать опцию
-Idir
где dir - это имя директории. Поиск include-файла начинается с директорий, указанных в командной строке в том порядке, как они там перечислены. Затем поиск производится в текущей директории.
Дополнительная информация. Для идентификации версии компилятора и выполнения фаз компиляции необходимо указать опцию
-v
, а для получения всех предупреждающих сообщений задать опцию
-w
Соответствие типов данных. Соответствие типов данных в компиляторах с языков Си и Фортран для ЭВМ, на которой будет выполняться сгенерированная программа, указывается с помощью опции
-bindk
где k - это целое число, которое указывает номер таблицы соответствия.
| k = 0: | |||||
| Фортран | Си | Размер (в байтах) | |||
| integer | long | 4 | |||
| real | float | 4 | |||
| double precision | double | 8 | |||
| character | char | 1 | |||
| logical | long | 4 | |||
| k = 1: | |||||
| Фортран | Си | Размер (в байтах) | |||
| integer | int | 4 | |||
| real | float | 4 | |||
| double precision | double | 8 | |||
| character | char | 1 | |||
| logical | int | 4 | |||
| integer*8 | long | 8 | |||
Соответствие типов определяется стандартными компиляторами с языков Си и Фортран для объектной ЭВМ. По умолчанию, считается k = 0.
Замечание. Наличие или отсутствие опций –bind, -d, и -e не оказывает никакого влияния на генерацию программы на языке HPF ( режим –hpf1 или –hpf2).
5Компиляция программы в режиме отладки
Для программ на языке FDVM предусмотрены два способа отладки:
-
функциональная отладка, целью которой является достижение правильности функционального выполнения программы;
-
отладка эффективности, целью которой является достижение требуемого уровня эффективности параллельного выполнения программы.
Для каждого способа определено несколько уровней отладки.
Уровни функциональной отладки. Уровень функциональной отладки – это целое число от 0 до 4, оно определяет события в программе, о которых сообщается отладчику:
0 - нет событий,
1 - модификация распределенных массивов,
2 - модификация и использование распределенных массивов,
3 - модификация всех переменных,
4 - модификация и использование всех переменных.
Уровни отладки эффективности. Уровень отладки эффективности– это целое число от 0 до 4, которое определяет, какие участки программы рассматриваются в качестве интервалов выполнения программы. Для каждого такого интервала можно получить характеристики эффективности.
0 - нет интервалов,
1 - параллельные циклы и охватывающие их последовательные циклы,
2 - последовательности операторов, указанные в программе посредством директив
INTERVAL и END INTERVAL,
3 - объединение подмножеств 1 и 2,
4 - все циклы и интервалы, заданные с помощью директив INTERVAL и
END INTERVAL.
Последовательность операторов можно объявить интервалом с помощью директив:
CDVM$ INTERVAL [<целочисленное-выражение>]
<последовательность-операторов>
CDVM$ END INTERVAL
Каждый интервал операторов должен удовлетворять условиям блока операторов:
-
выполнение интервала всегда начинается с первого оператора,
-
выполнение интервала всегда заканчивается последним оператором.
Другими словами запрещены передачи управления извне внутрь интервала, и изнутри интервала - на оператор вне интервала.
Фрагменты программы. Программу можно разделить на отдельные отлаживаемые фрагменты. Каждый фрагмент определяется директивами
CDVM$ DEBUG <номер-фрагмента> [( <параметр> )]
<фрагмент-операторов>
CDVM$ END DEBUG <номер-фрагмента>
| <номер-фрагмента> | ::= | <целое-положительное-число> |
| <параметр> | ::= | D = levele |
| | | E = leveld | |
| | | D = leveld , E = levele |
где
параметр D указывает максимально возможный уровень функциональной отладки,
параметр E указывает максимально возможный уровень отладки эффективности,
leveld – целое число от 0 до 4,
levele – целое число от 0 до 4.
Фрагмент операторов должен удовлетворять условиям блока операторов.
Допускается вложенность фрагментов. Пусть f1 обозначает множество операторов охватывающего фрагмента, l1 – заданный в директиве DEBUG уровень отладки для данного фрагмента, а f2 и l2 - множество операторов и уровень отладки вложенного фрагмента. Тогда для множества операторов f1 – f2 максимально допустимым является уровень l1, а для множества f2 максимально допустимым является уровень l2.
Вся программа считается по умолчанию фрагментом с номером 0 и максимально допустимыми уровнями отладки D = 4 , E = 4.
Пусть задана следующая структура фрагментов програмной единицы:
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.















