Programming matrix algorithms-by-blocks for thread-level parallelism
Ver/ Abrir
Impacto
Scholar |
Otros documentos de la autoría: Quintana-Ortí, Gregorio; Quintana-Orti, Enrique S.; Van de Geijn, Robert A.; Van Zee, Field G.; Chan, Ernie
Metadatos
Mostrar el registro completo del ítemcomunitat-uji-handle:10234/9
comunitat-uji-handle2:10234/7036
comunitat-uji-handle3:10234/8620
comunitat-uji-handle4:
INVESTIGACIONMetadatos
Título
Programming matrix algorithms-by-blocks for thread-level parallelismAutoría
Fecha de publicación
2009-07Editor
Association for Computing MachineryISSN
0098-3500Cita bibliográfica
QUINTANA-ORTÍ, Gregorio, et al. Programming matrix algorithms-by-blocks for thread-level parallelism. ACM Transactions on Mathematical Software (TOMS), 2009, vol. 36, no 3, p. 1-26.Tipo de documento
info:eu-repo/semantics/articlePalabras clave / Materias
Resumen
With the emergence of thread-level parallelism as the primary means for continued improvement of performance, the programmability issue has reemerged as an obstacle to the use of architectural advances. We argue that ... [+]
With the emergence of thread-level parallelism as the primary means for continued improvement of performance, the programmability issue has reemerged as an obstacle to the use of architectural advances. We argue that evolving legacy libraries for dense and banded linear algebra is not a viable solution due to constraints imposed by early design decisions. We propose a philosophy of abstraction and separation of concerns that provides a promising solution in this problem domain. The first abstraction, FLASH, allows algorithms to express computation with matrices consisting of blocks, facilitating algorithms-by-blocks. Transparent to the library implementor, operand descriptions are registered for a particular operation a priori. A runtime system, SuperMatrix, uses this information to identify data dependencies between suboperations, allowing them to be scheduled to threads out-of-order and executed in parallel. But not all classical algorithms in linear algebra lend themselves to conversion to algorithms-by-blocks. We show how our recently proposed LU factorization with incremental pivoting and closely related algorithm-by-blocks for the QR factorization, both originally designed for out-of-core computation, overcome this difficulty. Anecdotal evidence regarding the development of routines with a core functionality demonstrates how the methodology supports high productivity while experimental results suggest that high performance is abundantly achievable [-]
Publicado en
ACM transactions on mathematical software, 2009, vol. 36, no. 3Derechos de acceso
© Association for Computing Machinery
http://rightsstatements.org/vocab/InC/1.0/
info:eu-repo/semantics/openAccess
http://rightsstatements.org/vocab/InC/1.0/
info:eu-repo/semantics/openAccess
Aparece en las colecciones
- ICC_Articles [417]