We apply object-oriented software design patterns to develop code for scientific software involving sparse matrices. Design patterns arise when multiple independent developments produce similar designs which converge onto a generic solution. We demonstrate how to use design patterns to implement an interface for sparse matrix computations on NVIDIA GPUs starting from PSBLAS, an existing sparse matrix library, and from existing sets of GPU kernels for sparse matrices. We also compare the throughput of the PSBLAS sparse matrix–vector multiplication on two platforms exploiting the GPU with that obtained by a CPU-only PSBLAS implementation. Our experiments exhibit encouraging results regarding the comparison between CPU and GPU executions in double precision, obtaining a speedup of up to 35.35 on NVIDIA GTX 285 with respect to AMD Athlon 7750, and up to 10.15 on NVIDIA Tesla C2050 with respect to Intel Xeon X5650.

Cardellini, V., Filippone, S., Rouson, D. (2014). Design patterns for sparse-matrix computations on hybrid CPU/GPU platforms. SCIENTIFIC PROGRAMMING, 22(1), 1-19 [10.3233/SPR-130363].

Design patterns for sparse-matrix computations on hybrid CPU/GPU platforms

CARDELLINI, VALERIA;FILIPPONE, SALVATORE;
2014-01-01

Abstract

We apply object-oriented software design patterns to develop code for scientific software involving sparse matrices. Design patterns arise when multiple independent developments produce similar designs which converge onto a generic solution. We demonstrate how to use design patterns to implement an interface for sparse matrix computations on NVIDIA GPUs starting from PSBLAS, an existing sparse matrix library, and from existing sets of GPU kernels for sparse matrices. We also compare the throughput of the PSBLAS sparse matrix–vector multiplication on two platforms exploiting the GPU with that obtained by a CPU-only PSBLAS implementation. Our experiments exhibit encouraging results regarding the comparison between CPU and GPU executions in double precision, obtaining a speedup of up to 35.35 on NVIDIA GTX 285 with respect to AMD Athlon 7750, and up to 10.15 on NVIDIA Tesla C2050 with respect to Intel Xeon X5650.
2014
Pubblicato
Rilevanza internazionale
Articolo
Esperti anonimi
Settore ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
English
Con Impact Factor ISI
Design patterns; sparse matrices; GPGPU computing
http://iospress.metapress.com/content/37308p3405353414/
Cardellini, V., Filippone, S., Rouson, D. (2014). Design patterns for sparse-matrix computations on hybrid CPU/GPU platforms. SCIENTIFIC PROGRAMMING, 22(1), 1-19 [10.3233/SPR-130363].
Cardellini, V; Filippone, S; Rouson, D
Articolo su rivista
File in questo prodotto:
File Dimensione Formato  
SPR2014.pdf

solo utenti autorizzati

Licenza: Copyright dell'editore
Dimensione 642.57 kB
Formato Adobe PDF
642.57 kB Adobe PDF   Visualizza/Apri   Richiedi una copia

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2108/81810
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 9
  • ???jsp.display-item.citation.isi??? 9
social impact