stringtranslate.com

OpenBLAS

OpenBLAS es una implementación de código abierto de las API BLAS (Basic Linear Algebra Subprograms) y LAPACK con muchas optimizaciones diseñadas a mano para tipos de procesadores específicos . Se desarrolló en el Laboratorio de Software Paralelo y Ciencias Computacionales, ISCAS .

OpenBLAS añade implementaciones optimizadas de núcleos de álgebra lineal para varias arquitecturas de procesadores, incluyendo Intel Sandy Bridge [3] y Loongson [4] . Afirma lograr un rendimiento comparable al de Intel MKL . En máquinas que admiten el conjunto de instrucciones AVX2, OpenBLAS puede lograr un rendimiento similar al de MKL, pero actualmente casi no hay bibliotecas de código abierto comparables a MKL en CPU con el conjunto de instrucciones AVX512.

OpenBLAS es una bifurcación de GotoBLAS 2, que fue creado por Kazushige Goto en el Centro de Computación Avanzada de Texas .

Historia y presente

OpenBLAS fue desarrollado por el grupo de software paralelo dirigido por el profesor Yunquan Zhang de la Academia China de Ciencias.

OpenBLAS inicialmente solo estaba destinado a la plataforma de CPU Loongson. El Dr. Xianyi Zhang contribuyó con mucho trabajo. Dado que GotoBLAS fue abandonado, el sucesor OpenBLAS ahora se desarrolla como una biblioteca BLAS de código abierto para múltiples plataformas, incluidas las plataformas x86 , ARMv8, MIPS y RISC-V , y es respetado por su excelente portabilidad.

El grupo de software paralelo está modernizando OpenBLAS para satisfacer las necesidades informáticas actuales. Por ejemplo, los cálculos de nivel 3 de OpenBLAS se optimizaron principalmente para matrices grandes y cuadradas (a menudo consideradas matrices de forma regular). Y ahora también se admiten la multiplicación de matrices de forma irregular, como la multiplicación de matrices altas y delgadas (TSMM), [5] que admite cálculos de aprendizaje profundo más rápidos en la CPU. TSMM es uno de los cálculos centrales en las operaciones de aprendizaje profundo. Además de esto, OpenBLAS también admitirá la función compacta y la GEMM pequeña.

Véase también

Referencias

  1. ^ "Versión OpenBLAS 0.3.28". 8 de agosto de 2024 . Consultado el 10 de agosto de 2024 .
  2. ^ "AbiertoBLAS". GitHub . 25 de octubre de 2021.
  3. ^ Wang Qian; Zhang Xianyi; Zhang Yunquan; Qing Yi (2013). AUGEM: Generación automática de núcleos de álgebra lineal densa de alto rendimiento en CPU x86 (PDF) . Conferencia internacional sobre computación de alto rendimiento, redes, almacenamiento y análisis.
  4. ^ Zhang Xianyi; Wang Qian; Zhang Yunquan (2012). Optimización del rendimiento de BLAS de nivel 3 basada en modelos en el procesador Loongson 3A . 18.ª Conferencia Internacional IEEE sobre sistemas paralelos y distribuidos (ICPADS).
  5. ^ Chendi Li; Haipeng Jia; Hang Cao; Jianyu Yao; Boqian Shi; Chunyang Xiang; Jinbo Sun; Pengqi Lu; Yunquan Zhang (2021). AutoTSMM: un marco de ajuste automático para crear una multiplicación de matriz-matriz alta y delgada de alto rendimiento en CPU (PDF) . Simposio internacional IEEE sobre procesamiento paralelo y distribuido con aplicaciones.

Enlaces externos