The University of Arizona
banner image

Michelle Mills Strout

Research

My research interests include the areas of compilers, scientific computing, computer architecture, and software engineering, with compilers being my main focus. In many application domains, issues such as performance and reliability co-mingle with algorithmic issues resulting in domain-specific libraries and applications that are difficult to understand, reuse, and maintain. In my research, I investigate and develop compiler technology in order to automate domain-specific analyses and transformations that are currently applied by hand or not at all.

I have a number of active projects attacking the problem of how to make high performance computing more accessible for scientists doing computational modeling.

The SAIMI project (Separating Algorithm and Implementation via programming Model Injection, funded through a DOE Early Career award) will attack the obfuscation problem by providing separate interfaces for the specification of algorithms and the implementation details such as how to schedule the algorithms on parallel computer systems. We propose to inject programming models into existing host languages and provide high-level implementation abstractions to prevent algorithm obfuscation due to performance tuning. The definition of an injectable programming model is still evolving, but an initial definition is a programming abstraction like the polyhedral model or task graphs. These programming abstractions can be injected using pragmas and are constrained enough to enable the orthogonal specification of implementation details.

The main goal of the PIES project (Parallelization using Inspector/Executor Strategies, funded through an NSF CAREER grant) is the development of a Sparse Polyhedral Framework (SPF) for specifying irregular/sparse computations and enabling runtime reordering transformations of those computations through the automatic generation of the appropriate inspectors and executors. We plan to incorporate the SPF as an injectable programming model.

Previous projects include: