De Wikipedia, la enciclopedia libre
  (Redirigido desde PETSc )
Saltar a navegación Saltar a búsqueda

El kit de herramientas portátil y extensible para computación científica ( PETSc , se pronuncia PET-see; la S es silenciosa), es un conjunto de estructuras de datos y rutinas desarrolladas por Argonne National Laboratory para la solución escalable ( paralela ) de aplicaciones científicas modeladas por ecuaciones diferenciales parciales . Emplea el estándar de interfaz de paso de mensajes (MPI) para todas las comunicaciones de paso de mensajes. PETSc es la biblioteca de software numérico paralelo más utilizada en el mundo para ecuaciones diferenciales parciales y matrices dispersas.cálculos. PETSc recibió un premio R&D 100 Award en 2009. [1] [2] [3] El Grupo de Desarrollo Central PETSc ganó el Premio SIAM / ACM en Ciencia e Ingeniería Computacional para 2015. [4]

PETSc está diseñado para su uso en proyectos de aplicaciones a gran escala , muchos proyectos de ciencia computacional en curso se construyen alrededor de las bibliotecas PETSc . Su cuidadoso diseño permite a los usuarios avanzados tener un control detallado sobre el proceso de la solución. PETSc incluye un gran conjunto de solucionadores de ecuaciones lineales y no lineales paralelas que se utilizan fácilmente en códigos de aplicación escritos en C , C ++ , Fortran y ahora Python . PETSc proporciona muchos de los mecanismos necesarios dentro del código de aplicación en paralelo, como rutinas simples de ensamblaje de matrices paralelas y vectores que permiten la superposición decomunicación y computación . Además, PETSc incluye soporte para matrices distribuidas en paralelo útiles para métodos de diferencias finitas . [5]

Componentes [ editar ]

Componentes principales del paquete de software PETSc a partir de la versión 3.5

PETSc consta de una variedad de componentes que consisten en clases principales e infraestructura de soporte. Los usuarios suelen interactuar con objetos de las clases de nivel más alto relevantes para su aplicación, objetos esenciales de nivel inferior como vectores, y pueden personalizar o ampliar cualquier otro. Todos los componentes principales de PETSc tienen una arquitectura de complementos extensible.

Funciones y módulos [ editar ]

PETSc proporciona muchas funciones para el cálculo paralelo, divididas en varios módulos:

  • Conjuntos de índices, incluidas las permutaciones , para indexar en vectores, renumerar, etc.
  • Vectores paralelos ; y matrices (generalmente escasas )
  • Dispersa (maneja la comunicación de información de puntos fantasmas) y reúne (lo opuesto a scatters)
  • Gestión de datos para mallas estructuradas y no estructuradas en paralelo
  • Varios formatos de almacenamiento dispersos
  • Paralelas escalables precondicionadores , incluyendo multigrid y resolutores directos dispersas
  • Métodos del subespacio de Krylov
  • Solucionadores no lineales paralelos, como el método de Newton y GMRES no lineal
  • Solucionadores de pasos de tiempo en paralelo ( ODE y DAE )
  • Solucionadores de optimización paralelos , como BFGS
  • Perfilado automático del uso de memoria y punto flotante
  • Interfaz consistente
  • Comprobación intensiva de errores
  • Portátil a UNIX , Mac OS X y Windows

Notas [ editar ]

  1. ^ http://www.anl.gov/sites/anl.gov/files/Argonne_strategic_plan_0.pdf
  2. ^ "PETSc gana el premio I + D 100 de 2009 | Instalación de computación de liderazgo de Argonne" . Alcf.anl.gov. 2009-07-21 . Consultado el 1 de mayo de 2013 . CS1 maint: parámetro desalentado ( enlace )
  3. ^ Jueves, 30 de julio de 2009 - 5:23 am (30 de julio de 2009). "PETSc Release 3.0 amplía las capacidades" . Rdmag.com . Consultado el 1 de mayo de 2013 . CS1 maint: parámetro desalentado ( enlace )
  4. ^ "Premio SIAM / ACM en Ciencias e Ingeniería Computacional" . siam.org. 2015-03-18 . Consultado el 19 de abril de 2015 . CS1 maint: parámetro desalentado ( enlace )
  5. ^ http://www.mcs.anl.gov/petsc/petsc-dev/docs/manual.pdf

Bibliografía [ editar ]

  • Manual del usuario de PETSc , Satish Balay, Shrirang Abhyankar, Mark F. Adams, Jed Brown, Peter Brune, Kris Buschelman, Victor Eijkhout, William D. Gropp, Dinesh Kaushik, Matthew G. Knepley, Lois Curfman McInnes , Karl Rupp, Barry F. Smith y Hong Zhang, ANL-95/11 Revisión 3.5, Laboratorio Nacional Argonne, junio de 2014.
  • Gestión eficiente del paralelismo en bibliotecas de software numérico orientadas a objetos , Satish Balay, William D. Gropp, Lois Curfman McInnes, Barry F. Smith, Modern Software Tools in Scientific Computing, ed. Bruaset et al., Págs. 163-202, 1997.
  • Simulación numérica de procesos geodinámicos con Portable Extensible Toolkit for Scientific Computation , RF Katz, MG Knepley, B. Smith, M. Spiegelman y ET Coon, Physics of The Earth and Planetary Interiors, 163, págs. 52-68, 2007.
  • Ed Bueler: "PETSc para ecuaciones diferenciales parciales: soluciones numéricas en C y Python", SIAM, ISBN 978-1-611976-30-4 (2020). 

Ver también [ editar ]

  • lista de bibliotecas numéricas

Enlaces externos [ editar ]

  • El sitio web oficial de PETSc
  • Página del software de álgebra lineal de Jack Dongarra