Опубликован: 22.04.2008 | Доступ: свободный | Студентов: 527 / 50 | Оценка: 4.50 / 4.75 | Длительность: 06:55:00
Специальности: Программист
Дополнительный материал 11:

Отладка MPI-программ с использованием Visual Studio 2005

Цель - изучить настройку конфигурационных параметров для отладки MPI-приложений в рамках Visual Studio 2005; изучить способы задания точек остановки (breakpoints) для отдельных и множеств MPI-процессов.

Отладка MPI-программ с использованием Visual Studio 2005 состоит, в общем случае, из трех шагов:

  1. запуска удаленного отладчика (a remote debugger) на узлах, зарезервированных для сеанса отладки;
  2. конфигурирования отладочных свойств проекта MPI-приложения в рамках Visual Studio;
  3. запуска приложения в режиме отладки и просмотра процессов в точках их остановки (breakpoints).

Задача 1. Запустить удаленный отладчик msvsmon.exe на нескольких узлах (допустим, имеющих имена Node1, Node2, Node3, Node4 ) сформировав и запустив следующее задание с использованием интерфейса командной строки:

job new /jobname:ReserveTimeForDebug /askednodes:Node1,Node2,Node3,Node4 /runtime:00:05:00 /rununtilcancelled:true /scheduler:myCluster 
job add <JobID> /requirednodes:Node1 C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\Remote Debugger\x64\msvsmon.exe
job add <JobID> /requirednodes:Node2 C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\Remote Debugger\x64\msvsmon.exe
job add <JobID> /requirednodes:Node3 C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\Remote Debugger\x64\msvsmon.exe
job add <JobID> /requirednodes:Node4 C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\Remote Debugger\x64\msvsmon.exe 
job submit /id:<JobID>
Листинг 2.

Задача 2. В качестве примера отлаживаемой программы, здесь предполагается программа из Занятия 9 перемножения матриц с декомпозицией по строкам.

Необходимо открыть данную программу в рамках Visual Studio, и на странице Properties проекта выбрать последовательно

Configuration Properties -> Debugging,

и в списке Debugger to launch выбрать MPI Cluster Debugger.

На этой же странице, необходимо заполнить соответствующие поля (MPIRun Command, MPIRun Arguments, MPIShim location и др.) нужными значениями для старта приложения.

Из основного меню Visual Studio 2005, выбрать последовательно

Tools -> Options

чтобы открыть диалоговое окно для задания точек остановки (breakpoints).

Необходимо установить точку остановки в программе после выполнения команды MPI_Allgather, и заново построить приложение.

Задача 3. Запустить вновь построенное приложение в режиме отладки, нажав F5. После остановки программы, нажать Ctrl+Alt+Z для открытия окна Processes. Выбрать один из параллельных процессов и просмотреть значения его переменных.

Проверить пошаговое выполнение программы, начиная с точки остановки, используя соответствующие клавиши на панели окна Processes (см. рисунок):