Специализированные параллельные библиотеки
Параллельные процедуры из областей линейной алгебры, сеточных методов, методов Монте-Карло, генетических алгоритмов, рендеринга изображений, квантовой и молекулярной химии и др., доступные для использования в пользовательских приложениях.
ATLAS, Aztec, BlockSolve95, Distributed Parallelization at CWP, DOUG, GALOPPS, JOSTLE, NAMD, P-Sparslib, PIM, ParMETIS, PARPACK, PBLAS, PETSc, PGAPack, PLAPACK, ScaLAPACK, SPRNG, другие, ссылки.
ATLAS
- ATLAS (Automatically Tuned Linear Algebra Software) - библиотека, позволяющая автоматически генерировать и оптимизировать численное программное обеспечение для процессоров с многоуровневой организацией памяти и конвейерными функциональными устройствами. Базируется на BLAS 3 уровня (Level 3). ATLAS требует некоторого времени для изучения основных параметров архитектуры целевого компьютера, а затем на основе этих параметров получает "оптимальный" код.
- Библиотека разработана в Argonne National Laboratory/MCS division. Распространяется бесплатно.
Aztec
- Aztec - параллельная библиотека итерационных методов для решения систем линейных уравнений. Позволяет описывать части распределенной матрицы с использованием глобальной адресации.
- Дополнительные ссылки: Раздел методического пособия (Ростовский университет).
BlockSolve95
- Параллельная библиотека для решения разреженных систем линейных уравнений. Реализована с помощью MPI.
- Библиотека разработана в Argonne National Laboratory/MCS division. Распространяется бесплатно.
Distributed Parallelization at CWP
- Reflectivity, Distributed seismic Unix - параллельный расчет сейсмических моделей.
- Реализовано с помощью PVM.
DOUG
- DOUG (Domain decomposition On Unstructured Grids) - параллельный решатель для finite element - систем, возникающих из дифференциальных уравнений с частными производными эллиптического типа.
- Библиотека реализована с помощью MPI. Протестирована на платформах SGI, SUN, SUN Solaris, IBM SP2, Intel i860 и LINUX.
- Библиотека DOUG разработана в Department of Mathematics, University of Bath (Англия). Доступна бесплатно.
GALOPPS
- GALOPPS (Genetic ALgorithm Optimized for Portability and Parallelism System) - библиотека "обобщенных" генетических алгоритмов. Доступна многопоточная версия.
- Распространяется бесплатно.
JOSTLE
- JOSTLE - библиотека для распределения расчетов на сетках (mesh partitioning software).
- Реализована на С с помощью MPI.
NAMD
- NAMD - параллельная объектно-ориентированная библиотека для расчетов в области молекулярной динамики.
- Реализована на С++ с использованием шаблонов, а также Charm++ и Converse.
- Распространяется бесплатно. Доступны исходные тексты, а также откомпилированные двоичные файлы для платформ HP-UX, SGI Origin2000, Linux/x86, Solaris/SPARC, Cray T3E.
P-Sparslib
- PSPARSLIB (A Portable Library of Parallel Sparse Iterative Solvers) - библиотека параллельных итеративных решателей для разреженных линейных систем.
PIM
- PIM (The Parallel Iterative Methods) - набор процедур на Фортран-77, реализующих параллельные версии различных итеративных методов решения систем линейных уравнений.
- Платформы: сеть рабочих станций с PVM3 или MPI, SGI Challenge, Cray T3D/T3E, IBM RS/6000 SP и др.
ParMETIS
- PARMETIS - параллельная версия библиотеки METIS, включающей ряд алгоритмов над графами (parallel graph partitioning).
- Реализована с помощью MPI.
PARPACK
- PARPACK (Parallel ARPACK) является параллельной версий библиотеки ARPACK (Arnoldi Package) для решения крупноразмерных задач собственных значений на Fortran 77.
- Используются коммуникационные библиотеки BLACS и MPI.
PBLAS
- Параллельные версии базовых процедур линейной алгебры (BLAS), уровней 1, 2, 3. Библиотека разработана в рамках проекта ScaLAPACK.
PETSc
- Набор процедур и структур данных для параллельного решения научных задач с моделями, описываемыми в виде дифференциальных уравнений с частными производными.
- Библиотека реализована с помощью MPI.
- Поддерживаемые платформы: рабочие станции Sun, RS/6000 включая SP, SGI IRIX - 32-битные и 64-битные версии, HP Exemplar, Cray T3D/T3E, DEC Alpha, Linux/FreeBSD/Windows NT на Intel.
- Библиотека разработана в Argonne National Laboratory/MCS division. Распространяется бесплатно.
PGAPack
- PGAPACK (Parallel Genetic Algorithm Library) - библиотека параллельных генетических алгоритмов.
- Разработана в ANL/MCS (David Levine).
PLAPACK
- Пакет параллельных процедур линейной алгебры. Включает параллельные версии процедур решения систем линейных уравнений с помощью LU и QR-разложений, разложения Холецкого.
- Пакет PLAPACK реализован с помощью MPI. Включает интерфейсы для языков Fortran и С.
- Пакет PLAPACK разработан в университете шт. Техас (Austin). Доступен бесплатно.
- Руководство пользователя было издано в издательстве MIT Press: Robert van de Geijn, "Using PLAPACK: Parallel Linear Algebra Package" (1997).
ScaLAPACK
- Библиотека ScaLAPACK включает подмножество процедур LAPACK, переработанных для использования на MPP-компьютерах, включая: решение систем линейных уравнений, обращение матриц, ортогональные преобразования, поиск собственных значений и др.
- Библиотека ScaLAPACK разработана с использованием PBLAS (параллельные версии BLAS уровней 1,2,3) и коммуникационной библиотеки BLACS.
- Поддерживается на платформах IBM RS/6000 SP, Intel Paragon, SGI Origin 2000, и HP Exemplar, а также на кластерах рабочих станций. Может быть портирована на любую платформу, где поддерживается PVM или MPI.
- ScaLAPACK - совместный проект нескольких организаций (Oak Ridge National Laboratory, Rice University, University of California at Berkeley University of California at LA University of Illinois, University of Tennessee at Knoxville)
SPRNG
- SPRNG (Scalable Parallel Random Number Generators) - параллельная библиотека генераторов случайных чисел для методов Монте-Карло.
Другие библиотеки
- GROMACS
- HERMES
- Multiblock PARTI
- ParSODES
- Различные параллельные математические библиотеки, разработанные в NASA/JPL.
- 3D Parallel Multigrid Helmholtz Solver
- Parallel Incompressible Flow Solver Package
- 3D FFTs Using Slab Decompositions
- DDLIB Data Distribution Library
- Parallel Renderer
- A Library of Partial Global Operations in Parallel Architectures
- A Parallel Partitioner for Unstructured Grids and Random Particles
- Matpar: Parallel Matlab-callable Code for Matrix Operations
- QCDMPI
- PPBB (Portable Parallel branch-and-bound library)
- VFleet (Distributed Volume Renderer)
Смотрите также:
- Freely Availiable Software for Linear Algebra on the Web (автор: Дж.Донгарра).
© Лаборатория Параллельных Информационных Технологий, НИВЦ МГУ