Стабильный релиз | 3.22 / 28 сентября 2024 г. ( 2024-09-28 ) |
---|---|
Репозиторий |
|
Операционная система | Linux , Unix , Mac OS X , Windows |
Доступно в | Си, Питон, Фортран |
Тип | Программное обеспечение для научного моделирования |
Лицензия | Лицензия BSD с двумя пунктами |
Веб-сайт | petsc.org |
Portable , Extensible Toolkit for Scientific Computation ( PETSc , произносится как PET-see; буква S не пишется) — это набор структур данных и процедур, разработанных Аргоннской национальной лабораторией для масштабируемого ( параллельного ) решения научных приложений, моделируемых уравнениями с частными производными . Он использует стандарт интерфейса передачи сообщений (MPI) для всех коммуникаций с передачей сообщений. PETSc — это самая широко используемая в мире библиотека параллельного численного программного обеспечения для уравнений с частными производными и вычислений с разреженными матрицами . PETSc получила премию R&D 100 Award в 2009 году. [1] [2] [3] Группа разработки ядра PETSc выиграла премию SIAM/ACM в области вычислительной науки и техники за 2015 год. [4]
PETSc предназначен для использования в крупномасштабных прикладных проектах, многие текущие проекты вычислительной науки построены вокруг библиотек PETSc . Его тщательный дизайн позволяет продвинутым пользователям иметь подробный контроль над процессом решения. PETSc включает в себя большой набор параллельных линейных и нелинейных решателей уравнений , которые легко используются в кодах приложений, написанных на C , C++ , Fortran и теперь Python . PETSc предоставляет многие из механизмов, необходимых в параллельном коде приложений, такие как простые параллельные процедуры сборки матриц и векторов , которые позволяют перекрывать связь и вычисления . Кроме того, PETSc включает поддержку параллельных распределенных массивов, полезных для методов конечных разностей . [5]
PETSc состоит из множества компонентов, включающих основные классы и вспомогательную инфраструктуру. Пользователи обычно взаимодействуют с объектами классов самого высокого уровня, соответствующими их приложению, существенными объектами более низкого уровня, такими как векторы, и могут настраивать или расширять любые другие. Все основные компоненты PETSc имеют расширяемую архитектуру плагинов.
PETSc предоставляет множество функций для параллельных вычислений, разбитых на несколько модулей:
{{cite web}}
: CS1 maint: архивная копия как заголовок ( ссылка ){{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка ){{cite web}}
: CS1 maint: архивная копия как заголовок ( ссылка )