Linpack

El benchmark Linpack fue desarrollado en el Argone National Laboratory por Jack Dongarra en 1976, y es uno de los más usados en sistemas científicos y de ingeniería.

Su uso como benchmark fue accidental, ya que originalmente fue una extensión del programa Linpack -cuyo propósito era resolver sistemas de ecuaciones- que otorgaba el tiempo de ejecución del programa en 23 máquinas distintas. Luego fueron agregándose cada vez mayor cantidad de máquinas (según sus mismos autores más como un pasatiempo que otra cosa).

Hoy en día, el programa Linpack ha sido reemplazado por el paquete Lapack, el cual hace un uso mucho mejor de las características de la arquitectura RISC (en esencia, sus técnicas algorítmicas fueron modificadas para que pase menor tiempo moviendo datos).

El benchmark Linpack puede conseguirse en versión Fortran, C y como un applet de Java.

Descripción del benchmark

La característica principal de Linpack es que hace un uso muy intensivo de las operaciones de coma flotante, por lo que sus resultados son muy dependientes de la capacidad de la FPU que tenga el sistema. Además pasan la mayor parte del tiempo ejecutando unas rutinas llamadas BLAS (Basic Linear Algebra Subroutines o Subrutinas de Álgebra Lineal Básica). Como hay dos tipos de estas bibliotecas (una codificada en ensamblador y otra en Fortran), el resultado también dependerá mucho de esto. De lejos, el mayor tiempo de ejecución se consume en la rutina DAXPY de la biblioteca BLAS (casi el 90%). DAXPY realiza el siguiente cálculo

y(i) := y(i) + a * x(i).

Es por esto que en realidad se puede decir que lo que mide Linpack es la velocidad del sistema para DAXPY.

Por otra parte, al realizar esencialmente cálculos con matrices es un test fácilmente paralelizable, y se puede utilizar para medir la eficiencia de sistemas multiprocesador (de hecho, existe una página en Internet que informa el "Top 500" de las computadoras basándose en el Linpack: http://www.top500.org/).

Other Languages
العربية: لينباك
български: LINPACK
català: LINPACK
Deutsch: LINPACK
English: LINPACK
Esperanto: Linpack
français: LINPACK
italiano: LINPACK
日本語: LINPACK
한국어: LINPACK
polski: LINPACK
русский: LINPACK
slovenčina: LINPACK
українська: Linpack