Dec 10 2008, 04:57 PM
Post
#1
|
|
![]() ![]() ![]() ![]() Group: Members Posts: 73 Joined: 10-December 08 Member No.: 129,848 Org.: NVIDIA |
I'm pleased to announce the release of our tech report "Efficient Sparse Matrix-Vector Multiplication on CUDA". It can be challenging to implement sparse matrix operations efficiently, so I hope this report offers some guidance to those working on iterative solvers and other areas where sparse matrix-vector products arise. Feel free to follow up with comments/questions about the report.
Update: A collection of test matrices is now available Update: Supercomputing '09 SpMV paper is now available Update: New and improved source code is now available (Requires CUDA 2.2 or newer) Abstract: QUOTE The massive parallelism of graphics processing units (GPUs) offers tremendous performance in many
high-performance computing applications. While dense linear algebra readily maps to such platforms, harnessing this potential for sparse matrix computations presents additional challenges. Given its role in iterative methods for solving sparse linear systems and eigenvalue problems, sparse matrix-vector multiplication (SpMV) is of singular importance in sparse linear algebra. In this paper we discuss data structures and algorithms for SpMV that are efficiently implemented on the CUDA platform for the fine-grained parallel architecture of the GPU. Given the memory-bound nature of SpMV, we emphasize memory bandwidth efficiency and compact storage formats. We consider a broad spectrum of sparse matrices, from those that are well-structured and regular to highly irregular matrices with large imbalances in the distribution of nonzeros per matrix row. We develop methods to exploit several common forms of matrix structure while offering alternatives which accommodate greater irregularity. On structured, grid-based matrices we achieve performance of 36 GFLOP/s in single precision and 16 GFLOP/s in double precision on a GeForce GTX 280 GPU. For unstructured finite-element matrices, we observe performance in excess of 15 GFLOP/s and 10 GFLOP/s in single and double precision respectively. These results compare favorably to prior state-of-the-art studies of SpMV methods on conventional multicore processors. Our double precision SpMV performance is generally two and a half times that of a Cell BE with 8 SPEs and more than ten times greater than that of a quad-core Intel Clovertown system. This post has been edited by nbell: Sep 9 2009, 07:18 AM
Attached File(s)
|
|
|
|
nbell Sparse Matrix-Vector Multiplication on CUDA Dec 10 2008, 04:57 PM
oscarb QUOTE (nbell @ Dec 10 2008, 05:57 PM) I... Dec 11 2008, 03:47 AM
maringanti This is very useful. Thanks a lot guys.
is it pos... Dec 11 2008, 10:35 AM

