Портативный расширяемый набор инструментов для научных вычислений - Portable, Extensible Toolkit for Scientific Computation
Стабильный выпуск | 3.10 / 12 сентября 2018 |
---|---|
Репозиторий | |
Операционная система | Linux, Unix, Mac OS X, Windows |
Доступно в | C, Python |
Тип | Программное обеспечение для научного моделирования |
Лицензия | Лицензия BSD с двумя пунктами |
Интернет сайт | www |
В Портативный расширяемый набор инструментов для научных вычислений (PETSc, произносится как ПЭТ-см; S молчит), это набор структуры данных и распорядки разработан Аргоннская национальная лаборатория для масштабируемый (параллельно ) решение научные приложения смоделированный уравнения в частных производных. В нем работают Интерфейс передачи сообщений (MPI) стандарт для обмена сообщениями. PETSc - это наиболее широко используемая в мире библиотека параллельных вычислений для уравнения в частных производных и разреженная матрица вычисления. Компания PETSc получила награду R&D 100 в 2009 году.[1][2][3] Группа разработки ядра PETSc выиграла премию SIAM / ACM в области вычислительной науки и техники за 2015 год.[4]
PETSc предназначен для использования в крупномасштабный прикладных проектов, многие текущие проекты в области вычислительной науки построены на основе PETSc библиотеки. Его продуманная конструкция позволяет опытным пользователям полностью контролировать процесс решения. PETSc включает в себя большой набор параллельных линейный и нелинейный решатели уравнений которые легко использовать в кодах приложений, написанных на C, C ++, Фортран и сейчас Python. PETSc предоставляет множество механизмов, необходимых в коде параллельного приложения, например, простой параллельный матрица и вектор процедуры сборки, которые позволяют перекрывать коммуникация и вычисление. Кроме того, PETSc включает поддержку параллельного распределения массивы полезный для конечная разница методы.[5]
Составные части
PETSc состоит из множества компонентов, состоящих из основных классы и вспомогательная инфраструктура. Пользователи обычно взаимодействуют с объекты классов высшего уровня, относящихся к их приложению, существенным объектам нижнего уровня, таким как векторы, и могут настраивать или расширять любые другие. Все основные компоненты PETSc имеют расширяемую архитектуру плагинов.
Особенности и модули
PETSc предоставляет множество функций для параллельных вычислений, разбитых на несколько модулей:
- Наборы индексов, включая перестановки, за индексация в векторы, перенумерация и т. д.
- Параллельный векторов; и матрицы (в общем редкий )
- Скаттеры (обрабатывает информацию о точках-призраках) и собирает (противоположность scatter)
- Управление данными для параллельного структурированный и неструктурированные сетки
- Несколько редкий место хранения форматы
- Масштабируемая параллель предварительные кондиционеры, включая многосеточный и редкие прямые решатели
- Крыловское подпространство методы
- Параллельные нелинейные решатели, такие как Метод Ньютона и нелинейный GMRES
- Параллельный шагающий по времени (ODE и DAE ) решатели
- Автоматическое профилирование плавающая точка и объем памяти использование
- Последовательный интерфейс
- Интенсивная проверка ошибок
- Портативный для UNIX, Mac OS X, и Windows
Примечания
- ^ http://www.anl.gov/sites/anl.gov/files/Argonne_strategic_plan_0.pdf
- ^ «Компания PETSc выигрывает награду« 100 R&D 2009 »| Argonne Leadership Computing Facility». Alcf.anl.gov. 2009-07-21. Получено 2013-05-01.
- ^ Чт, 30.07.2009 - 5:23 (30.07.2009). «PETSc Release 3.0 расширяет возможности». Rdmag.com. Получено 2013-05-01.
- ^ "Премия SIAM / ACM в области вычислительной науки и техники". siam.org. 2015-03-18. Получено 2015-04-19.
- ^ http://www.mcs.anl.gov/petsc/petsc-dev/docs/manual.pdf
Библиография
- Руководство пользователя PETSc, Сатиш Балай, Шриранг Абхьянкар, Марк Ф. Адамс, Джед Браун, Питер Брун, Крис Бушельман, Виктор Эйджхут, Уильям Д. Гропп, Динеш Кошик, Мэтью Г. Кнепли, Лоис Керфман Макиннес, Карл Рупп, Барри Ф. Смит и Хонг Чжан, ANL-95/11 Revision 3.5, Аргоннская национальная лаборатория, июнь 2014 г.
- Эффективное управление параллелизмом в объектно-ориентированных библиотеках числовых программ, Сатиш Балай, Уильям Д. Гропп, Лоис Курфман Макиннес, Барри Ф. Смит, Современные программные инструменты в научных вычислениях, под ред. Bruaset et al., Стр. 163–202, 1997.
- Численное моделирование геодинамических процессов с помощью Portable Extensible Toolkit for Scientific Computing, Р.Ф. Кац, М. Непли, Б. Смит, М. Шпигельман и Э. Кун, Физика Земли и планетных недр, 163, стр. 52-68, 2007.
- Эд Бюлер: "PETSc для уравнений с частными производными: численные решения на C и Python", SIAM, ISBN 978-1-611976-30-4 (2020).