Andy Stone

About Me

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].

For more information about my publications view my Google Scholar page.

[Resume] • [Projects] • [Publications] • [Personal]

Research projects I have been involved with

Sorted by date of involvement (most recent first):

> PhD Dissertation
    Talk: [PDF] [PPTX]
    Proposal: [PDF]
    Proposal talk: [PDF] [PPTX]

> Conference (ICS 2013)
    Paper: [PDF]
    Talk: [PDF] [PPTX]

> Poster (FRCRC HPC 2012)
   [PDF] [PPTX]

> Poster (LCPC 2012)
   [PDF] [PPTX]

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.

> Conference (PGAS11)
    Paper: [PDF]
    Talk: [PDF] [PPTX]

> Poster ( PPoPP 2012)
   [PDF] [PPTX]

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 NCAR John 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.

> Conference (CF10)
    Paper: [PDF]
    Talk: [PDF] [PPTX]

> Tech report

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.

I was a co-implementor of the code along with my Colleague Steve DiBenedetto from CSU's Network Security research group.

> Master's thesis
    Thesis: [PDF]
    Talk: [PDF] [PPT]

> Conference (SCAM 2008)
    Paper: [PDF]
    Talk: [PDF] [PPT]

> Journal paper (Information and Sofware Technology 2009)

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

Publication Record

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.


Programming Abstractions to Separate Concerns in Semi-Regular Grids, Andrew Stone and Michelle Mills Strout, In Proceedings of the 27th International Conference on Supercomputing (ICS), June 10, 2013, (pdf), [BibTeX].

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].

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].

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].


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].

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, In Proceedings of the 18th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS), May, 20, 2013, (pdf), [BibTeX].

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].

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].

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].

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].

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].


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].


Page last updated: 6/6/2013