Michael E. Bauer
Stanford University
|
|
|
|
Recent BioI am a fourth year Ph.D. candidate in the Department of Computer Science at Stanford University. I graduated from Duke University in 2008 and still miss Duke Basketball (see above). My research advisor is Alex Aiken. I currently work on developing locality-aware parallel programming languages such as Sequoia and Legion (coming soon). I've also been developing the CudaDMA library to improve both the performance and programmability of GPU kernels that use shared memory. I received an NVIDIA Graduate Fellowship in 2010 and 2011 and interned at NVIDIA Research in the summer of 2010. I'm also a member of the Stanford Pervasive Parallelism Lab. Although my research consumes a large chunk of my time, I also enjoy participating in other activities. I enjoy running competitively and playing pick-up basketball games as often as possible. I'm always up for a good chess match. Research InterestsMy primary research is in the design of parallel programming models and languages. I'm particularly interested in the design of higher-level languages that are capable of targeting deep memory hierarchy machines. While at Stanford I have worked on developing the Sequoia programming language. Sequoia is a parallel programming model and language explicitly designed for expressing locality-aware computations in deep memory hierarchies. As part of my research I've designed several new features for the language and implemented them within the framework of the Sequoia programming infrastructure. In addition to working on higher level languages like Sequoia, I also have extensive experience targeting P-threads, OpenMP, MPI, and CUDA. These low-level libraries and languages play a vital role in the implementation of Sequoia's runtimes. As a result my research also extends to the design of new low-level APIs and interfaces to hardware that would enable more efficient parallel programming and provide better targets for higher-level language compilers. I am particulary interested in the adaptation of vector intrinsics, synchronization primitives, software and hardware coherence, and masking mechanisms for SIMT and SIMD architectures to future low-level languages. Prior to graduate school my research focus was primarily on computer architecture. I worked on both comprehensive error detection in hardware as well as process variability tolerant architectures. A summary of my undergraduate research projects can be found here. Teaching ExperienceWhile at Stanford I have helped develop a new undergraduate course in parallel programming CS149. I was a TA for this class in winter quarter 2010 (the first time it was offered) as well as winter quarter 2011. I've helped develop all the programming assignments for this class including ones involving:
|
|