0806.2159/qr.tex
1: %\documentclass[draft]{article}
2: \documentclass{article}
3: \usepackage{amsmath,amssymb}
4: \usepackage{algorithm,algpseudocode}  % For pseudocode algorithms
5: \usepackage{listings,url,verbatim}    % Could we do without listings?
6:                                       % Maybe use ``verbatim'' instead.
7: \usepackage{multicol}
8: \usepackage{multirow}         % For combining cells in tables
9: \usepackage[pdftex]{graphicx} % Laura uses this, though it restricts
10:                               % us to PDF output (?)
11: \usepackage{subfigure}        % Figures in figures
12: \usepackage[usenames]{color}  % Laura's idea -- what's this for?
13: 
14: \graphicspath{{FIGURES/}}
15: 
16: \title{Communication-optimal parallel and sequential QR and LU factorizations: theory and practice}
17: \author{James Demmel, Laura Grigori, \\ Mark Hoemmen, and Julien Langou}
18: \date{\today}
19: 
20: % You can't do calligraphic (mathcal) lowercase letters.
21: %\newcommand{\DataDomain}{\ensuremath{\mathcal{d}}}
22: \newcommand{\DataDomain}{\ensuremath{\mathbf{d}}}
23: \newcommand{\ParallelDataDomain}{\ensuremath{\mathbf{D}}}
24: \newcommand{\ReplicatedDataDomain}{\ensuremath{\bar{\mathbf{D}}}}
25: \DeclareMathOperator{\Span}{span}
26: \DeclareMathOperator{\argmin}{argmin}
27: \DeclareMathOperator{\argmax}{argmax}
28: \DeclareMathOperator{\House}{House}
29: \DeclareMathOperator{\Apply}{Apply}
30: \DeclareMathOperator{\Factor}{Factor}
31: 
32: \newtheorem{theorem}{Theorem}
33: \newtheorem{lemma}{Lemma}
34: \newtheorem{corollary}{Corollary}
35: \newenvironment{proof}{\sl \noindent Proof: \rm}{$\Box$}
36: 
37: \begin{document}
38: % Set up program listings for C syntax
39: \lstset{basicstyle=\small,showstringspaces=false,language=C} 
40: 
41: \maketitle
42: 
43: \input{new-abstract}
44: 
45: \tableofcontents
46: 
47: %% mfh 07 Jul 2008: outline is in the introduction now
48: \input{introduction}
49: 
50: %% List of abbreviations and terms
51: \input{abbrev}
52: 
53: %% Motivation for TSQR and CAQR
54: %% (mfh 07 Jul 2008) fixed counts
55: \input{motivation}
56: 
57: %% High-level algebra of TSQR
58: \input{tsqr-algebra}
59: 
60: %% TSQR as a reduction
61: \input{tsqr-algorithm}
62: 
63: %% Local QR factorization optimizations
64: \input{tsqr-Y}
65: 
66: %% Our performance model (alpha-beta-gamma)
67: \input{model}
68: 
69: %% FIXME (mfh 28 Jan 2008): need to fill in some definitions of
70: %% notation that were cut before -- first_proc, target_first_proc, and
71: %% level.  Or rather, these should go into CAQR sections, as they are
72: %% only needed there.
73: \input{tsqr-impl}
74: 
75: %% Presentation and performance analysis of alternate QR 
76: %% implementations for the TSQR case.
77: \input{tsqr-alt}
78: 
79: %% Discussion of numerical stability for various "tall skinny" QR
80: %% factorizations
81: \input{tsqr-stability}
82: 
83: %% Experimental platforms of interest
84: \input{platforms}
85: 
86: %% TSQR benchmarks
87: \input{tsqr-data}
88: 
89: %% CAQR (QR on 2-D layout) (inputs seq-caqr.tex)
90: \input{caqr}
91: 
92: %% Lower bounds on bandwidth and latency (sequential and parallel)
93: \input{bounds}
94: 
95: %% Lower bounds on critical path length of parallel QR
96: \input{critical-path}
97: 
98: %% Ideas about hiearchical machines
99: \input{hierarchies}
100: 
101: %% Appendix: set up counters
102: \appendix
103: %\renewcommand{\theequation}{A~\arabic{equation}}
104: %\setcounter{equation}{0}
105: %\setcounter{section}{0}
106: 
107: \section*{Appendix}
108: 
109: %% Flop counts of local QR factorization methods
110: \input{Counts/local-qr}
111: 
112: %% Sequential TSQR and CAQR
113: \input{Counts/seq-tsqr}
114: \input{Counts/seq-caqr}
115: 
116: %% Parallel TSQR
117: \input{Counts/par-tsqr}
118: 
119: %% FIXME (mfh 10 Feb 2008): a lot of redundant counts in Laura's
120: %% stuff.  Merge with mine in local-qr, and see what from there
121: %% belongs in here.
122: \input{Counts/par-caqr}
123: 
124: %% Sequential OOC Householder QR model
125: \input{Counts/pfdgeqrf}
126: 
127: \input{Counts/CommLowerBound3}
128: 
129: 
130: \bibliographystyle{siam}
131: \bibliography{qr}
132: \end{document}
133: 
134: