ВУЗ:
Составители:
Рубрика:
- 5 -
разработка 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,
) и др. (подробнее см.
http://parallel.ru/mpi.html
).
Основными отличиями стандарта MPI-2 являются: динамическое порож-
дение процессов, параллельный ввод/вывод, интерфейс для C++, расширен-
ные коллективные операции, возможность одностороннего взаимодействия
процессов (см. [1] и
http://www.mpi-forum.org
). В настоящее время MPI-2 прак-
тически не используется; существующие реализации поддерживают только
версии MPI 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 подразумевает подход
MPMD
(Multiple Pro-
gram
−
Multiple Data: множество программ
−
множество данных), при этом
-5- разработка 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. 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 подразумевает подход MPMD (Multiple Pro- gram − Multiple Data: множество программ − множество данных), при этом
Страницы
- « первая
- ‹ предыдущая
- …
- 3
- 4
- 5
- 6
- 7
- …
- следующая ›
- последняя »