Contact: Prof. R. Eigenmann

HPC Lab: Software Techniques, Tools, and Infrastructure for Computational and Data-intensive Applications

The Xpert Network --A Peer Network for the exchange of computational best practices and support environments --

Through a series of online and face-to-face meetings we are aiming to create synergy among teams that assist researchers in developing, optimizing, and running computational and data-intensive applications. We also connect developers of tools that help accomplish these tasks. We welcome participation from large, national projects as well as from individuals that assist computational researchers or develop supporting environments.
For more information, see the project page
NSF Award Page

Research Staff: Parinaz Barakhshan


Real-Application Benchmarks for High-Performance Computing

We are creating HPC benchmarks that are representative of real-world applications. This is a collaboration with the Standard Performance Evaluation Corporation, SPEC and Indiana University. NSF award page

Collaborators:Sunita Chandrasekaran, Robert Henschel


Cetus Source-to-Source Compiler Infrastructure

Cetus is a compiler and transformation infrastructure for transforming C source code. The original purpose of Cetus was for automatic parallelization - translation of C code into C code annotated with OpenMP directives. Many other uses of the translator have emerged, such as the translation of OpenMP programs into CUDA and MPI. Cetus is being maintained as a community infrastructure and has been used for many projects worldwide (see the list of publications on the Cetus web page).
The Cetus project is a collaboration with Purdue University. NSF awards: 0707931, 1405954

Cetus website(at Purdue)

Research Staff: Akshay Bhosale, Parinaz Barakhshan, Jan Sher Khan, Hao Wang   Collaborators:Sam Midkiff, Milind Kulkarni


Advanced Program Analysis for Parallelization

In this project we develop novel compiler analysis techniques that gather information from the program that enables parallelization of code that could not be parallelized in the past. Our current focus in on analyzing properties of the content of subscript arrays.

Research Staff: Akshay Bhosale


Interactive Parallelization Tools

A tool is being developed that allows users to apply parallelization in a semi-automatic way. Experts can steer the parallelization process through tool menus and program directives. Non-experts can direct the tool to automatically parallelize parts of or the full program.
An initial prototype of an interactive parallelizer is part of the current Cetus release.

Research Staff: Jan Sher Khan