Basic Linear Algebra Subprograms
Basic Linear Algebra Subprograms (BLAS) es una especificación que define un conjunto de rutinas de bajo nivel para realizar operaciones comunes de álgebra lineal tales como la suma de vectores, multiplicación escalar, producto escalar combinaciones lineales y multiplicación de matrices. Aunque la especificación de BLAS es general, las implementaciones particulares están a menudo optimizadas para conseguir mayor aceleración en una máquina o arquitectura particular, de forma que su uso puede conllevar un incremento sustancial del rendimiento. Las implementaciones de BLAS se pueden aprovechar de la existencia de hardware especial de punto flotante, tales como registros vectoriales o instrucciones SIMD.
Funcionalidad
La funcionalidad de BLAS se categoriza en tres conjuntos de rutinas llamados "niveles", que corresponden tanto al orden cronológico de definición y publicación, como al grado del polinomio en las complejidades de los algoritmos; las operaciones BLAS de nivel 1 (Level 1) a menudo se resuelven en tiempo lineal linear time, O(n), las operaciones de Nivel 2 (Level 2) en tiempo cuadrático y las operaciones de Nivel 3 (Level 3) tiempo cubico.[1] Las implementaciones modernas de BLAS suelen proveer de los tres niveles.
Referencias
- ↑ Error en la cita: Etiqueta
<ref>
no válida; no se ha definido el contenido de las referencias llamadaslevel3
- BLAST Forum (21 de agosto de 2001), Basic Linear Algebra Subprograms Technical (BLAST) Forum Standard, Knoxville, TN: University of Tennessee.
- Dodson, D. S.; Grimes, R. G. (1982), «Remark on algorithm 539: Basic Linear Algebra Subprograms for Fortran usage», ACM Trans. Math. Softw. 8: 403–404, doi:10.1145/356012.356020.
- Dodson, D. S. (1983), «Corrigendum: Remark on "Algorithm 539: Basic Linear Algebra Subroutines for FORTRAN usage"», ACM Trans. Math. Softw. 9: 140, doi:10.1145/356022.356032.
- J. J. Dongarra, J. Du Croz, S. Hammarling, and R. J. Hanson, Algorithm 656: An extended set of FORTRAN Basic Linear Algebra Subprograms, ACM Trans. Math. Softw., 14 (1988), pp. 18–32.
- J. J. Dongarra, J. Du Croz, I. S. Duff, and S. Hammarling, A set of Level 3 Basic Linear Algebra Subprograms, ACM Trans. Math. Softw., 16 (1990), pp. 1–17.
- J. J. Dongarra, J. Du Croz, I. S. Duff, and S. Hammarling, Algorithm 679: A set of Level 3 Basic Linear Algebra Subprograms, ACM Trans. Math. Softw., 16 (1990), pp. 18–28.
- New BLAS
- L. S. Blackford, J. Demmel, J. Dongarra, I. Duff, S. Hammarling, G. Henry, M. Heroux, L. Kaufman, A. Lumsdaine, A. Petitet, R. Pozo, K. Remington, R. C. Whaley, An Updated Set of Basic Linear Algebra Subprograms (BLAS), ACM Trans. Math. Softw., 28-2 (2002), pp. 135–151.
- J. Dongarra, Basic Linear Algebra Subprograms Technical Forum Standard, International Journal of High Performance Applications and Supercomputing, 16(1) (2002), pp. 1–111, and International Journal of High Performance Applications and Supercomputing, 16(2) (2002), pp. 115–199.