Cómputo de alto desempeño para operaciones vectoriales en BLAS-1
Palabras clave:
Cómputo cientíco, BLAS-1, técnica de unroll, programación vectorialResumen
La biblioteca de funciones denominada Subprogramas Básicos de Álgebra Lineal (BLAS-1) es considerada el estándar de programación en computación científica. En este trabajo nos enfocamos en el análisis de diversas técnicas de optimización de código para incrementar el desempeño computacional de BLAS-1. En particular abordamos un enfoque combinacional para explorar las posibles formas de codificación empleando la técnica de unroll con diversos niveles de profundidad, programación vectorial de datos con MMX y SSE para procesadores Intel. Empleando las funciones principales de BLAS-1 determinamos numéricamente un incremento computacional, expresado en mega flops, de hasta 52% en comparación con la biblioteca optimizada BLAS-1 de ATLAS.
Descargas
Citas
Bouhamidi, A., Hached, M., y Jbilou, K. (2013). A meshless method for the numerical computation of the solution of steady burgerstype equations. Applied Numerical Mathematics, 74 (0), 95 - 110.
Chisnall, D. (2007, marzo). Programming with gcc. InformIT Article is provided courtesy of Prentice Hall Professional.
Davidson, J. W., y Jinturkar, S. (1995). Improving instruction-level parallelism by loop unrolling and dynamic memory disambiguation. En In proceedings of the 28th annual international symposium on microarchitecture (pp. 125-132). IEEE Computer Society.
Golub, G. H., y Loan, C. F. V. (1996). Matrix computations (3rd ed.). The Johns Hopkins University Press.
Goto, K., y Van De Geijn, R. (2008). High-performance implementation of the level-3 blas. ACM Trans. Math. Softw., 35 (1), 4:1-4:14.
Hennessy, J. L., y Patterson, D. A. (2003). Computer architecture: A quantitative approach (3.a ed.). San Francisco, CA, USA: Morgan Kaufmann Publishers Inc.
Higham, N. J. (2002). Accuracy and stability of numerical algorithms (2. ed.). SIAM.
Inc., I. (2012, abril). Intel R 64 and ia-32 architectures optimization reference manual (Vol. A) [Manual de software inform´atico].
Lawson, C. L., Hanson, R. J., Kincaid, D. R., y Krogh, F. T. (1979, septiembre). Basic linear algebra subprograms for fortran usage. ACM Trans. Math. Softw., 5 (3), 308-323.
Mansour, A., y Gtze, J. (2013). Utilizing robustness of krylov subspace methods in reducing the effort of sparse matrix vector multiplication. Procedia Computer Science, 18 (0), 2406 - 2409. (2013 International Conference on Computational Science).
Mittal, M., Peleg, A., y Weiser, U. (1997). Mmx technology architecture overview. (Q3).
Napoli, E. D., Fabregat-Traver, D., Quintana-Ort, G., y Bientinesi, P. (2014). Towards an efficient use of the {BLAS} library for multilinear tensor contractions. Applied Mathematics and Computation, 235 (0), 454 - 468.
Trefethen, L. N., y Bau, D. (1997). Numerical linear algebra. SIAM.
Van Loan, C. F. (1999). Introduction to scientific computing. Prentice-Hall. Wang, Q., Zhang, X., Zhang, Y., y Yi, Q. (2013). Augem: automatically generate high performance dense linear algebra kernels on x86 cpus. En W. Gropp y S. Matsuoka (Eds.), Sc (p. 25). ACM. Whaley, R. C., y Dongarra, J. J. (1997). Automatically tuned linear algebra software (Inf. T´ec.). Knoxville, TN, USA: University of Tennessee.
Yzelman, A.-J. N., Roose, D., y Meerbergen, K. (2015). Chapter 27 - sparse matrix-vector multiplication: Parallelization and vectorization. En J. R. Jeffers (Ed.), High performance parallelism pearls (p. 457 - 476). Boston: Morgan Kaufmann
Publicado
Cómo citar
Número
Sección
Las opiniones expresadas por los autores no necesariamente reflejan la postura del editor de la publicación ni de la UCLA. Se autoriza la reproducción total o parcial de los textos aquí publicados, siempre y cuando se cite la fuente completa y la dirección electrónica de esta revista.
Los autores conservan integramente los derechos sobre sus obras, cediendo a la revista el derecho de ser la primera publicación donde se presenta el artículo. Los autores(as) tienen el derecho de utilizar sus artículos para cualquier propósito siempre y cuando se realice sin fines de lucro. Se recomienda a los autores(as) difundir sus obras en la versión final, luego de publicada en esta revista, en los medios electrónicos de la intituciones a las cuales están afiliadas o medios digitales personales