-
Notifications
You must be signed in to change notification settings - Fork 0
/
research.html
252 lines (233 loc) · 17.6 KB
/
research.html
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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>
Natalie N. Beams: Research
</title>
<!-- Bootstrap core CSS -->
<link rel="stylesheet" href="bootstrap-4.1.3-dist/css/bootstrap.min.css">
<!-- Custom styles for this template -->
<link href="theme.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body role="document">
<!-- Fixed navbar -->
<nav class="navbar navbar-expand-lg navbar-light bg-light fixed-top">
<div class="container">
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a class="nav-link" href="index.html">Home </a>
</li>
<li class="nav-item">
<a class="nav-link" href="about.html">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="#">Research<span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a href="files/BeamsNatalieWeb.pdf" <button type="button" class="btn btn-outline-secondary">CV</button></a>
</li>
</ul>
<span class="navbar-text">
Natalie N. Beams
</span>
</div>
</nav>
<div class="container theme-showcase mt-5" role="main">
<div class="container mt-5">
<div class="row">
<div class="col-md-8 mt-4">
<h5><div class="alert alert-secondary" role="alert">Enabling exascale finite element simulations</div></h5>
<p> After joining ICL in 2019, I have worked on two projects within the Exascale Computing Project (ECP): <a href="https://ceed.exascaleproject.org/">CEED</a> and <a href="https://www.exascaleproject.org/research-project/clover/">CLOVER.</a> </p>
<p> For CEED, I primarily worked with the <a href="https://github.com/CEED/libCEED">libCEED</a> library, leading
the effort to port the CUDA backends to HIP for AMD GPUs, as well as contributing to other GPU-related
developments in the library. For CLOVER, I improved and expanded the interface of the
<a href="https://github.com/mfem/mfem">MFEM</a> finite element library to
<a href="https://github.com/ginkgo-project/ginkgo">Ginkgo</a>, enabling a minimal-overhead framework for interoperability
between Ginkgo's solvers and preconditioners and those included in MFEM, as well as MFEM's matrix-free operators. (The podcast
episode listed below discusses this interface in more detail.) I have also
worked with porting the <a href="https://icl.utk.edu/magma/">MAGMA</a> linear algebra library to SYCL for Intel GPUs.
<p> For both projects, I have been involved with efforts to investigate mixed-precision acceleration of simulations on GPUs. The
following list gives an overview of the kind of work I have been involved in through ECP. </p>
</div>
<div class="col-md-3 mt-4">
<figure class="text-center">
<img src="files/ECP-logo.png" style="max-width:90%;" class="figure-img img-fluid rounded" alt="ECP">
<img src="files/ceed-logo-256.png" style="max-width:55%;" class="figure-img img-fluid rounded" alt="CEED">
<img src="files/ginkgo-logo.png" class="figure-img img-fluid rounded" alt="Ginkgo">
</figure>
</div>
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item"><span class="badge badge-secondary">Paper</span>
<i>Three-precision algebraic multigrid on GPUs</i>, Y. M. Tsai, <b>NNB</b>, and H. Anzt. Future Generation Computer Systems 149 (20 23).  [<a href="https://doi.org/10.1016/j.future.2023.07.024">journal link</a>]</li>
<li class="list-group-item"><span class="badge badge-secondary">Paper</span>
<i>Mixed Precision Algebraic Multigrid on GPUs</i>, Y. M. Tsai, <b>NNB</b>, and H. Anzt. Parallel Processing and Applied
Mathematics: 14th International Conference, PPAM 2022, Revised Selected Papers, Part I (2023).  
[<a href="https://doi.org/10.1007/978-3-031-30442-2_9">journal link</a>]  <i>(winner of best workshops paper award)</i></li>
<li class="list-group-item"><span class="badge badge-secondary">Podcast</span>
<i>Enabling Cross-Project Research to Strengthen Math Libraries for Scientific Simulations</i>, episode 95 of ECP's "Let's Talk Exascale" podcast (2022).  [<a href="https://www.exascaleproject.org/enabling-cross-project-research-to-strengthen-math-libraries-for-scientific-simulations/">website link</a>]  [<a href="https://podcasts.apple.com/us/podcast/episode-95-enabling-cross-project-research-to-strengthen/id1336112335?i=1000559588834">Apple podcasts link</a>]</li>
<li class="list-group-item"><span class="badge badge-secondary">Presentation</span>
<i>Leveraging Mixed Precision to Accelerate High-Order Finite Element Methods on GPUs</i>, <b>NNB</b>, J. Brown, J. Thompson,
Y. Dudouit, and W. Pazner. SIAM Conference on Parallel Processing for Scientific Computing (PP) (2022).</li>
<li class="list-group-item"><span class="badge badge-secondary">Paper</span>
<i> libCEED: Fast algebra for high-order element-based discretizations</i>, J. Brown, A. Abdelfattah, V. Barra, <b>NNB</b>,
J-S. Camier, V. Dobrev, Y. Dudouit, L. Ghaffari, T. Kolev, D. Medina, W. Pazner, T. Ratnayaka, J. Thompson, and S. Tomov.
Journal of Open Source Software 6(63) (2021).  [<a href="https://doi.org/10.21105/joss.02945">journal link</a>]</li>
<li class="list-group-item"><span class="badge badge-secondary">Presentation</span>
<i>MAGMA Backend and its Portability in Accelerating LibCEED using Standard and Device-Level Batched BLAS</i>, <b>NNB</b>,
A. Abdelfattah, S. Tomov, and J. Dongarra. SIAM Conference on Computational Science and Engineering (CSE) (2021).</li>
<li class="list-group-item"><span class="badge badge-secondary">Paper</span>
<i>High-Order Finite Element Method using Standard and Device-Level Batch GEMM on GPUs</i>, <b>NNB</b>,
A. Abdelfattah, S. Tomov, J. Dongarra, T. Kolev, and Y. Dudouit. IEEE/ACM 11th Workshop on Latest Advances in
Scalable Algorithms for Large-Scale Systems (ScalA) (2020).  
[<a href="https://doi.org/10.1109/ScalA51936.2020.00012">journal link</a>]  [<a href="https://icl.utk.edu/files/publications/2020/icl-utk-1442-2020.pdf">UTK PDF link</a>]</li>
<li class="list-group-item"><span class="badge badge-secondary">Presentation</span>
<i>Coupling MFEM with Ginkgo for efficient preconditioning on GPUs</i>, <b>NNB</b>, T. Kolev, W. Pazner, H. Anzt, T. Grützmacher,
P. Nayak, and T. Ribizel. CEED 4th Annual Meeting (2020).</li>
</ul>
</div>
<br><br>
<div class="container mt-5">
<div class="row">
<div class="col-md-7 mt-4">
<h5><div class="alert alert-secondary" role="alert">HPC for HPS</div></h5>
<p> Work with my postdoc advisor, Adrianna Gillman.</p>
<p> The Hierarchical Poincaré-Steklov (HPS) method is a
discretization technique based on domain decomposition
and classical spectral collocation methods. It is accurate
and robust, even for highly oscillatory solutions. An associated
fast direct solver is built from hierarchically merging Poincaré-Steklov
operators on box boundaries and storing the necessary information; the solve stage then involves
applying the operators in a series of small matrix-vector multiplications.</p>
<p> We worked on parallelizing, optimizing, and accelerating the algorithm, especially the build stage.
Our 2D shared memory parallelization technique reduced the build stage times from
approximately 10 minutes to approximately 30 seconds for over 3 million unknowns. </p>
</div>
<div class="col-md-4 mt-4">
<figure class="figure">
<img src="files/speedup56.png" class="figure-img img-fluid rounded" alt="Speedup.">
<figcaption class="figure-caption">Speedup achieved in the build and solve portions of the algorithm with 56 available threads.</figcaption>
</figure>
</div>
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item"><span class="badge badge-secondary">Paper</span>
<i>A parallel shared-memory implementation of a high-order accurate solution technique for variable coefficient Helmholtz problems</i>,
<b>NNB</b>, A. Gillman, and R. Hewett. Computers and Mathematics with Applications 79(4) (2020).   [<a href="https://doi.org/10.1016/j.camwa.2019.08.019">journal link</a>]   [<a href="https://arxiv.org/abs/1812.07167">arXiv link</a>]</li>
<li class="list-group-item"><span class="badge badge-secondary">Presentation</span>
<i>An Efficient and High Order Accurate Solution Technique for Three Dimensional Elliptic Partial Differential Equations</i>,
<b>NNB</b> and A. Gillman. SIAM Conference on Computational Science and Engineering (2019).</li>
<li class="list-group-item"><span class="badge badge-secondary">Presentation</span>
<i> A Parallel Implementation of a Hierarchical Spectral Solver for Variable Coefficient Elliptic Partial Differential Equations</i>,
<b>NNB</b>, A. Gillman, and R. Hewett. International Conference on Spectral and High Order Elements (2018).</li>
<li class="list-group-item"><span class="badge badge-secondary">Presentation</span>
<i> A parallel implementation of a high order accurate variable coefficient Helmholtz solver</i>,
<b>NNB</b>, A. Gillman, and R. Hewett. SIAM Conference on Applied Linear Algebra (2018).</li>
<li class="list-group-item"><span class="badge badge-secondary">Poster</span>
<i> A parallel implementation of a high order accurate variable coefficient Helmholtz solver</i>,
<b>NNB</b>, A. Gillman, and R. Hewett. Rice Oil & Gas HPC Conference (2018).</li>
</ul>
</div>
<br><br>
<div class="container">
<div class="row">
<div class="col-md-7">
<h5><div class="alert alert-secondary" role="alert">FE-IE for interface problems & irregular domains</div></h5>
<p>
We developed and implemented a new, high order finite element-integral equation coupling method for
elliptic interface problems. The method leverages the strengths of FE and IE
methods to handle different aspects of the problem. It can handle general jump conditions at the interface,
and the jump conditions appear <i>only</i> in the right hand side of the system to be solved.
Additionally, the method does not suffer from loss of convergence order near the boundary when the boundary is smooth
and the problem data can be extended as necessary across the interface.
It also doesn't require the construction or use of any special basis functions; in fact,
much of the standard machinery for both the FE and IE solvers can be used, simplifying implementation
from a software standpoint. </p>
</div>
<div class="col-md-4">
<figure class="figure">
<img src="files/starfish-jump.png" class="figure-img img-fluid rounded" alt="An interface problem on a starfish-shaped domain.">
<figcaption class="figure-caption">An example interface problem with jump conditions along a starfish-shaped interface.</figcaption>
</figure>
</div>
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item"><span class="badge badge-secondary">Paper</span>
<i>High-order Finite Element—Integral Equation Coupling on Embedded Meshes,</i>
<b>NNB</b>, A. Klöckner, and L. N. Olson. Journal of Computational Physics 375 (2018).
  [<a href="https://doi.org/10.1016/j.jcp.2018.08.032">journal link</a>]  [<a href="https://arxiv.org/abs/1804.02736">arXiv link</a>]</li>
