Achieving a high fraction of peak performance on complex architectures has been a perennial challenge for application developers. The emergence of multicore processors and accelerators has greatly exacerbated this problem. With an increasing number of cores per socket, deep hierarchies of shared and distributed caches, and exascale computing on the horizon, multicore platforms pose unprecedented challenges for software development and application tuning. This research confronts the challenge of multicore and manycore software development by improving automatic performance tuning through improved feedback diagnostics. Autotuning efficiency is achieved through enhanced knowledge of the problem domain, program features and architectural characteristics. To this end, we are developing a set of tools that allow specification, collection and synthesis of tuning related information. This rich set of information is then exploited through novel machine learning models to deliver scalable, portable and sustainable performance on diverse architectures.
In line with this research, we have established, SISTEM, a structured interdisciplinary program for undergraduates that brings together faculty and students from different STEM disciplines to explore cross-cutting research problems in which computational thinking, modeling and simulation play a central role.
The techniques developed as past of this research will have a direct economic impact through saved energy and computation cycles on high-end systems. The improved efficiency of applications will allow researchers to execute large-scale simulations that will enable modeling of complex phenomenon in a broad range of disciplines including medicine, high-energy physics, climate modeling and nanotechnology.