-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathms.tex
141 lines (112 loc) · 4.28 KB
/
ms.tex
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
\documentclass[conference]{IEEEtran}
%\IEEEoverridecommandlockouts
% The preceding line is only needed to identify funding in the first footnote. If that is unneeded, please comment it out.
\usepackage[hyphens]{url}
\usepackage{hyperref}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{etoolbox}
\newbool{colored}
\IfFileExists{./colored}{\booltrue{colored}}{\boolfalse{colored}}
\newbool{ascii}
\IfFileExists{./ascii}{\booltrue{ascii}}{\boolfalse{ascii}}
\usepackage{subcaption}
\usepackage{xspace}
\usepackage{booktabs}
\usepackage{enumitem}
\usepackage{numprint}
\usepackage{multirow}
\usepackage[dvipsnames]{xcolor}
%\usepackage{todonotes}
% \setuptodonotes{inline}
\newcommand{\todo}[1]{{\bf TODO: #1}}
\usepackage{tikz}
\usetikzlibrary{positioning,fit,arrows.meta,backgrounds}
% (Gabor) I usually write with frenchspacing on but turned it off now.
% Caveat: With nonfrenchspacing, comments in algorithm2e use double-spacing after ':', '.', etc. which looks bad.
% \frenchspacing
% (Scott) I usually use the minted package for code blocks configured as follows
% You put code inside \begin{cplus} \end{cplus}
\usepackage{minted}
\setminted{fontsize=\footnotesize,baselinestretch=.97,linenos,frame=lines,xleftmargin=6pt,numbersep=3pt,mathescape=true,escapeinside=||,bgcolor=bg}
\usemintedstyle{default}
\definecolor{bg}{rgb}{0.97,0.97,0.97}
\newminted{cpp}{}
\newenvironment{cplus}{\VerbatimEnvironment\begin{cppcode}}{\end{cppcode}}
\newmintinline[cplusinl,mathescape]{cpp}{}
% TODO: remove in submitted version
\thispagestyle{plain}\pagestyle{plain}
\input{algorithm-commands}
\input{commands}
\input{graphblas-commands}
\input{listings}
\begin{document}
%\title{LAGraph: A Graph Algorithm and Network Analysis Library for GraphBLAS}
\title{LAGraph: Linear Algebra, Network Analysis Libraries, and the Study of Graph Algorithms}
\author{ % Tim D modified the ordering: Gabor, then alphabetical
\IEEEauthorblockN{
G\'abor Sz\'arnyas\IEEEauthorrefmark{1},
David A. Bader\IEEEauthorrefmark{2},
Timothy A. Davis\IEEEauthorrefmark{3},
James Kitchen\IEEEauthorrefmark{4}, \\
Timothy G. Mattson\IEEEauthorrefmark{5},
Scott McMillan\IEEEauthorrefmark{6},
Erik Welch\IEEEauthorrefmark{4}
} \\
\IEEEauthorblockA{
\IEEEauthorrefmark{1}CWI Amsterdam
% }
% \IEEEauthorblockA{
\IEEEauthorrefmark{2}New Jersey Institute of Technology
% }
% \IEEEauthorblockA{
\IEEEauthorrefmark{3}Texas A\&M University
% }
% \IEEEauthorblockA{
\IEEEauthorrefmark{4}Anaconda, Inc.
}
\IEEEauthorblockA{
\IEEEauthorrefmark{5}Intel Corp.
%}
%\IEEEauthorblockA{
\IEEEauthorrefmark{6}Software Engineering Institute, Carnegie Mellon University
}
}
% \IEEEauthorrefmark{6}Software Engineering Institute, Carnegie Mellon University
\maketitle
\begin{abstract}
Graph algorithms can be expressed in terms of
linear algebra. GraphBLAS is a library of low-level building blocks for such algorithms
that targets algorithm \emph{developers}. LAGraph builds on top of the GraphBLAS to
target \emph{users} of graph algorithms with high-level algorithms common in network
analysis. In this paper, we describe
the first release of the LAGraph library, the design decisions behind the
library, and performance using the GAP benchmark suite.
LAGraph, however, is much more than a library. It is also a
project to document and analyze the full range of algorithms enabled by the GraphBLAS. To that end,
we have developed a compact and intuitive notation for describing
these algorithms. In this paper, we present that
notation with examples from the GAP benchmark suite.
\end{abstract}
\begin{IEEEkeywords}
Graph Processing, Graph Algorithms, Graph Analytics, Linear Algebra, GraphBLAS
\end{IEEEkeywords}
\input{intro}
%TimM removed this figure. We are short on space and this doesn't add enough to justify the space it consumes.
%\input{fig-architecture}
\input{design-decisions}
\input{notation}
\input{algorithms}
\input{utility}
\input{evaluation}
\input{conclusion}
\input{acknowledgements}
%\clearpage
\bibliographystyle{IEEEtranS}
\bibliography{ms}
\end{document}
% TODOs for the camera-ready
% - make sure page numbering is turned off
% - check whether GraphBLAS v2.0 is out (maybe cross-cite other GrAPL paper)
% - check whether cited CoRR papers (PIUMA, GraphBLAST, FPGA survey, ...) have been accepted