Trilinos es una colección de bibliotecas de software de código abierto , denominadas paquetes , destinadas a utilizarse como bloques de construcción para el desarrollo de aplicaciones científicas. La palabra "Trilinos" es griega y transmite la idea de "un collar de perlas", lo que sugiere una serie de paquetes de software unidos entre sí por una infraestructura común. Trilinos fue desarrollado en Sandia National Laboratories a partir de un grupo central de algoritmos existentes y utiliza la funcionalidad de interfaces de software como BLAS , LAPACK y MPI (la interfaz de paso de mensajes para programación paralela de memoria distribuida). [1] [2] [3]En 2004, Trilinos recibió un premio I + D100. [4]
Desarrollador (es) | Laboratorios Nacionales Sandia |
---|---|
Lanzamiento estable | 13.0.1 / 14 de noviembre de 2020 |
Disponible en | C ++ y C |
Licencia | Licencia BSD modificada , Licencia pública general reducida GNU |
Sitio web | trilinos |
Varias instalaciones de supercomputación proporcionan una versión instalada de Trilinos para sus usuarios. Estos incluyen el Centro de Computación Científica de Investigación de Energía Nacional (NERSC), [5] Blue Waters en el Centro Nacional de Aplicaciones de Supercomputación , [6] y la supercomputadora Titan en el Laboratorio Nacional de Oak Ridge . [7] Las supercomputadoras Cray vienen con Trilinos instalado como parte de las bibliotecas Cray Scientific y Math. [8]
Características
Trilinos contiene paquetes para:
- Construir y usar gráficas y matrices dispersas y matrices y vectores densos.
- Solución iterativa y directa de sistemas lineales .
- Multinivel paralelo y algebraica acondicionamiento previo .
- Solución de problemas no lineales, autovalores y dependientes del tiempo.
- Problemas de optimización restringidos por PDE .
- Particionamiento y balanceo de carga de estructuras de datos distribuidas.
- Diferenciación automática.
- Discretizar ecuaciones diferenciales parciales.
Trilinos admite el cálculo paralelo de memoria distribuida a través de la interfaz de paso de mensajes (MPI). Además, algunos paquetes de Trilinos tienen un soporte creciente para el cálculo paralelo de memoria compartida. Lo hacen mediante el paquete Kokkos en Trilinos, que proporciona una interfaz C ++ común sobre varios modelos de programación paralela, incluidos OpenMP , POSIX Threads y CUDA .
Lenguajes de programación
La mayoría de los paquetes de Trilinos están escritos en C ++ . La versión 12.0 y posteriores de Trilinos requieren compatibilidad con C ++ 11. Algunos paquetes Trilinos, como ML y Zoltan, están escritos en C . Algunos paquetes, como Epetra, tienen implementaciones opcionales de algunos núcleos computacionales en Fortran , pero Fortran no es necesario para construir estos paquetes.
Algunos paquetes de Trilinos tienen enlaces para otros lenguajes de programación. Estos incluyen Python, C, Fortran y Matlab.
Licencias de software
Cada paquete de Trilinos puede tener su propia licencia de software. La mayoría de los paquetes son de código abierto ; la mayoría de ellos tienen una licencia BSD modificada , mientras que algunos paquetes están bajo la Licencia pública general reducida de GNU (LGPL). Las bibliotecas BLAS y LAPACK son dependencias obligatorias. [1]
Ver también
- BLAS
- LAPACK
- Interfaz de paso de mensajes
- Lista de software de análisis numérico
- Laboratorios Nacionales Sandia
Referencias
- ^ a b "El Proyecto Trilinos" . Laboratorios Nacionales Sandia . Consultado el 24 de junio de 2014 .
- ^ Heroux, Michael A .; Bartlett, Roscoe A .; Howle, Vicki E .; Hoekstra, Robert J .; Hu, Jonathan J .; Kolda, Tamara G .; Lehoucq, Richard B .; Long, Kevin R .; Pawlowski, Roger P .; Phipps, Eric T .; Salinger, Andrew G .; Thornquist, Heidi K .; Tuminaro, Ray S .; Willenbring, James M .; Williams, Alan; Stanley, Kendall S. (2005). "Una visión general del proyecto Trilinos". ACM Trans. Matemáticas. Softw . 31 (3): 397–423. CiteSeerX 10.1.1.150.5502 . doi : 10.1145 / 1089014.1089021 .
- ^ Palen, Brock; Squyres, Jeff; Heroux, Mike; Willenbring, Jim. "RCE 49: Trilinos" . Podcast de Investigación, Computación e Ingeniería (RCE) . Consultado el 24 de junio de 2014 .
- ^ "Investigación financiada por el DOE gana 26 premios" . science.osti.gov. 2004-10-12 . Consultado el 3 de agosto de 2020 .
- ^ "Trilinos" . Centro Nacional de Computación Científica de Investigación en Energía (NERSC) . Consultado el 24 de junio de 2014 .
- ^ "Trilinos" . Aguas azules: Computación sostenida a petaescala . Centro Nacional de Aplicaciones de Supercomputación (NCSA) . Consultado el 24 de junio de 2014 .
- ^ "Trilinos" . Instalación de Computación de Liderazgo de Oak Ridge . Laboratorio Nacional de Oak Ridge . Consultado el 24 de junio de 2014 .
- ^ "Guía del usuario del entorno de programación Cray" . CRAYDOC: documentación del cliente . Cray Inc . Consultado el 24 de junio de 2014 .
enlaces externos
- Página web oficial