Resumen
Este artículo describe el desarrollo, implementación y evaluación de un soporte de memoria fuera de núcleo (outof-core) para las operaciones básicas sobre matrices dispersas, es decir, producto matriz-vector y transpuesta de la matriz. La implementación está basada en un núcleo que optimiza el acceso a un nodo (fila/columna) desde y hacia el disco a través de una caché en memoria y un archivo en disco. El nodo se maneja en un formato comprimido con el objeto de minimizar el tiempo de acceso y el espacio de almacenamiento. Los resultados obtenidos con un procesador AMD Opteron 880TM muestran ahorros significativos en el uso de memoria con una baja penalización en tiempo de ejecución.
Abstract
This paper describes the development, implementation and benchmarking for an out-of-core support for the basic operations on sparse matrices, e. g. matrix-vector product and transposition. The core of this implementation is an out-of-core kernel that optimizes the accesses to a node (row/column) from and to disk through a cache and a temporal file. Each node is managed in a compressed format variation (CRS/CCS), minimizing in that way both, the access time and the storing space. The results obtained on a AMD Opteron 880TM processor showed significant memory savings at a low overhead cost in execution time.
Ponencia publicada en: Memorias del Congreso Latinoamericano de Computación de Alto Rendimiento (CLCAR) Santa Marta, Colombia 13 al 18 de agosto 2007. J.C. Jaime y G. Díaz (editores), Publicaciones Univ. Industrial de Santander, Bucaramanga, Colombia (2007).