Графы и параллелизм — различия между версиями
Avalanche (обсуждение | вклад) (→Библиотеки) |
Avalanche (обсуждение | вклад) (→Библиотеки) |
||
Строка 7: | Строка 7: | ||
Библиотека ParaLib включает в свой состав процедуры для параллельного решения ряда типовых задач вычислительной математики на многопроцессорных вычислительных системах с распределенной памятью (кластерах) (сортировка данных, умножение матриц, задачи обработки графов (алгоритмы Прима и Дейкстры)). | Библиотека ParaLib включает в свой состав процедуры для параллельного решения ряда типовых задач вычислительной математики на многопроцессорных вычислительных системах с распределенной памятью (кластерах) (сортировка данных, умножение матриц, задачи обработки графов (алгоритмы Прима и Дейкстры)). | ||
* Разработчик: Нижегородский государственный университет им. Н.И Лобачевского, факультет вычислительной математики кибернетики ННГУ, учебно-исследовательская лаборатория «Математические и программные технологии для современных компьютерных систем (Информационные технологии)» | * Разработчик: Нижегородский государственный университет им. Н.И Лобачевского, факультет вычислительной математики кибернетики ННГУ, учебно-исследовательская лаборатория «Математические и программные технологии для современных компьютерных систем (Информационные технологии)» | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===PPBB (Portable Parallel branch-and-bound library)=== | ===PPBB (Portable Parallel branch-and-bound library)=== | ||
Строка 19: | Строка 13: | ||
===ParMETIS=== | ===ParMETIS=== | ||
+ | * [http://www.sai.msu.su/sal/C/3/PARMETIS.html Дополнительно] | ||
PARMETIS - параллельная версия библиотеки [http://glaros.dtc.umn.edu/gkhome/views/metis/ METIS], включающей ряд алгоритмов над графами (parallel graph partitioning). | PARMETIS - параллельная версия библиотеки [http://glaros.dtc.umn.edu/gkhome/views/metis/ METIS], включающей ряд алгоритмов над графами (parallel graph partitioning). | ||
Реализована с помощью MPI. | Реализована с помощью MPI. | ||
+ | |||
+ | ===Математические библиотеки, разработанные в NASA/JPL=== | ||
+ | <li>DDLIB (Data Distribution Library) | ||
+ | <li>A Library of Partial Global Operations in Parallel Architectures | ||
==Средства создания и проектирования параллельных программ== | ==Средства создания и проектирования параллельных программ== |
Версия 16:43, 6 октября 2010
Содержание
Библиотеки
ParaLib
Библиотека ParaLib включает в свой состав процедуры для параллельного решения ряда типовых задач вычислительной математики на многопроцессорных вычислительных системах с распределенной памятью (кластерах) (сортировка данных, умножение матриц, задачи обработки графов (алгоритмы Прима и Дейкстры)).
- Разработчик: Нижегородский государственный университет им. Н.И Лобачевского, факультет вычислительной математики кибернетики ННГУ, учебно-исследовательская лаборатория «Математические и программные технологии для современных компьютерных систем (Информационные технологии)»
PPBB (Portable Parallel branch-and-bound library)
The Portable Parallel Branch-and-Bound Library ( PPBB-Library ) presents an easy way to parallelize sequential Branch-and-Bound algorithms for several architectures. A user of the library, who wants to run his sequential algorithm on a parallel system, needs neither knowledge about the hardware architecture nor the parallelization mechanisms.
ParMETIS
PARMETIS - параллельная версия библиотеки METIS, включающей ряд алгоритмов над графами (parallel graph partitioning). Реализована с помощью MPI.
Математические библиотеки, разработанные в NASA/JPL
Средства создания и проектирования параллельных программ
Интегрированные среды прототипирования, разработки и отладки параллельных программ.
CODE
CODE - графическая система создания параллельных программ. Параллельная программа представляется в виде графа, вершинами которого являются последовательные участки, а дуги соответствуют пересылкам данных. Последовательные участки могут быть написаны на любом языке, для пересылок используется PVM или MPI.
- Разработчик: университет в шт. Техас.
HeNCE (HEterogeneous Network Computing Environment)
- официальный сайт
- Исследовательский проект
Это графическая среда (UNIX/X-Window), разработанная для помощи в разработке параллельных программ, работающих на сети рабочих станций (в модели PVM). Предназначено для вычислителей, желающих эффективно использовать имеющуюся сеть рабочих станций, не вдаваясь в подробности параллельного программирования. HeNCE включает графические средства построения, компиляции, запуска и анализа HeNCE-программ (программист сам не пишет в терминах PVM). Обеспечивает высокий уровень абстракции для спецификации параллелизма. Программа описывается в виде направленного ациклического графа (DAG), в котором вершины соответствуют процедурам, а дуги - зависимостям (зависимости расставляет пользователь). Включает средства графического конфигурирования гетерогенного PVM-кластера для запуска программы.
- Разработчик: Adam Beguelin, Jack Dongarra, G. A. Geist, Robert Manchek, Keith Moore, Peter Newton, Vaidy Sunderam и др.
GRADE (A Graphical Parallel Programming Environment)
- Исследовательский проект
P-GRADE - профессиональная (коммерческая) версия системы.
Интегрированный набор средств программирования для разработки приложений в модели передачи сообщений на гетерогенных кластерах. Состоит из 6 средств:
GRAPNEL - графический язык параллельного программирования
GPED - графический редактор для построения GRAPNEL-программ
GRP2C - препроцессор для генерации программ на PVM/C
Tape/PVM - средство генерации трасс
DDBG - распределенный отладчик
PROVE - средство визуализации трасс
TRAPPER
- Коммерческий продукт
Графическая среда программирования, поддерживающая все стадии жизненного цикла программных систем. Содержит компоненты построения параллельного ПО, конфигурирования аппаратных средств, распределения процессов по процессорам (process mapping), графической отладки и мониторинга производительности. 4 основных модуля: The Design Tool. Построение параллельного приложения из отдельных процессов, обменивающихся сообщениями. Модульная структура, иерархическая организация процессов (процесс может состоять из нескольких "подпроцессов"), автоматическая генерация "шаблонов" программ. The Configuration Tool Графическое определение конфигурации виртуальной машины Генерация Make-файлов, отображение процессов на процессоры (Graphical Process Mapping) The Visualization Tool Графическое изображение поведения процессов и взаимодействий (Software Analysis), графическая отладка (позволяет отлавливать дедлоки и другие ошибки распараллеливания) The Performance Tool Позволяет обнаружить критические для производительности секции кода (bottlenecks), а также собирать статистику и отображать в виде диаграмм. Поддерживаются следующие хост-платформы: x86/Linux, PowerPC/AIX, RS6000/AIX, HP/HP-UX, SGI, DEC/OSF1, SUN/Solaris(SunOS) WinNT (планируется). Целевые платформы/системы программирования: транспьютеры/Inmos toolset, Parsytec MultiCluster, сети и MPP/PVM3.3 или MPI 1.1.
- Разработчик: немецкая компания GENIAS
EDPEPPS
- Официальный сайт
- Завершенный исследовательский проект
- Ориентировано на PVM
Интегрированная среда для обеспечения быстрого, эффективного и гибкого проектирования переносимых параллельных программ. В EDPEPPS входят 3 основных средства: Графическое средство конфигурирования (configuration tool) для быстрого прототипирования. Средство моделирования (simulation tool), основанное на виртуальной машине исполняющей "скелетные" параллельные программы; генерирует данные о поведении и предполагаемой производительности программы. Средство визуализации (visualisation tool) для изображения интересующих пользователя характеристик, исходя из данных, полученных при моделировании. Представляет собой расширение существующих средств визуализации трасс, таких как Gecko и Paragraph. Схема работы пользователя: Прототирование --> моделирование --> визуализация. Доступен финальный отчет. EDPEPPS: An Environment for the Design and Performance Evaluation of Portable Parallel Software , July 1997. Final Report. M.J. Zemerly.
- Разработчик: Centre For Parallel Computing at the University of Westminster
Reactor
- Коммерческий продукт
Reactor - среда разработки распределенных и клиент-серверных приложений. Включает поддержку управления ресурсами, обработку исключительных ситуаций, поддержку нитей (multi-threading), сборку мусора и другие компоненты. Поддерживаемые платформы: Windows NT 3.5/4.0, Windows 95, Solaris 2.x, SunOS 4.1, Linux/ELF, HP-UX, Digital UNIX, SGI IRIX, IBM AIX.
- Разработчик: компания Critical Mass.
DEEP (DEvelopment Environment for Parallel Programming)
- официальный сайт
- Коммерческий продукт
- Модели программирования: общая память (автоматическое распараллеливание циклов или OpenMP), параллелизм по данным (HPF, Data Parallel C), передача сообщений (MPI).
DEEP - интегрированная среда для параллельного программирования. Обеспечивает графический интерфейс, который связывает средства анализа производительности и отладки с исходным кодом программы. Помогает понять структуру и поведение параллельной программы. Подддерживаются языки Fortran (77, 90, 95) и C (а также смешанные программы на Фортране и Си). Платформы: UNIX и Windows NT.
- Разработчик: компания Pacific-Sierra Research.
Converse
Converse - среда (framework) для поддержки много-языкового параллельного программирования (взаимодействие модулей, написанных на разных языках). Поддерживаются парадигмы обмена сообщениями, объектно-ориентированного программирования, многопоточности. Поддерживаемые платформы: IBM SP, Cray T3E, Origin2000, Exemplar, сети рабочих станций (на базе HP-UX 10, Solaris/SunOS, RS/6000, SGI IRIX, Linux/x86). Доступны двоичные файлы для всех поддерживаемых платформ.
- Разработчик: Parallel Programming Laboratory (PPL), University of Illinois at Urbana-Champaign.
Средства автоматического распараллеливания
Средства распознавания параллелизма в алгоритмах, средства автоматического и полуавтоматического распаралелливания последовательных программ:
BERT 77
- Коммерческий продукт
- Бесплатно доступна LITE-версия
BERT 77 - средство автоматического распараллеливания Fortran-программ, с генерацией параллельного кода в модели обмена сообщениями (PVM или MPI).
- Разработчик: компания Paralogic.
FORGExplorer
- Коммерческий продукт
FORGExplorer SMP, FORGExplorer DMP - средства распараллеливания Fortran-программ для SMP и MPP-платформ, работающие на основе базы данных FORGExplorer.
- Разработчик: компания Applied Parallel Research.
KAP
- Коммерческий продукт
KAP (Kuck Accelerator Package) - оптимизирующий препроцессор Fortran/C-программ с обнаружением параллелизма. Visual KAP, Visual KAP for OpenMP - визуальные средства автоматического распараллеливания Fortran-программ.
- Разработчик: компания Kuck & Associates.
VAST/Parallel
- Коммерческий продукт
Набор программных продуктов для автоматического распараллеливания Fortran/C-программ для SMP-платформ. Есть возможность генерации OpenMP-кода (VAST/toOpenMP).
- Разработчик: компания Pacific-Sierra Research.