Our broad research focus is in Computer Systems, especially experimental computer systems. This involves building and characterizing artifacts such as processors and accelerators, parallel and networked systems, cluster and cloud nodes, hardware configurations, code optimizers, communication switches, middleware, and applications.
We are particularly interested in Computer Architecture, which we like to define (very broadly) as the application of technology to solve problems in data processing. Our particular focus is on applications that are likely to benefit from hardware solutions other than commodity systems. Particularly important to our work is developing real applications, especially in High Performance Computing. We have developed production systems in Molecular Dynamics, Bioinformatics, and Molecular Docking. Other applications of interest are Machine Learning, Image Processing, and Adaptive Mesh Refinement.
As with most projects in experimental computer systems, ours requires integration of disparate disciplines within computer science and engineering. For us, these include computer architecture, design automation, circuit design, HL and HD languages and compilers, mapping and portability, algorithms, and application analysis.