Codesign of Algorithms and Architectures

As architectures evolve from one generation to next generation and when new paradigms such as data flow emerge there are lots of opportunities to not just develop new algorithms for these architectures but to co-design both architectures and algorithms to relaize gains that are otherwise not possible.

My works in this area have been on variety of architectures, focused on vectorization on CPUs, new portable algorithms on GPUs and new accelerator designs, programming models, and algorithms for data flow accelerators.