Кластерные вычисления

Отладка 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. В качестве примера отлаживаемой программы, здесь предполагается программа из Занятия 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 (см. рисунок):

    Вернуться к учебному плану