I recently completed my PhD in Computer Science at Colorado State University, where I studied
compilers and high performance, parallel, programming. I was a member of the High Performance Programming group
and worked with my advisor Michelle Strout. My research
focuses on creating new abstractions and using program analysis and code
generation techniques to help developers implement high performance codes.
Currently, I am working on the GridWeaver project, which introduces
semiregular-grid abstractions that scientists can use to implement certain types
of Earth science simulation codes.
For information about my
skills and background see my resume in one of the following formats:
[HTML]
[TXT]
[PDF]
[DOCX].
GridWeaver is an active library for specifying stencil computations on
semiregular-grids. Semiregular-grids are meshes consisting of a finite
number of regular regions, stored in arrays, that connect to one another in an
irregular fashion. With GridWeaver programmers are able to specify grid
topology separately
from the operations that they wish to apply. GridWeaver uses code
generation techniques to replace library calls with more efficient, inlined,
code.
I am implementing GridWeaver for my PhD research and am evaluating it
within the CGPOP miniapp and Shallow Water Model code. The goal of this
research is to separate grid topology from algorithm while hiding parellization
concerns from the programmer.
Miniapps are small programs that act as performance and programmability proxies
of larger applications. Scientists and developers can use miniapps to
investigate the impact a change in a large application's programming model,
data structures, or optimizations would have without having to implement the
change in the large application itself. CGPOP is a miniapp of the Parallel
Ocean Program (POP), an important ocean simulation code.
I, along with my mentor at NCARJohn Dennis, helped
extract the conjugate gradient routine CGPOP. I have used CGPOP to evaluate
what the impact of modifying POP to use Co-Array Fortran would be.
MRSim is a routing policy simulation framework that helps computer networking
researchers simulate policies on large-scale networks (1000 nodes or more).
Policies in MRSim are specified in terms of the Routing Algebra Meta-Language
(RAML). MRSim can be run on clusters or multi-core machines.
DFAGen is a domain specific language and generator for Data-Flow
Analyzers. Data-Flow Analyzers are used by compilers and software engineering
tools in order to statically (at compile time) determine a program's behavior.
In DFAGen data-flow problems are specified declaratively in terms of Data-Flow
equations.
I created DFAGen as part of my Master's thesis. The problem addressed
by the thesis is
how to resolve the may/must set
ambiguity that occurs when referencing a statement's set
of accessed variables. May/must ambiguities arise due to aliasing (for example:
due to pointers).
OpenAnalysis (OA) is a framework for writing program analyzers in a
manner independent from any specific inermediate representation (the
data-structures a compiler uses to represent the program it is compiling).
This enables analyzers to be written in a compiler-independent fashion. In OA
analyzers interface with a compiler via analysis-specific IR interfaces, which
can be implemented so that OA can target a specific compiler.
My
involvement in the project included writing regression tests and a tool that
automatically produces output methods for classes by analyzing annotated header
files
Copyrights to the following papers are held by the publishers. The attached
files are preprints. It is understood that all persons copying this information
will adhere to the terms and constraints invoked by each author's copyright.
These works may not be reposted without the explicit permission of the
copyright holder.
Conferences
Programming Abstractions to Separate Concerns in Semi-Regular Grids, Andrew Stone and Michelle Mills Strout, To be published in: Proceedings of the 27th International Conference on Supercomputing (ICS), June 10, 2013, (pdf), [BibTeX].
@inproceedings{stone13,
Author = {Andrew Stone and Michelle Mills Strout},
Booktitle = {To be published in:
Proceedings of the 27th International Conference on Supercomputing (ICS)},
Month = {June},
Title = {Programming Abstractions to Separate Concerns in Semi-Regular Grids },
Year = {2013}}
Evaluating Coarray Fortran with the CGPOP Miniapp, Andrew I. Stone, John M. Dennis, and Michelle Mills Strout, Partitioned Global Address Space Conference, October 2011, (pdf), [BibTeX].
@inproceedings{CGPOP2011,
Author = {Andrew I. Stone and John M. Dennis and Michelle Mills Strout},
Booktitle = {Proceedings of the Fifth Conference on Partitioned Global
Address Space Programming Models (PGAS)},
Month = {October 15,},
Title = {Evaluating Coarray Fortran with the CGPOP Miniapp},
Year = {2011}}
Scalable Simulation of Complex Network Routing Policies, Andrew I. Stone and Steven DiBenedetto and Michelle Mills Strout and Daniel Massey, The Proceedings of the ACM International Conference on Computing Frontiers (CF), 2010, (pdf), [BibTeX].
@inproceedings{Stone10,
Author = {Andrew I. Stone and Steven DiBenedetto and Michelle Mills Strout and Daniel Massey},
Booktitle = {Proceedings of the ACM International Conference on Computing Frontiers (CF)},
Month = {May 17-19,},
Title = {Scalable Simulation of Complex Network Routing Policies},
Year = {2010}}
Automatic Determination of May/Must
Set Usage in Data-Flow Analysis, Andrew Stone and Michelle Mills Strout and Shweta Behere, In Proceedings of the Eighth IEEE International Working Conference
on Source Code Analysis and Manipulation (SCAM), September 2008, (pdf), [BibTeX].
@inproceedings{Stone2008,
Author = {Andrew Stone and Michelle Mills Strout and Shweta Behere},
Booktitle = {Proceedings of the Eighth IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM)},
Title = {Automatic Determination of May/Must Set Usage in Data-Flow Analysis},
Year = {2008}}
Journals
May/Must Analysis and the DFAGen Data-flow Analysis Generator, Andrew Stone and Michelle Mills Strout and Shweta Behere, Information and Software Technology, 51(10), October 2009, (pdf), [BibTeX].
@article{Stone2009,
Author = {Stone, Andrew and Strout, Michelle and Behere, Shweta},
Journal = {Information and Software Technology},
Month = {October},
Number = {10},
Pages = {1440--1453},
Title = {May/must analysis and the DFAGen data-flow analysis generator},
Volume = {51},
Year = {2009}}
Workshops \ BoF Sessions
Loop Chaining: A Programming Abstraction For Balancing Locality and Parallelism, Christopher D. Krieger, Michelle Mills Strout, Catherine Olschanowsky, Andrew Stone, Stephen Guzik, Xinfeng Gao, Carlo Bertolli, Paul H.J. Kelly, Gihan Mudalige, Brian Van Straalen, and Sam Williams, To be published in: Proceedings of the 18th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS), May, 20, 2013, (pdf), [BibTeX].
@inproceedings{Krieger13,
Author = {Christopher D. Krieger and Michelle Mills Strout and Catherine Olschanowsky and
Andrew Stone and Stephen Guzik and Xinfeng Gao and Carlo Bertolli and Paul H.J. Kelly and
Gihan Mudalige and Brian Van Straalen and Sam Williams
},
Booktitle = {To be published in:
Proceedings of the 18th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS)},
Month = {May},
Title = {Loop Chaining: A Programming Abstraction For Balancing Locality and Parallelism},
Year = {2013}}
Evaluating the Separation of Algorithm and Implementation within Existing Programming Models, Michelle Mills Strout, Christopher Krieger, Andrew Stone, Christopher Wilcox, John Dennis, and James Bieman, Proceedings of SciDAC, July 2011, (pdf), [BibTeX].
@inproceedings{StroutScidac11,
Author = {Michelle Mills Strout and Christopher Krieger and Andrew Stone and Christopher Wilcox and John Dennis and James Bieman},
Booktitle = {Proceedings of {SciDAC} },
Title = {Evaluating the Separation of Algorithm and Implementation within Existing Programming Models},
Year = {2011}}
Qualitative Evaluation Criteria for Parallel Programming Models, Christopher Krieger, Andrew I. Stone, and Michelle Mills Strout, The Proceedings of the Fun Ideas and Thoughts Session at PLDI (FIT), 2010, (pdf), [BibTeX].
@inproceedings{FIT2010,
Author = {Christopher D. Krieger and Andrew I. Stone and Michelle Mills Strout},
Booktitle = {Proceedings of the Fun Ideas and Thoughts Session at PLDI},
Month = {June 8,},
Title = {Qualitative Evaluation Criteria for Parallel Programming Models},
Year = {2010}}
Mechanisms that Separate Algorithms from Implementations for Parallel Patterns, Christopher D. Krieger and Andrew Stone and Michelle Mills Strout, Workshop on Parallel Programming Patterns (ParaPLOP), March 2010, (pdf), [BibTeX].
@inproceedings{ParaPLOP10,
Author = {Christopher D. Krieger and Andrew Stone and Michelle Mills Strout},
Booktitle = {Workshop on Parallel Programming Patterns (ParaPLOP)},
Month = {March},
Title = {Mechanisms that Separate Algorithms from Implementations for Parallel Patterns},
Year = {2010}}
Global HPC Challenge Benchmarks in Chapel, Bradford L. Chamberlain and Steven J. Deitz and Samuel A. Figueroa and David M. Iten and Andrew Stone, HPC Challenge Competition (at SC 2008), Novemeber, 2008,
Tech reports
The CGPOP Miniapp, Version 1.0, Andrew I. Stone, John M. Dennis, and Michelle Mills Strout, Technical Report CS-11-103, July 2011, (pdf), [BibTeX].
@techreport{CGPOPtech,
Author = {Andrew Stone and John Dennis and Michelle Mills Strout},
Institution = {Colorado State University},
Month = {July 1},
Number = {Technical Report CS-11-103},
Title = {The CGPOP Miniapp, Version 1.0},
Year = {2011}}
Simulating Internet Scale Topologies With Metarouting, Steven DiBenedetto and Andrew I. Stone and Michelle Mills Strout and Daniel Massey, Technical Report CS-10-103 Colorado State University, March 2010, (pdf), [BibTeX].
@techreport{MRSimTech10,
Author = {Andrew I. Stone and Steven DiBenedetto and Michelle Mills Strout and Daniel Massey},
Institution = {Technical Report CS-10-103 Colorado State University},
Month = {March},
Title = {Simulating Internet Scale Topologies With Metarouting},
Year = {2010}}
Posters
An Active Library for Semi-Regular Grids, Andrew Stone and Michelle Mills
Strout, Second Annual Front Range High Performance Computing Symposium (FRCRC
HPC 2012), August, 2012. Poster competition winner.
[PPTX]
[PDF]
Abstractions for Defining Semi-Regular Grids Orthogonally from Stencil
Computations, Andrew Stone and Michelle Mills Strout, The 25th Intertional
Workshop on Languages and Compilers for Parallel Computing (LCPC 2012),
September 2012. [PDF] [PPTX]
The CGPOP Miniapp, Andrew Stone and John Dennis and Michelle Mills Strout,
17th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
(PPoPP'12), February 2012.
[PDF]
[PPTX]
Other reports and talks
Research (PhD Qualifier) Exam: A Survey of how Parallel Programming Models
Address Computation Distribution, Andrew Stone, April 2010 [PDF] Talk: [PPTX] [PDF]
Mini Research Exam (for the CS653 compilers class): Communication Libraries for
Parallel Programming Model Runtime Systems Andrew Stone, November 2010
[pdf] Talk: [PPTX] [PDF]
NCAR Internship Talk: Refactoring a Climate Simulation Miniapp to use a
PGAS programming model, Andrew Stone, mentor: John Dennis, August 2010
[PPTX]
[PDF].
Cray Internship Talk: The HPL Benchmark in Chapel, Andrew Stone,
mentor: Brad Chamberlain, August 2008
[PPT]
[PDF].