x
1

Livermore



Livermore es un benchmark que consiste en una serie de rutinas computacionales desarrolladas por el Laboratorio Nacional de Lawrence Livermore (Livermore, California), y es utilizado para probar el rendimiento de sistemas en cuanto a aritmética de coma flotante escalares y vectoriales. Fue introducido originalmente en 1970, cuando estaba compuesto de 14 kernels de aplicaciones numéricas de coma flotante escritas en Fortran (aunque hoy existe una traducción a C); luego este número fue elevado a 24 en la década de 1980.

El motivo de su desarrollo fue que en este laboratorio les era imposible realizar benchmarks con programas que formen parte de su carga de trabajo normal. Estas aplicaciones reales normalmente excedían las 100.000 líneas de código, tenían muchas rutinas orientadas a hardware específico (lo que complica su portabilidad) y además la gran mayoría de este software es secreto. Dada la situación, resolvieron crear un benchmark con aplicaciones que fueran representativas de su carga de trabajo.

El resultado fue un benchmark que sirve para medir la capacidad del procesador en supercomputadoras. No es un benchmark sintético, ya que sus módulos provienen de partes de computaciones reales (a diferencia del Whetstone y el Dhrystone, que intentaban reproducir proporcionalmente las instrucciones más usadas por los programas de la época).

El código fuente es un programa de un solo nivel contenido en un único archivo fuente que es fácilmente compilado y enlazado. La única función dependiente del sistema es la que llama al reloj del sistema para poder obtener la medición (en segundos). Si bien es necesaria la biblioteca de funciones matemáticas estándar, la ejecución de estas no insume la mayor parte del tiempo como sucede con otros benchmarks.

Ciertos kernels son vectorizables, y la reprogramación para aprovechar esta característica es permitida siempre y cuando su uso sea solamente para la demostración de las capacidades de una determinada tecnología.

Los resultados deben ser enviados al ASCI (Accelerated Strategic Computing Iniciative o Iniciativa de Computación Estratégica Acelerada) del Laboratorio Lawrence Livermore, quienes se encargan de poner las reglas y verificar los resultados que son publicados.

La medida de rendimiento está en término de Millones de Operaciones de Punto Flotante Por Segundo o MFLOPS. El programa además chequea la precisión computacional de los resultados (realiza una suma de comprobación y determina cuánto se aleja del estándar de punto flotante IEEE 754). Una de sus características es que no produce comparaciones de performance con un solo número, sino que ejecuta los 24 kernels en tres distintos bucles que producen 3 distintas medidas de rendimiento: para vectores cortos, medios y largos. Otorga también una serie de medidas generales, que consisten en la media aritmética, media geométrica y media armónica, mínimo y máximo de los resultados.

Algunos kernels representan computaciones genéricas ampliamente usadas, como por ejemplo: producto puntual y matricial, polinomios, sumas y diferencias, recurrencias de primer orden, resolutores de matrices y buscadores de arreglos. Algunos kernels tipifican construcciones frecuentemente usadas y otras contienen construcciones que son difíciles de compilar en código de máquina eficiente.



Escribe un comentario o lo que quieras sobre Livermore (directo, no tienes que registrarte)


Comentarios
(de más nuevos a más antiguos)


Aún no hay comentarios, ¡deja el primero!