<li class="list-group-item"><span class="badge badge-secondary">Presentation</span>
<i>Targeting Interface Problems at Scale with Coupled Elliptic Solvers</i>,
<b>NNB</b>, A. Klöckner, and L. N. Olson. 6th Joint Laboratory for Extreme-Scale Computing Workshop (2016).</li>
</ul>
</div>
<br><br>
<div class="container">
<div class="row">
<div class="col-md-6">
<h5><div class="alert alert-secondary" role="alert">FE-based P3M</div></h5>
<p> The goal of this project was to create an FE-based version of the particle-particle–particle-mesh (P3M)
methods for N-body problems. P3M methods separate particle interactions into short-range (only required for near neighbors)
and far-field (smooth, and solved easily on a mesh with your favorite numerical method). A common choice is to achieve the P-P/P-M
splitting through Gaussian screen functions (as in the classic Ewald sum) and solve the mesh problem with FFTs.</p>
<p> We developed a method which constructs special polynomial screen functions out of finite element basis functions.
Thus the screens are represented exactly on the finite element mesh, removing several possible sources of error
in a finite element solution to the mesh problem. Indeed, we aimed to make the mesh problem especially suited to
being solved with finite elements, avoiding the geometry restrictions and parallel communication burdens of the FFT. </p>
</div>
<div class="col-md-5">
<figure class="figure">
<img src="files/screenfig.png" class="figure-img img-fluid rounded" alt="Example polynomial screens.">
<figcaption class="figure-caption">Polynomial screens formed from increasing order of basis functions for a charge located at the starred location.</figcaption>
</figure>
</div>
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item"><span class="badge badge-secondary">Paper</span>
<i>A Finite Element Based P3M Method for N-body Problems</i>,
<b>NNB</b>, L. N. Olson, J. B. Freund. SIAM J. Sci. Comput., 38(3) (2016).   
[<a href="http://dx.doi.org/10.1137/15M1014644">journal link</a>]  [<a href="http://arxiv.org/abs/1503.08509">arXiv link (slightly older version)</a>]</li>
<li class="list-group-item"><span class="badge badge-secondary">Poster</span>
<i> A Method for N-Body problems based on Exact Finite Element Basis Screen Functions,</i>
<b>NNB</b>, L. N. Olson, and J. B. Freund.
SIAM Conference on Computational Science and Engineering (2015). </li>
<li class="list-group-item"><span class="badge badge-secondary">Presentation</span>
<i> A Scalable Method for Cellular Blood Flow and Other N-body Systems</i>,
<b>NNB</b>, L. N. Olson, and J. B. Freund. University of Illinois at Urbana-Champaign Computational Science & Engineering
Annual Meeting (2013).   [<a href="https://www.youtube.com/watch?v=XibOIsZ8tfM">video</a>] </li>
</ul>
</div>
<br><br><br><br>
<div class="container">
<h5><div class="alert alert-secondary" role="alert">Other</div></h5>
<ul class="list-group list-group-flush">
<li class="list-group-item"><span class="badge badge-secondary">Presentation</span>
<i>Ordered and chaotic flow of red blood cells flowing in a narrow tube</i>,
<b>NNB</b> and J. B. Freund. 66th Annual Meeting of the American Physical Society Division of Fluid Dynamics
(2013). </li>
<li class="list-group-item"><span class="badge badge-secondary">Presentation</span>
<i>Stability of red cells flowing in narrow tubes</i>, <b>NNB</b> and J. B. Freund.
64th Annual Meeting of the American Physical Society Division of Fluid Dynamics (2011). </li>
<br>
<li class="list-group-item"><span class="badge badge-secondary">Presentation</span>
<i>Program Visualization Tool for Educational Code Analysis</i>, <b>NNB</b>.
2010 Global Conference on Educational Robotics (2010).    [Do you like educational robotics?
Then you should check out the awesome
<a href="http://kipr.org">people</a> who run GCER and their <a href="http://www.botball.org/">Botball</a> program] </li>
</ul>
</div>
</div>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="bootstrap-4.1.3-dist/js/bootstrap.min.js"></script>
</body>
</html>