ВУЗ:
Составители:
Рубрика:
- 5 -
Из реализаций MPI известны MPICH (все UNIX-системы и Windows'NT,
разработка Argonne National Lab.,
http://www.mcs.anl.gov), LAM (UNIX-
подобные ОС, Ohio Supercomputer Center,
http://www.osc.edu и Notre-Damme
University,
http://www.lsc.nd.edu), CHIMP/MPI (Edinburgh Parallel Computing
Centre,
http://www.epcc.ed.ac.uk), WMPI (все версии Windows, разработка Uni-
versity of Coimbra, Portugal,
http://dsg.dei.uc.pt/wmpi; в 2002 г. права перешли к
Critical Software SA,
[email protected]) и др. (подробнее см.
http://parallel.ru/mpi.html).
Основными отличиями стандарта MPI-2 являются: динамическое порож-
дение процессов, параллельный ввод/вывод, интерфейс для C++, расширен-
ные коллективные операции, возможность одностороннего взаимодействия
процессов (см. [1] и
http://www.mpi-forum.org). В настоящее время MPI-2 прак-
тически не используется; существующие реализации поддерживают только
MPI 1.1.
MPI является (довольно) низкоуровневым инструментом программиста; c
помощью MPI созданы рассчитанные на численные методы специализиро-
ванные библиотеки (например, включающая решение систем линейных урав-
нений, обращение матриц, ортогональные преобразования, поиск собствен-
ных значений и т.п. библиотеки ScaLAPACK,
http://www.netlib.org/scalapack и
AZTEC,
http://www.cs.sandia.gov/CRF/aztec1.html для плотнозаполненных и раз-
реженных матриц соответственно). MPI не обеспечивает механизмов задания
начального размещения процессов по вычислительным узлам (процессорам);
это должен явно задать программист или воспользоваться неким сторонним
механизмом.
Разработчики MPI (справедливо) подвергаются жесткой критике за излиш-
нюю громоздкость и сложность для реального (прикладного) программиста.
Интерфейс оказался сложным и для реализации;
в итоге в настоящее время
практически не существует реализаций MPI, в полной мере обеспечивающие
совмещение обменов с вычислениями. Проект MPI-2 выглядит еще более
громоздким и тяжелоподъемным для реализации в заявленной степени.
В состав функций MPI входят специальные вызовы для обработки исклю-
чительных ситуаций и отладки. Цель обработчиков состоит в выдаче пользо-
вателю (определенное
им же) сообщение об ошибке для принятия действий,
не относящиеся к MPI (напр., очистка буферов ввода/вывода) перед выходом
из программы. Реализация MPI допускает продолжение работы приложения
после возникновения ошибки.
Полномасштабная отладка MPI-программ достаточно сложна вследствие
одновременного исполнения нескольких программных ветвей (при этом тра-
диционная отладки методом включения в исходный текст операторов
печати
затруднена вследствие смешивания в файле выдачи информации от различ-
ных ветвей MPI-программы); одним из наиболее мощных отладчиков счита-
ется TotalView (
http://www.dolphinics.com). В функции подобных отладчиков
входит трассировка программы и профилирование – выдача (часто в графи-
ческом виде) информации об обменах в параллельной программе.
Из реализаций MPI известны MPICH (все UNIX-системы и Windows'NT, разработка Argonne National Lab., http://www.mcs.anl.gov), LAM (UNIX- подобные ОС, Ohio Supercomputer Center, http://www.osc.edu и Notre-Damme University, http://www.lsc.nd.edu), CHIMP/MPI (Edinburgh Parallel Computing Centre, http://www.epcc.ed.ac.uk), WMPI (все версии Windows, разработка Uni- versity of Coimbra, Portugal, http://dsg.dei.uc.pt/wmpi; в 2002 г. права перешли к Critical Software SA, [email protected]) и др. (подробнее см. http://parallel.ru/mpi.html). Основными отличиями стандарта MPI-2 являются: динамическое порож- дение процессов, параллельный ввод/вывод, интерфейс для C++, расширен- ные коллективные операции, возможность одностороннего взаимодействия процессов (см. [1] и http://www.mpi-forum.org). В настоящее время MPI-2 прак- тически не используется; существующие реализации поддерживают только MPI 1.1. MPI является (довольно) низкоуровневым инструментом программиста; c помощью MPI созданы рассчитанные на численные методы специализиро- ванные библиотеки (например, включающая решение систем линейных урав- нений, обращение матриц, ортогональные преобразования, поиск собствен- ных значений и т.п. библиотеки ScaLAPACK, http://www.netlib.org/scalapack и AZTEC, http://www.cs.sandia.gov/CRF/aztec1.html для плотнозаполненных и раз- реженных матриц соответственно). MPI не обеспечивает механизмов задания начального размещения процессов по вычислительным узлам (процессорам); это должен явно задать программист или воспользоваться неким сторонним механизмом. Разработчики MPI (справедливо) подвергаются жесткой критике за излиш- нюю громоздкость и сложность для реального (прикладного) программиста. Интерфейс оказался сложным и для реализации; в итоге в настоящее время практически не существует реализаций MPI, в полной мере обеспечивающие совмещение обменов с вычислениями. Проект MPI-2 выглядит еще более громоздким и тяжелоподъемным для реализации в заявленной степени. В состав функций MPI входят специальные вызовы для обработки исклю- чительных ситуаций и отладки. Цель обработчиков состоит в выдаче пользо- вателю (определенное им же) сообщение об ошибке для принятия действий, не относящиеся к MPI (напр., очистка буферов ввода/вывода) перед выходом из программы. Реализация MPI допускает продолжение работы приложения после возникновения ошибки. Полномасштабная отладка MPI-программ достаточно сложна вследствие одновременного исполнения нескольких программных ветвей (при этом тра- диционная отладки методом включения в исходный текст операторов печати затруднена вследствие смешивания в файле выдачи информации от различ- ных ветвей MPI-программы); одним из наиболее мощных отладчиков счита- ется TotalView (http://www.dolphinics.com). В функции подобных отладчиков входит трассировка программы и профилирование – выдача (часто в графи- ческом виде) информации об обменах в параллельной программе. -5-
Страницы
- « первая
- ‹ предыдущая
- …
- 3
- 4
- 5
- 6
- 7
- …
- следующая ›
- последняя »