Стабильная версия | 3.10 / 12 сентября 2018 г.; 2 года назад (12.09.2018) |
---|---|
Репозиторий | |
Операционная система | Linux, Unix, Mac OS X, Windows |
Доступно на | C, Python |
Тип | Программное обеспечение для научного моделирования |
Лицензия | BSD Лицензия с двумя пунктами |
Веб-сайт | www.mcs.anl.gov / petsc / |
Портативный расширяемый инструментарий для научных вычислений ( PETSc, произносится как ПЭТ-см; буква S молчит), представляет собой набор структур данных и процедур, разработанных Аргоннской национальной лабораторией для масштабируемого (параллельного ) решения научных приложений, смоделированного уравнениями в частных производных. Он использует стандарт интерфейса передачи сообщений (MPI) для всей передачи сообщений. PETSc - это наиболее широко используемая в мире библиотека параллельных численных программ для вычислений уравнений в частных производных и разреженных матриц. PETSc получил награду RD 100 в 2009 году. Группа разработки ядра PETSc получила премию SIAM / ACM в области вычислительной науки и техники за 2015 год.
PETSc предназначен для крупномасштабных приложений. проектов, многие текущие проекты в области вычислительной науки построены на библиотеках PETSc . Его продуманная конструкция позволяет опытным пользователям полностью контролировать процесс решения. PETSc включает большой набор параллельных линейных и нелинейных решателей уравнений, которые легко используются в кодах приложений, написанных на C, C ++, Фортран, а теперь Python. PETSc предоставляет многие механизмы, необходимые в коде параллельного приложения, такие как простые параллельные матричные и векторные процедуры сборки, которые позволяют перекрывать вычисления связи и .. Кроме того, PETSc включает поддержку параллельных распределенных массивов , полезных для методов конечных разностей.
PETSc состоит из множества компонентов, состоящих из основных классы и поддерживающая инфраструктура. Пользователи обычно взаимодействуют с объектами классов высшего уровня, относящимися к их приложению, существенными объектами нижнего уровня, такими как векторы, и могут настраивать или расширять любые другие. Все основные компоненты PETSc имеют расширяемую архитектуру плагинов.
PETSc предоставляет множество функций для параллельных вычислений, разбитых на несколько модулей: