Отладка MPI-программ с использованием Visual Studio 2005
Цель - изучить настройку конфигурационных параметров для отладки MPI-приложений в рамках Visual Studio 2005; изучить способы задания точек остановки (breakpoints) для отдельных и множеств MPI-процессов.
Отладка MPI-программ с использованием Visual Studio 2005 состоит, в общем случае, из трех шагов:
- запуска удаленного отладчика (a remote debugger) на узлах, зарезервированных для сеанса отладки;
- конфигурирования отладочных свойств проекта MPI-приложения в рамках Visual Studio;
- запуска приложения в режиме отладки и просмотра процессов в точках их остановки (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 (см. рисунок):