Languages, Compilers, and Runtime Systems
Static and run-time compiler systems are used to get more performance, robustness, and energy
efficiency through intelligent program analysis, transformation, and adaptation.
Deep analysis of application behavior identifies opportunities to customize the software
to the underlying hardware as well as providing an automatic approach to customize
hardware functionality to a set of applications. Dynamic profile or run-time data expose
opportunities to optimize the common case or even input-specific optimizations.
CSE faculty are developing new compiler methods to optimize applications from
mobile to cloud server. Techniques such as software approximate computing unlock
performance in applications where 100% output accuracy is neither necessary or even
possible. Lightweight dynamic compilation allows an application to be optimized while it is
running without disruptions.
Other projects explore problems at the interface of architecture, operating systems and program
analysis, to help programmers write and maintain reliable parallel software, including support for
tolerating concurrency bugs, memory consistency models and deterministic replay.
Moreover, faculty within this area explore specialized solutions to greatly boost the performance
of specific algorithms or computing frameworks, for instance frameworks that are widely applied in
the context of large data applications, such as MapReduce.|
Compilers are also key in identifying new opportunities to make use of specialized accelerators. GPUs, FPGAs, and other accelerators provide great opportunities to offload work from traditional processors. Key challenges being investigated are how to find this work, how to match it to the accelerator, and how to do both of these without having the programmer rewrite or restructure applications. Compilers are also used to design customized processor and accelerator architectures. Customized processors bring previously unattainable performance to edge devices (sensors, phones) in important domains such as deep learning, computer vision, and medical imaging.
Related LinksCE Lab
Software Systems Lab
CSE FacultyAustin, Todd
Chen, Peter M.
Sakallah, Karem A.
Wenisch, Thomas F.
ECE FacultyLafortune, Stephane