nbell QUOTE (maringanti @ Dec 11 2008, 05:35 AM... Dec 11 2008, 01:23 PM

maringanti QUOTE (nbell @ Dec 11 2008, 06:53 PM) Som... Dec 11 2008, 02:14 PM

nbell QUOTE (maringanti @ Dec 11 2008, 09:14 AM... Dec 12 2008, 03:21 PM

Dominik Gddeke nbell, terrific work! Will this be made availa... Dec 13 2008, 01:03 AM

maringanti @nbell, thanks for the links. Dec 13 2008, 09:43 AM

nbell QUOTE (Dominik G�ddeke @ Dec 12 2008, 08... Dec 15 2008, 04:42 PM

Dominik Gddeke Hi nbell,
I agree, blocking is not always benefic... Dec 15 2008, 09:29 PM


dlmeetei Yea, The Links wre useful to me too, Waiting for t... Dec 16 2008, 04:19 AM


nbell QUOTE (dlmeetei @ Dec 15 2008, 11:19 PM) ... Dec 19 2008, 12:46 AM


Kagami Dear nbell,
Is it best to use your method for calc... Dec 19 2008, 06:57 AM



nbell QUOTE (Kagami @ Dec 19 2008, 01:57 AM) De... Dec 19 2008, 03:27 PM



Kagami QUOTE (nbell @ Dec 19 2008, 04:27 PM) Hi ... Dec 22 2008, 02:27 AM



ph03 QUOTE (Kagami @ Dec 22 2008, 03:27 AM) Hi... Dec 27 2008, 07:39 PM



nbell QUOTE (ph03 @ Dec 27 2008, 02:39 PM) I wo... Dec 30 2008, 05:58 PM




ph03 QUOTE (nbell @ Dec 30 2008, 06:58 PM) It ... Dec 31 2008, 01:50 PM




jjo This is really very interesting to me - especially... Jan 1 2009, 04:57 AM




nbell QUOTE (jjo @ Dec 31 2008, 11:57 PM) This ... Jan 5 2009, 08:44 PM



bmr1984 Hi,
I've implemented the SpMV_CSR_vector in m... Jan 20 2009, 01:57 PM



nbell QUOTE (bmr1984 @ Jan 20 2009, 08:57 AM) H... Jan 20 2009, 11:51 PM



bmr1984 Thanks a lot nbell!
After I posted the msg, I... Jan 21 2009, 02:16 PM


shsr QUOTE (nbell @ Dec 18 2008, 05:46 PM) I... Apr 23 2009, 12:28 AM

jacques2208 QUOTE (nbell @ Dec 15 2008, 05:42 PM) Hi ... May 27 2009, 10:38 AM

nbell QUOTE (jacques2208 @ May 27 2009, 06:38 A... May 27 2009, 10:00 PM
nbell QUOTE (oscarb @ Dec 10 2008, 10:47 PM) Ve... Dec 11 2008, 01:13 PM
Bruno Levy Hi,
Thank you very much Nathan for making your co... Dec 19 2008, 02:33 PM
nbell QUOTE (Bruno Levy @ Dec 19 2008, 09:33 AM... Dec 19 2008, 03:40 PM
maringanti @nathan
I have been playing around with source co... Dec 21 2008, 06:34 PM
jomoga Will this work supercede that being done on sparse... Dec 29 2008, 08:53 PM
nbell QUOTE (jomoga @ Dec 29 2008, 03:53 PM) Wi... Dec 30 2008, 05:53 PM
arati QUOTE (nbell @ Dec 10 2008, 05:57 PM) I... Jan 6 2009, 10:19 AM
Dominik Gddeke Nathan, Michael and whoever is interested,
I fina... Jan 7 2009, 11:08 PM
nbell QUOTE (Dominik G�ddeke @ Jan 7 2009, 06... Jan 12 2009, 06:59 PM
tmurray arati, what driver are you running? Also, what GPU... Jan 7 2009, 11:27 PM
arati QUOTE (tmurray @ Jan 8 2009, 12:27 AM) ar... Jan 8 2009, 05:29 AM
tmurray Yeah, you should probably upgrade to at least 177.... Jan 8 2009, 06:33 AM
ColinS Unless I'm not fully understanding something, ... Jan 23 2009, 08:15 PM
nbell QUOTE (ColinS @ Jan 23 2009, 03:15 PM) Un... Jan 26 2009, 06:37 PM
Antuanesko Hi!
I cannot open PDF file (from the first po... Jan 26 2009, 01:30 PM
nbell QUOTE (Antuanesko @ Jan 26 2009, 08:30 AM... Jan 26 2009, 06:33 PM
dneckels Thanks for the paper, I found it very useful!
... Jan 28 2009, 03:55 PM
dneckels I ported my GMRES solver over to use this excellen... Feb 15 2009, 05:26 PM
Tell Me Why Would somebody please email me the attachment of p... May 14 2009, 10:02 PM
shijin I cannot successfully download the .pdf file, woul... Feb 26 2009, 09:14 AM
nbell QUOTE (shijin @ Feb 26 2009, 04:14 AM) I ... Feb 27 2009, 10:18 AM
sjoOof Is the spMV library included in the CUDA SDK versi... May 8 2009, 09:59 AM
auhgnist It seems that the ELL format is stored in a column... May 14 2009, 03:35 AM
profquail QUOTE (auhgnist @ May 13 2009, 10:35 PM) ... May 14 2009, 03:37 AM
auhgnist Thanks. But the direct implementation of row-wise ... May 15 2009, 01:06 PM
nbell QUOTE (auhgnist @ May 15 2009, 09:06 AM) ... May 27 2009, 01:25 AM
keitat Has anybody checked the paper by IBM T. J. Watson?... Jun 1 2009, 08:00 PM
nbell QUOTE (keitat @ Jun 1 2009, 04:00 PM) Has... Jun 1 2009, 11:58 PM
marcof Hi, I am having some troubles using the CSR kernel... Jun 18 2009, 10:48 AM
nbell QUOTE (marcof @ Jun 18 2009, 06:48 AM) Hi... Jun 18 2009, 04:03 PM
Tell Me Why Hi all,
Has anyone tried to write an efficient sp... Jun 20 2009, 07:58 AM
nbell QUOTE (Tell Me Why @ Jun 20 2009, 03:58 A... Jun 25 2009, 02:20 PM
Tell Me Why Any idea? Jun 25 2009, 07:18 AM
Tell Me Why Thanks for the idea! Jul 1 2009, 12:08 PM
jam1 I would like to know if anyone succeeded in compil... Jul 13 2009, 02:18 PM
nbell QUOTE (jam1 @ Jul 13 2009, 10:18 AM) I wo... Jul 13 2009, 05:56 PM
jam1 Yes, I found this by trying again and comparing wi... Jul 13 2009, 07:30 PM
Amir Baruh QUOTE (nbell @ Dec 10 2008, 07:57 PM) I... Aug 11 2009, 02:26 PM
nbell QUOTE (nbell @ Dec 10 2008, 12:57 PM) I... Aug 20 2009, 04:23 PM
Sarnath Good to see [-1 0 1] has become [-2 0 1] in the S... Aug 21 2009, 12:39 PM
cnfire Hi nbell,
I really like your work, and I am tryin... Sep 9 2009, 01:20 AM
nbell QUOTE (cnfire @ Sep 8 2009, 09:20 PM) Hi ... Sep 9 2009, 04:04 AM
cnfire QUOTE (nbell @ Sep 9 2009, 04:04 AM) Hi c... Sep 9 2009, 05:38 AM
nbell QUOTE (cnfire @ Sep 9 2009, 01:38 AM) I j... Sep 9 2009, 07:14 AM
cnfire QUOTE (nbell @ Sep 9 2009, 07:14 AM) Sorr... Sep 9 2009, 07:49 PM
AlessandroF Hi, just downloaded the library, and I'm tryin... Oct 14 2009, 08:10 AM
AlessandroF QUOTE (AlessandroF @ Oct 14 2009, 10:10 A... Oct 15 2009, 09:21 AM
nbell QUOTE (AlessandroF @ Oct 15 2009, 05:21 A... Oct 15 2009, 07:03 PM
AlessandroF QUOTE (nbell @ Oct 15 2009, 09:03 PM) Hi ... Oct 16 2009, 02:17 PM![]() ![]() |
| Copyright 2008 NVIDIA Corporation. Terms of Use | Legal Info | Privacy Policy | Time is now: 9th February 2010 - 10:15 PM |