procrastination

You may notice that I did not officially graduate from Illinois until January 1997, and probably wonder what's up with this?? Well, I really finished in 1994 as I passed my final defense in November 1994, but I left to join HP without completing my dissertation (big mistake!). To make a long and somewhat painful story short, it took me 2 years to finish the writing after I left (1.9 years of procrastination and 0.1 years of writing). So, I did not officially get my diploma until January 1997.  I still get ribbed about this today by David August and others who helped me turn in my dissertation.

education

Work experience

I worked in industry for six years before coming to Michigan. Interestingly, I interviewed in the EECS Department at Michigan in 1994, and had an offer to join. But, I decided that I wanted to work in industry for a while to see what the real world was like. So, I joined the Compiler and Architecture Research Group at Hewlett-Packard Laboratories in Palo Alto, CA headed by Bob Rau. I was there from 1995 to 2001.  Here are some of the projects I worked on when I was at HP:

  • Compilation for Explicitly Parallel Instruction Computing Processors - The group developed a prototype compiler backend targeted to processors similar to the IA-64. Some of the things I worked on include if-conversion, region formation, instruction scheduling, control/data height reduction optimizations, and synthetic branch prediction.
  • Trimaran - Together with the IMPACT and CREST research groups, we released a compilation infrastructure known as Trimaran to facilitate ILP compiler research.  Trimaran is still used today by many research groups including my own.
  • PICO - In 1997, my group at HP shifted focus from IA-64 to embedded processors, where we focused on automatic design of custom embedded processors and hardware accelerators. PICO, or Program-In Chip-Out, is the name of our prototype system.  Several members of the PICO team left HP and started a company called Synfora to productize the PICO technology.

Prior to 1995, I was a graduate research assistant at the University of Illinois at Urbana-Champaign. I worked with Prof. Wen-mei Hwu and helped create the IMPACT compiler.  You may notice that I did not officially graduate from Illinois until January 1997, and probably wonder what's up with this?? Well, I really finished in 1994 as I passed my final defense in November 1994, but I left without completing my dissertation (big mistake!). To make a long and somewhat painful story short, it took me 2 years to finish the writing after I left (1.9 years of procrastination and 0.1 years of writing). So, I did not officially get my diploma until January 1997.

Professional Activities

I tried to list all of them, but I am sure I forgot some.  Clearly, I spend way too much time reviewing papers!

Associate Editor Positions

  • ACM Transactions on Architecture and Code Optimization, 2004 - present
  • Journal of Instruction Level Parallelism, 2003 - present

 

Conference/workshop chair positions

  • General Co-Chair, 5th Intl. Symposium on Code Generation and Optimization, 2007
  • Program Co-Chair, 39th Intl. Symposium on Microarchitecture, 2006
  • General/Program Co-Chair, Optimizing Compiler Assisted SoC Assembly Workshop, 2005
  • Program Co-Chair, 2004 Intl. Conference on Compilers, Architecture, and Synthesis for Embedded Systems, 2004
  • Finance Co-Chair, 2nd Intl. Symposium on Code Generation and Optimization, 2004
  • Publicity Chair, 3rd Workshop on Application Specific Processors, 2004
  • Student Travel Grants Chair, 2003 Intl. Conference on Compilers, Architecture, and Synthesis for Embedded Systems, 2003
  • Program Co-Chair, 35th Intl. Symposium on Microarchitecture, 2002
  • Architecture Track Chair, 2002 Intl. Conference on Compilers, Architecture, and Synthesis for Embedded Systems, 2002
  • Workshop and Tutorial Chair, 34th Intl. Symposium on Microarchitecture, 2001
  • Publicity Chair, 33rd Intl. Symposium on Microarchitecture, 2000

 

Conference program committee memberships

  • Intl. Symposium on Computer Architecture: 2002, 2008
  • Intl. Symposium on Microarchitecture: 1997, 1999, 2003, 2004, 2007
  • Intl. Symposium on High Performance Computer Architecture: 2006-8
  • Intl. Conference on Programming Language Design and Implementation:
    2005
  • Intl. Symposium on Code Generation and Optimization: 2003-6, 2008
  • Intl. Conference on Parallel Architectures and Compilation Techniques: 2000, 2003, 2005
  • Intl. Conference on Supercomputing: 2003
  • Intl. Conference on Compilers, Architecture, and Synthesis for Embedded Systems: 2003, 2005-7
  • Intl. Conference on Hardware/Software Codesign and System Synthesis: 2005-7
  • Design Automation and Test in Europe Conference: 2005-6
  • Intl. Conference on Computer Design: 2004-5