Введение

Портативный, расширяемый набор инструментов для научных вычислений (PETSc, произносится PET see; S - молчание), представляет собой набор структур данных и процедур, разработанных Национальной лабораторией Аргон для масштабируемого (параллельного) решения научных приложений, смоделированных частными дифференциальными уравнениями. Он использует стандарт MPI для всех сообщений. PETSc - это наиболее широко используемая в мире параллельная библиотека программного обеспечения для дифференциальных уравнений и расчетных вычислений матриц. PETSc получил награду R&D 100 в 2009 году. Группа разработки PETSc Core получила премию SIAM/ACM в области вычислительной науки и техники за 2015 год. PETSc предназначен для использования в крупномасштабных прикладных проектах, многие текущие вычислительные научные проекты построены вокруг библиотек PETSc. Его тщательная конструкция позволяет опытным пользователям иметь подробный контроль над процессом решения. PETSc включает в себя большой набор решений параллельных линейных и нелинейных уравнений, которые легко используются в кодах приложений, написанных на C, C++, Fortran и теперь Python. PETSc обеспечивает многие механизмы, необходимые для параллельного кода приложений, такие как простые параллельные матрицы и векторные сборки, которые позволяют перекрывать коммуникацию и вычисления. Кроме того, PETSc включает поддержку параллельных распределенных массивов, полезных для методов с конечными разницами.

Компоненты

PETSc состоит из различных компонентов, состоящих из основных классов и поддерживающей инфраструктуры. Пользователи обычно взаимодействуют с объектами высшего уровня, относящимися к их приложению, основными объектами низшего уровня, такими как векторы, и могут настраивать или расширять любые другие. Все основные компоненты PETSc имеют расширяемую архитектуру плагинов.