We work on a number of research areas related to High Performance Computing and Big Data / Analytics:
OpenMP is a directives-based approach to parallel programming.
- SOLLVE: Scaling OpenMP with LLVM for Exascale Performance and Portability
- Program Transformation for automatic offloading with OpenMP: This project aims at transforming the code of an application to support GPU offloading. We propose a compiler analysis pass which detects suitable regions of code and a transformation pass to facilitate automatic GPU offloading of those regions. We also propose to design a cost model for GPU offloading which along with the running cycles on the GPU also considers the data transfer time between the CPU and the GPU.
- OpenMP on the Emu Architecture: This work focuses on providing OpenMP on Emu’s unique architecture. To achieve this, we first aim to provide a translation of OpenMP to the Tapir IR-based parallelism construct, developed at MIT. Thereafter, we attempt to translate Tapir based IR to OpenMP runtime calls, which are to be further ported to emit the Emu ISA.
OpenACC is a directives-based approach to parallel programming intended for accelerators such as GPUs.
OpenSHMEM is a Partitioned Global Address Space library for fast communication and computation overlap.
CREDIT is a program to accelerate research and education in predictive analytics for science and engineering to transform our ability to effectively address and solve many complex problems posed by big data.