General-purpose computation with efficient Single Instruction, Multiple Data (SIMD) oriented many-core devices, such as graphical processing units (GPUs), can deliver high performance in a variety of application domains. Data-parallel applications that perform well on SIMD many-cores typically exhibit regularity in patterns of computation and data movement, acting identically on each of an ensemble of many equal-sized inputs. However, many important applications exhibit irregular behavior making them difficult to implement efficiently on these platforms. Thus, efficient SIMD implementation of applications with irregular behavior is an important ongoing research problem.
This project's focus is the investigation and validation of novel interface designs, algorithmic techniques, and implementation strategies to address the problem of efficient SIMD implementation uniformly for applications from a variety of domains. The work includes generating alternate module designs to support efficient developer-driven searches over large design spaces to tune performance. Another key area of the research will validate these technologies on bio-sequence analysis applications resulting in innovative, efficient new GPU designs for computational tasks.
More broadly and with a particular focus on new high-performance application designs for data-intensive computations critical to bioinformatics, the project will enable faster development of more efficient, more maintainable GPU software, even for applications with SIMD-unfriendly irregular behaviors.