Содержание
1. Введение
2. Модели параллельного программирования
2.1 Модель передачи сообщений MPI
2.2 Другие модели
3. Отладка параллельных программ
3.1 Обзор методик отладки
3.2 Обзор существующих средств отладки
3.3.1 LockInt (Sun)
3.3.2 MAD EMU и ATTEMPT (Johannes Kepler University Linz)
3.3.3 Total View (Etnus LLC), Prism(Sun), p2d2(NAS Ames), Ladebug(Compaq), GDB(GNU), DBX(Sun)
3.3.4 Assure(Intel), DVM debugger(KIAM RAS), UMPIRE (LLNL)
3.3.5 DejaVu (IBM)
3.3.6 Guard( Monash University ), DVM debugger(KIAM RAS), NASA/Ames support for debugging automatically parallelized programs
3.3.7 HOWCOME demonstrator, DD.py ( Saarland University )
4. Пользовательский интерфейс
4.1 Создание интерфейса
4.2 Современные подходы к созданию пользовательского интерфейса
5. Диалоговая оболочка отладчика MPI-программ.
5.1 Постановка задачи
5.2 Общая схема использования
5.3 Входная информация
5.4 Основные объекты визуализации
5.5 Основные функции визуализатора
5.6 Общая схема визуализации
5.7 Окно состояния задачи (Task state)
5.8 Окно обобщенных ошибок (Error location)
5.9 Окно топологии процессоров (Topology control)
5.10 Окно конкретных ошибок (Errors list)
5.11 Окно событий (Event line)
5.12 Окно просмотра стека и исходных текстов (Text control)
5.13 Окно просмотра трасс (Trace control)
Заключение
Литература
1. Введение Существуют сверхсложные вычислительные задачи, для решения которых требуется применение суперкомпьютеров. Такие задачи называют grand challenges.
Grand challenges - это фундаментальные научные или инженерные задачи с широкой областью применения, эффективное решение которых возможно только с использованием мощных (суперкомпьютерных) вычислительных ресурсов [1].
Вот лишь некоторые области, где возникают задачи подобного рода:
· Предсказания погоды, климата и глобальных изменений в атмосфере
· Науки о материалах
· Построение полупроводниковых приборов
· Сверхпроводимость
· Структурная биология
· Разработка фармацевтических препаратов
· Генетика человека
· Квантовая хромодинамика
· Астрономия
· Транспортные задачи
· Гидро- и газодинамика
· Управляемый термоядерный синтез
· Эффективность систем сгорания топлива
· Разведка нефти и газа
· Вычислительные задачи наук о мировом океане
· Распознавание и синтез речи
· Распознавание изображений
Эффективное использование ресурсов суперкомпьютеров возможно только при распараллеливании вычислений. Параллельное программирование применяется для решения задач такого рода – предсказание метеоусловий, задач структурной биологии и генетики человека, задач астрономии, гидро- и газодинамики и многих других. Программист должен оптимально распределить данные и вычисления, чтобы добиться максимальной эффективности решения задачи на суперкомпьютерах с распределенной памятью.
Очень часто требуется повысить эффективность уже написанной последовательной программы. ............