debugUGr (1158416), страница 2
Текст из файла (страница 2)
dvm <имя_DVM-команды> [<параметры_команды>] <имя_DVM-программы>
где:
| dvm | - префикс (имя файла запуска DVM-команд). |
| <параметры_команды> | - параметры, специфичные для разных команд, такие как опции конверторов или компиляторов, матрица процессоров и т.д. |
| <имя_DVM-программы> | - имя файла с исходным текстом программы без расширения. |
Команды DVM-системы можно разделить на базовые и производные.
Ниже перечисляются базовые команды, с помощью которых можно выполнять различные операции, необходимые для отладки DVM-программ.
-
Команды конвертации DVM-программы:
dvm cdv [<опции C-DVM конвертора>] <имя_С-DVM-программы>
dvm fdv [<опции F-DVM конвертора>] <имя_F-DVM-программы>
Результат работы: файлы <имя_DVM-программы>.с или <имя_DVM-программы>.f. Опции конверторов сначала берутся из переменных окружения (см.п.7), а затем добавляются опции из командной строки. Если опции конверторов нигде не заданы, команды формируют рабочий параллельный вариант программы.
-
Команды стандартной компиляции и связывания С-программы и
Fortran-программы:
dvm cc [<опции C-компилятора>] <имя_C-DVM-программы>
dvm f77 [<опции F- компилятора>] <имя_F-DVM-программы>
Результат работы: готовая программа (выполняемый файл <имя_DVM-программы>).
Опции компиляторов сначала берутся из переменных окружения (см.п.7), а затем добавляются опции из командной строки.
-
Команда запуска готовой программы на выполнение:
dvm run [матрица процессоров] [<опции_кластера>] <имя_DVM-программы>
матрица процессоров – задается матрица логических процессоров, например:
2 3 или 5 1 3.
опции_кластера задаются только при запуске параллельных программ на кластере рабочих станций под управлением UNIX-подобных операционных систем. К опциям относятся:
| -mf <список_машин> | -<список_машин> - это имя файла со списком имен машин в кластере рабочих станций. Общее количество процессоров в матрице процессоров не должно превышать количество имен машин в этом списке; |
| -m | - в качестве имени файла со списком имен машин используется $dvmdir/user/machinelist; |
| -cp | Копирование выполняемого файла в разделяемую (определенную в файле dvmwork и доступную для всех рабочих станций) директорию; |
| -h | - помощь. |
Если опции -mf и -m не заданы, программа выполняется на локальной рабочей станции.
Результат работы: выполнение подготовленного пользователем варианта программы.
Производные команды – это некоторая последовательность базовых команд, облегчающая выполнение тех или иных действий пользователя, например, в процессе отладки DVM-программ (см.п.10). Существуют следующие производные команды:
-
Команды конвертации и компиляции DVM-программ:
dvm c [<опции C-DVM конвертора>] <имя_C-DVM-программы>
dvm f [<опции F-DVM конвертора>] <имя_F-DVM-программы>
Результат работы: готовая программа (выполняемый файл <имя_DVM-программы>).
Опции конверторов сначала берутся из переменных окружения (см.п.7), а затем добавляются опции из командной строки. Если опции конверторов нигде не заданы, команды формируют рабочий параллельный вариант программы.
-
Команды получения отладочного последовательного варианта DVM-программ (с подключением динамического отладчика для сбора эталонной трассировки):
dvm csdeb [<опции C-DVM конвертора>] <имя_C-DVM-программы>
dvm fsdeb [<опции F-DVM конвертора>] <имя_F-DVM-программы>
Результат работы: готовая программа (выполняемый файл <имя_DVM-программы>_s).
Опции конверторов сначала берутся из переменных окружения (см.п.7), а затем добавляются опции из командной строки. Если опции конверторов нигде не заданы, команды формируют последовательный вариант программы с опцией –d4 (см.п.8).
-
Команды получения отладочного параллельного варианта DVM-программ (с учетом всех DVM-указаний и с подключением динамического отладчика для осуществления динамического контроля DVM-указаний, либо сбора или сравнения трассировки):
dvm cpdeb [<опции C-DVM конвертора>] <имя_C-DVM-программы>
dvm fpdeb [<опции F-DVM конвертора>] <имя_F-DVM-программы>
Результат работы: готовая программа (выполняемый файл <имя_DVM-программы>_p).
Опции конверторов сначала берутся из переменных окружения (см.п.7), а затем добавляются опции из командной строки. Если опции конверторов нигде не заданы, команды формируют параллельный вариант программы с опцией –d4 (см.п.8).
-
Команда запуска отладочного параллельного варианта DVM-программ, осуществляющего динамический контроль DVM-указаний:
dvm err <имя_DVM-программы>
Результат работы: ошибки, обнаруженные в DVM-указаниях (при их наличии).
-
Команда запуска отладочного последовательного варианта DVM-программ, осуществляющая накопление эталонной трассировки на одном процессоре:
dvm trc <имя_DVM-программы>
Результат работы: файл с накопленной трассировкой или при наличии ошибок сбора трассировки – сообщения об ошибках.
-
Команда запуска отладочного параллельного варианта DVM-программ, осуществляющая сравнение результатов вычислений, полученных при запуске программы на одном процессоре, с накопленной ранее эталонной трассировкой:
dvm red <имя_DVM-программы>
Результат работы: ошибки, обнаруженные в процессе сравнения трассировок (при их наличии).
-
Команда запуска отладочного параллельного варианта DVM-программ, осуществляющая сравнение результатов вычислений, полученных при запуске программы на нескольких процессорах, с накопленной ранее эталонной трассировкой:
dvm dif [матрица процессоров] [<опции_кластера >] <имя_DVM-программы>
Результат работы: ошибки, обнаруженные в процессе сравнения трассировок (при их наличии).
-
Команда запуска отладочного параллельного варианта DVM-программ, осуществляющая накопление трассировки на нескольких процессорах:
dvm ptrc [матрица процессоров] [<опции_кластера >] <имя_DVM-программы>
Результат работы: файлы с накопленной трассировкой или при наличии ошибок сбора трассировки – сообщения об ошибках.
-
Команда запуска отладочного последовательного варианта DVM-программ, осуществляющая оценку объема накапливаемой трассировки:
dvm size <имя_DVM-программы>
Результат работы: конфигурационный файл трассировки (см.п.10.10 и п.13).
-
Команда запуска анализатора производительности, которую следует выполнять после завершения выполнения параллельной программы на рабочей станции или на кластере рабочих станций (на рабочей станции – только на одном процессоре, иначе временные характеристики будут некорректными):
dvm pa [sts <имя_файла_вывода>][[[<ch1> <ch2><ch3>] <level>] <numbers]
где:
| сh1 | - y/n – вывод основных характеристик; |
Результат работы: характеристики анализа производительности.
Если отсутствуют опции в первой паре квадратных скобок, – характеристики выводятся на экран. Команда вида dvm pa –h выводит на экран список своих опций.
-
Команда запуска DVM-программы, осуществляющая накопление трассировки для предиктора:
dvm runpred <имя_DVM-программы>
Результат работы: файл <имя_DVM-программы>.ptr с накопленной трассировкой.
-
Команда запуска предиктора:
dvm pred [матрица процессоров] <имя_DVM-программы>
Выполнение команды управляется переменными окружения:
Pred_sys – имя конфигурационного файла, описывающего целевую машину.
Pred_vis - имя визуализатора html-файлов.
Для работы предиктора необходимо наличие файла <имя_DVM-программы>.ptr с трассировкой, полученной командой dvm runpred.
Результат работы: директория <имя_DVM-программы>.prd с html-файлами. Если в файле запуска команд задан визуализатор html-файлов, то он автоматически вызывается.
-
Команда вызова визуализатора документации:
dvm doc [тип документации]
где тип документации может принимать следующие значения:
| ur | - документация пользователя на русском языке; |
Выполнение команды управляется переменной окружения:
Doc_vis - имя визуализатора документации.
-
Команды комплексного прогона одной программы последовательно через все шаги отладки (см.п.10):
dvm ctest [матрица процессоров] <имя_DVM-программы>
dvm ftest [матрица процессоров] <имя_DVM-программы>
Результат работы: конкатенация результатов работы команд, объединенных в команду комплексного прогона.
9.1 Программы, использующие библиотеки последовательных программ
Если программа использует в своей работе библиотеки последовательных программ, имена этих библиотек должны быть перечислены в переменной окружения usrlib файла запуска dvm-команд (см.п.7).
10Методика отладки DVM-программ
Отладку программ рекомендуется проводить сначала на тестовых, а затем на реальных данных в следующей последовательности шагов.
10.1Отладка обычной последовательной программы
DVM-программа отлаживается на рабочей станции как обычная последовательная программа на языке C или Fortran 77 c использованием обычных компиляторов и средств отладки. DVM-указания при этом игнорируются.
10.2Получение отладочных вариантов DVM-программы для последовательного и параллельного выполнения
Получение варианта для последовательного выполнения:
dvm csdeb [опции C-DVM конвертора] <имя C-DVM_программы>
dvm fsdeb [опции F-DVM конвертора] <имя F-DVM_программы>
Получение варианта для параллельного выполнения:
dvm cpdeb [опции C-DVM конвертора] <имя C-DVM программы>
dvm fpdeb [опции F-DVM конвертора] <имя F-DVM программы>
10.3Выполнение программы в режиме динамического контроля DVM-указаний
Для выполнения DVM программы служит команда:
dvm err <имя DVM-программы>
По умолчанию запуск управляется параметрами динамического контроля из базового файла usrdebug (см.п.7 и п.11.1) скорректированными следующими параметрами из файла deb_err.par (оба файла находятся в поддиректории, \PAR директории DVM-системы, заданной в переменной окружения dvmpar):
| EnableDynControl=1; | - подключение динамического отладчика; |
| EnableTrace=0; | - отключение накопления трассировки вычислений. |
В случае обнаружения неверных DVM-указаний в поток stderr выдается диагностика о наличии ошибок динамического контроля. Этот поток может быть направлен либо на экран, либо в файл (см.п.7 и п.11.3).
Сообщения о типе ошибки, строке исходного текста и номерах итераций всех объемлющих циклов так же можно направить либо на экран, либо в файл (см.п.11.1). Структуру и перечень сообщений об ошибках динамического контроля см. в п.12.1.















