File: GraphBLAS_UserGuide.bib

package info (click to toggle)
suitesparse 1%3A5.8.1%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 152,716 kB
  • sloc: ansic: 774,385; cpp: 24,213; makefile: 6,310; fortran: 1,927; java: 1,826; csh: 1,686; ruby: 725; sh: 535; perl: 225; python: 209; sed: 164; awk: 60
file content (405 lines) | stat: -rw-r--r-- 17,013 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
@inproceedings{BulucGilbert08,
        author={Bulu\c{c}, A. and Gilbert, J.},
        booktitle={IPDPS'80: 2008 IEEE Intl. Symp. on Parallel and Distributed Processing}, 
        title={On the representation and multiplication of hypersparse matrices}, 
        year={2008}, 
        volume={}, 
        number={}, 
        pages={1-11}, 
        note={\href{https://dx.doi.org/10.1109/IPDPS.2008.4536313}{https://dx.doi.org/10.1109/IPDPS.2008.4536313}},
        month={April},
}

@article{BulucGilbert12,
    author = {Bulu\c{c}, A. and Gilbert, J.},
    title = {Parallel Sparse Matrix-Matrix Multiplication and Indexing: Implementation and Experiments},
    journal = {SIAM Journal on Scientific Computing},
    volume = {34},
    number = {4},
    pages = {C170-C191},
    year = {2012},
    doi = {10.1137/110848244},
    note ={\href{https://dx.doi.org/10.1137/110848244}{https://dx.doi.org/10.1137/110848244}},
}



@book{Davis06book,
        author={Davis, T. A.},
        title={Direct Methods for Sparse Linear Systems},
        publisher={SIAM},
        year={2006},
        address={Philadelphia, PA},
        annotate={\footnotesize
        Provides a basic overview of many sparse matrix algorithms
        and a simple sparse matrix data structure.  The sparse data structure
        used in the book is much like the one in both MATLAB and
        SuiteSparse:GraphBLAS.  A series of 42 lectures are available on
        YouTube; see the link at
        \href{http://faculty.cse.tamu.edu/davis/publications.html}
        {http://faculty.cse.tamu.edu/davis/publications.html}
        For the book, see
        \href{https://dx.doi.org/10.1137/1.9780898718881}{https://dx.doi.org/10.1137/1.9780898718881}},
}


@article{DavisRajamanickamSidLakhdar16,
        author={Davis, T. A. and Rajamanickam, S. and Sid-Lakhdar, W. M.},
        title={A survey of direct methods for sparse linear systems},
        journal={Acta Numerica},
        volume={25},
        year={2016},
        pages={383--566},
        numpages = {184},
        annotate = {\footnotesize
        Abstract: Wilkinson defined a sparse matrix as one with
        enough zeros that it pays to take advantage of them.  This informal yet
        practical definition captures the essence of the goal of direct methods
        for solving sparse matrix problems. They exploit the sparsity of a
        matrix to solve problems economically: much faster and using far less
        memory than if all the entries of a matrix were stored and took part in
        explicit computations. These methods form the backbone of a wide range
        of problems in computational science. A glimpse of the breadth of
        applications relying on sparse solvers can be seen in the origins of
        matrices in published matrix benchmark collections (Duff and Reid
        1979a, Duff, Grimes and Lewis 1989a, Davis and Hu 2011). The goal of
        this survey article is to impart a working knowledge of the underlying
        theory and practice of sparse direct methods for solving linear systems
        and least-squares problems, and to provide an overview of the
        algorithms, data structures, and software available to solve these
        problems, so that the reader can both understand the methods and know
        how best to use them.
        DOI: 
        \href{https://dx.doi.org/10.1017/S0962492916000076}{https://dx.doi.org/10.1017/S0962492916000076}
        }
}

@techreport{spec,
        author={Bulu\c{c}, A. and Mattson, T. and McMillan, S. and Moreira, J. and Yang, C.},
        title={The {GraphBLAS} {C} {API} Specification},
        year={2017},
        note={\href{http://graphblas.org/}{http://graphblas.org/}},
}

@techreport{Kepner2017,
        author={Kepner, J.},
        title={{GraphBLAS} Mathematics},
        year={2017},
        note={
        \href{http://www.mit.edu/~kepner/GraphBLAS/GraphBLAS-Math-release.pdf}{http://www.mit.edu/$\sim$kepner/GraphBLAS/GraphBLAS-Math-release.pdf}
        }
}

@book{KepnerGilbert2011,
        author={Kepner, J. and Gilbert, J.},
        title={Graph Algorithms in the Language of Linear Algebra},
        publisher={SIAM},
        year={2011},
        address={Philadelphia, PA},
        annotate={\footnotesize
        From the preface: Graphs are among the most important
        abstract data types in computer science, and the algorithms that
        operate on them are critical to modern life. Graphs have been shown to
        be powerful tools for modeling complex problems because of their
        simplicity and generality. Graph algorithms are one of the pillars of
        mathematics, informing research in such diverse areas as combinatorial
        optimization, complexity theory, and topology. Algorithms on graphs are
        applied in many ways in today's world—from Web rankings to metabolic
        networks, from finite element meshes to semantic graphs.
        The current exponential growth in graph data has forced a shift to
        parallel computing for executing graph algorithms. Implementing
        parallel graph algorithms and achieving good parallel performance have
        proven difficult. This book addresses these challenges by exploiting
        the well-known duality between a canonical representation of graphs as
        abstract collections of vertices and edges and a sparse adjacency
        matrix representation. This linear algebraic approach is widely
        accessible to scientists and engineers who may not be formally trained
        in computer science. The authors show how to leverage existing parallel
        matrix computation techniques and the large amount of software
        infrastructure that exists for these computations to implement
        efficient and scalable parallel graph algorithms. The benefits of this
        approach are reduced algorithmic complexity, ease of implementation,
        and improved performance.
        DOI: 
        \href{https://dx.doi.org/10.1137/1.9780898719918}{https://dx.doi.org/10.1137/1.9780898719918}},
}

@article{Davis07,
    author={Davis, T. A},
    title={Creating Sparse Finite-Element Matrices in {MATLAB}},
    year={2007},
    month={Mar.},
    note={Loren Shure, editor. Published by {The MathWorks}, Natick, MA.
    \href{http://blogs.mathworks.com/loren/2007/03/01/creating-sparse-finite-element-matrices-in-matlab/}{http://blogs.mathworks.com/loren/2007/03/01/creating-sparse-finite-element-matrices-in-matlab/}},
    editor={Shure, L.},
    journal={Loren on the Art of {MATLAB}},
    publisher={The {MathWorks}, Inc.},
    address={Natick, MA}
    }

@article{Luby86,
    author={Luby, M.},
    title={A simple parallel algorithm for the maximal independent set problem},
    year={1986},
    journal={SIAM J. Comput.},
    volume={15},
    number={4},
    note={\href{https://dx.doi.org/10.1137/0215074}{https://dx.doi.org/10.1137/0215074}}
}

@article{DavisHu11,
        author={Davis, T. A. and Hu, Y.},
        title={The {University} of {Florida} sparse matrix collection},
        journal={ACM Trans. on Math. Software},
        volume={38},
        number={1},
        month=dec,
        year={2011},
        pages={1:1--1:25},
        note={
        \href{https://dx.doi.org/10.1145/2049662.2049663}{https://dx.doi.org/10.1145/2049662.2049663}.
        Now called the SuiteSparse Matrix Collection, at 
        \href{https:sparse.tamu.edu}{https:sparse.tamu.edu}},
        publisher={ACM},
        address={New York, NY, USA},
        keywords={Graph drawing, multilevel algorithms, performance
        evaluation, sparse matrices},
}

@article{Davis18,
        author={Davis, T. A.},
        title={Algorithm 9XX: {SuiteSparse:GraphBLAS}: 
            graph algorithms in the language of sparse linear algebra},
        journal={ACM Trans. on Math. Software},
        volume={(to appear)},
        number={},
        year={2019},
        note={\href{http://faculty.cse.tamu.edu/davis/publications.html}{http://faculty.cse.tamu.edu/davis/publications.html}},
}

@book{Higham,
        author={Higham, N.},
        title={Accuracy and Stability of Numerical Algorithms},
        edition={2nd},
        year={2002},
        publisher={SIAM},
        note={\href{https://dx.doi.org/10.1137/1.9780898718027}{https://dx.doi.org/10.1137/1.9780898718027}}
}

@article{Wathen,
        author={Wathen, A. J.},
        title={Realistic eigenvalue bounds for the {Galerkin} mass matrix},
        journal={{IMA} J. Numer. Anal.},
        volume=7,
        year={1987},
        pages={449--457},
        note={\href{https://dx.doi.org/10.1093/imanum/7.4.449}{https://dx.doi.org/10.1093/imanum/7.4.449} }}

@inproceedings{WolfBerryStark15,
        author={Wolf, M. M. and Berry, J. W. and Stark, D. T.},
        title={A task-based linear algebra building blocks approach for scalable graph analytics},
        year={2015},
        booktitle={IEEE HPEC'15},
        publisher={IEEE},
        pages={1--6}
}

@inproceedings{Davis18b,
        author={Davis, T. A.},
        title={Graph algorithms via {SuiteSparse:GraphBLAS}: triangle counting and {K}-truss},
        year={2018},
        booktitle={IEEE HPEC'18},
        note={Grand Challenge Innovation Award.
            See \href{http://www.ieee-hpec.org/}{http://www.ieee-hpec.org/}.},
        publisher={IEEE},
}

@inproceedings{DavisAznavehKolodziej19,
        author={Davis, T. A. and Aznaveh, M. and Kolodziej, S.},
        title={Write Quick, Run Fast: Sparse Deep Neural Network in 20 Minutes of
            Development Time via {SuiteSparse:GraphBLAS}},
        year={2019},
        note={Grand Challenge Champion, for high performance.
            See \href{http://www.ieee-hpec.org/}{http://www.ieee-hpec.org/}.},
        booktitle={IEEE HPEC'19},
        publisher={IEEE},
}

@inproceedings{Mattson19,
        author={Mattson, T. and Davis, T. A. and Kumar, M. and Bulu\c{c}, A. and McMillan, S. and
            Moreira, J. and Yang, C.},
        title={{LAGraph}: a community effort to collect graph algorithms built on top of the {GraphBLAS}},
        year={2019},
        booktitle={GrAPL'19: Workshop on Graphs, Architectures, Programming, and Learning},
        note={\href{https://hpc.pnl.gov/grapl/previous/2019}{https://hpc.pnl.gov/grapl/previous/2019},
            part of IPDPS'19, at \href{http://www.ipdps.org/ipdps2019} {http://www.ipdps.org/ipdps2019}},
        month={May},
        publisher={IEEE},
}

@inproceedings{Davis20,
  author = {Mohsen Aznaveh and
      Jinhao Chen and
      Timothy A. Davis and
      B{\'{a}}lint Hegyi and
      Scott P. Kolodziej and
      Timothy G. Mattson and
      G{\'{a}}bor Sz{\'{a}}rnyas},
  title = {Parallel {GraphBLAS} with {OpenMP}},
  year = {2020},
  booktitle = {CSC20, SIAM Workshop on Combinatorial Scientific Computing},
  note = {(accepted) \href{https://www.siam.org/conferences/cm/conference/csc20}{https://www.siam.org/conferences/cm/conference/csc20}},
  publisher = {{SIAM}},
}


@article{Burkhardt16,
        author={Burkhardt, P.},
        title={Graphing trillions of triangles},
        journal={Information Visualization},
        volume={16},
        pages={157--166},
        year={2016},
        note={
        \href{https://dx.doi.org/10.1177/1473871616666393}{https://dx.doi.org/10.1177/1473871616666393} }
}

@inproceedings{AzadBulucGilbert15,
        author={Azad, A. and Bulu\c{c}, A. and Gilbert, J.},
        title={Parallel triangle counting and enumeration using matrix algebra},
        booktitle={2015 IEEE International Parallel and Distributed Processing Symposium Workshop, IPDPSW ’15},
        pages={804--811},
        year={2015},
        publisher={IEEE Computer Society},
}

@article{Cohen09,
        author={Cohen, J.},
        title={Graph twiddling in a mapreduce world},
        journal={Computing in Science and Engineering},
        volume={11},
        number={4},
        pages={29--41},
        month={July},
        year={2009}
}

@INPROCEEDINGS{WolfDeveciBerryHammondRajamanickam17,
    author={Wolf, M. M. and Deveci, M. and Berry, J. W. and Hammond, S. D. and Rajamanickam, S.},
    booktitle={2017 IEEE High Performance Extreme Computing Conference (HPEC)},
    title={Fast linear algebra-based triangle counting with {KokkosKernels}},
    year={2017},
    volume={},
    number={},
    pages={1-7},
    annotate={\footnotesize
    Triangle counting serves as a key building block for a set of
    important graph algorithms in network science. In this paper, we address
    the IEEE HPEC Static Graph Challenge problem of triangle counting, focusing
    on obtaining the best parallel performance on a single multicore node. Our
    implementation uses a linear algebra-based approach to triangle counting
    that has grown out of work related to our miniTri data analytics
    miniapplication and our efforts to pose graph algorithms in the
    language of linear algebra. We leverage KokkosKernels to implement this
    approach efficiently on multicore architectures. Our performance results
    are competitive with the fastest known graph traversal-based approaches and
    are significantly faster than the Graph Challenge reference
    implementations, up to 670,000 times faster than the C++ reference and
    10,000 times faster than the Python reference on a single Intel Haswell
    node.},
    keywords={Algorithm design and analysis;C++ languages;Computer
    architecture;Kernel;Libraries;Linear algebra;Sparse matrices},
    note={
    \href{https://dx.doi.org/10.1109/HPEC.2017.8091043}{https://dx.doi.org/10.1109/HPEC.2017.8091043}
    },
    ISSN={},
    month={Sept},
}

@INPROCEEDINGS{BulucMattsonMcMillanMoreiraYang17, 
    author={A. Bulu\c{c} and T. Mattson and S. McMillan and J. Moreira and C. Yang}, 
    booktitle={2017 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)}, 
    title={Design of the {GraphBLAS} {API} for {C}}, 
    year={2017}, 
    volume={}, 
    number={}, 
    pages={643-652}, 
    keywords={C language;application program interfaces;formal
    specification;graph theory;linear algebra;C language specification
    subcommittee;GraphBLAS API;GraphBLAS Forum;application programming
    interface;betweenness centrality algorithm;design;graph
    computations;linear-algebraic building blocks;mathematical
    specification;Additives;Linear algebra;Programming;Semantics;Sparse
    matrices}, 
    note={\href{https://dx.doi.org/10.1109/IPDPSW.2017.117}{https://dx.doi.org/10.1109/IPDPSW.2017.117} },
    month={May},
}

@article{Gustavson78,
        author={Gustavson, F. G.},
        year={1978},
        title={Two Fast Algorithms for Sparse Matrices: Multiplication and Permuted Transposition},
        journal=TOMS,
        volume={4},
        number={3},
        pages={250--269},
        note={
        \href{https://dx.doi.org/10.1145/355791.355796}{https://dx.doi.org/10.1145/355791.355796}},
}

@article{GilbertMolerSchreiber92,
        author={Gilbert, J. R. and Moler, C. and Schreiber, R.},
        title={Sparse matrices in {MATLAB}:  design and implementation},
        journal=SIMAX,
        year={1992},
        volume={13},
        number={1},
        pages={333-356},
        url={ http://dx.doi.org/10.1137/0613024 },
}

@inproceedings{Beamer:2012:DOB,
	title={Direction-optimizing Breadth-First Search},
	author={Beamer, Scott and Asanovic, Krste and Patterson, David},
	booktitle={International Conference for High Performance Computing, Networking, Storage and Analysis (SC)},
	pages={1--10},
	year={2012},
}

@inproceedings{Yang:2018:IPE,
	title =	 {Implementing Push-Pull Efficiently in {GraphBLAS}},
	author =	 {Carl Yang and Ayd\i{}n Bulu\c{c} and John D. Owens},
	booktitle =	 {Proceedings of the International Conference on
	Parallel Processing},
	series =	 {ICPP 2018},
	month =	 aug,
	year =	 2018,
	pages =	 {89:1--89:11},
	doi =		 {10.1145/3225058.3225122},
	code =	 {https://github.com/owensgroup/push-pull}
}

@inproceedings{10.1145/3229710.3229720,
author = {Nagasaka, Yusuke and Matsuoka, Satoshi and Azad, Ariful and Bulu\c{c}, Ayd\i{}n},
title = {High-Performance Sparse Matrix-Matrix Products on Intel KNL and Multicore Architectures},
year = {2018},
isbn = {9781450365239},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3229710.3229720},
doi = {10.1145/3229710.3229720},
booktitle = {Proceedings of the 47th International Conference on Parallel Processing Companion},
articleno = {Article 34},
numpages = {10},
keywords = {Intel KNL, SpGEMM, Sparse matrix},
location = {Eugene, OR, USA},
series = {ICPP ’18}
}



% [2] Yusuke Nagasaka, Satoshi Matsuoka, Ariful Azad, and Aydın Buluç. 2018.
% High-Performance Sparse Matrix-Matrix Products on Intel KNL and Multicore
% Architectures. In Proc. 47th Intl. Conf. on Parallel Processing (ICPP '18).
% Association for Computing Machinery, New York, NY, USA, Article 34, 1–10.
% DOI:https://doi.org/10.1145/3229710.3229720