OBJECTIVE
I am a Ph.D. student in computer science and engineering who is
seeking a summer internship in fields related to parallel programming
languages and parallel computer architecture. Specifically, I am
interested in programming languages and compilation systems for
fine-grained parallel computers such as field programmable gate arrays
(FPGAs), vector computers, and reconfigurable computers.
EDUCATION University of Washington
Ph.D. Student, Computer Science and Engineering, expected 2008.
Advisor: Carl Ebeling Carnegie Mellon University
M.S., Electrical and Computer Engineering, August 2004.
Advisor: Herman Schmit
Relevant courses: Advanced Computer Architecture, VLSI CAD: Logic to
Layout, Multiprocessor Architecture, Semantics of Sequential and
Parallel Programs. Carnegie Mellon University
B.S. with University Honors, Electrical and Computer
Engineering with a minor in Computer Science, May 2001.
GPA: 3.76 (3.85 in major)
Relevant courses: Advanced Digital Design Project, Algorithm Design and
Analysis, Compiler Design, Signals & Systems, Introduction to Computer
Aided Digital Design, Programming Language Design and Processing,
Introduction to Computer Architecture, Analysis and Design of Digital
Circuits
WORK EXPERIENCE Silicon Möbius, Inc. Software Engineer, September 2002-February 2003, Durham, NC
Silicon Möbius was a startup company founded for the purpose of
commercializing the PipeRench architecture from CMU. I was responsible
for the language and compiler used to program the chips we were
developing. More information on the PipeRench project is avaiable at
http://www.ece.cmu.edu/research/piperench.
Recommendation available from Brian Van Essen (vanessen@alumni.cmu.edu). Chameleon Systems, Inc. Software Engineer, June 2001-August 2002, San Jose, CA
Chameleon was building a computer architecture with a two dimensional
grid of simple computational elements. I assisted with the design and
implemented a piece of software that takes a dataflow graph as input and
applies some transformations to make the computation fit within the
constraints of the architecture. The core of that software (designed by
Eylon Caspi) is an iterative algorithm that performs a constrained
retiming of the graph and a simulated annealing place and route.
Recommendation available from Mossadeq Mahmood (mahmood@cmln.com). Carnegie Mellon University Research Assistant, June 2000-May 2001, Pittsburgh, PA
I worked for Herman Schmit in the reconfigurable computing lab within
the Center for Electronic Design Automation. For the first half of the
summer I fixed and designed CMOS digital circuit layouts for the
PipeRench chip that was fabricated in September 2000. For the rest of
the summer I debugged and modified the software interface to PipeRench
and the Verilog description of PipeRench. During the subsequent school
year I worked with Dr. Schmit and Benjamin Levine on extending the
PipeRench work to address hybrid sequential-spatial computers.
Recommendation available from Herman Schmit (herman@ece.cmu.edu).
PUBLICATIONS AND PRESENTATIONS
H. Schmit, B. Levine, and B. Ylvisaker, ``Queue Machines: Hardware
Compilation in Hardware'', in IEEE Symposium on Field
Programmable Custom Computing Machines (FCCM), April 2002. Hybrid Architectures with a Single Transformable Executable
(HASTE), given at the Decentralized Streaming Architectures research
retreat hosted by André DeHon at the California Institute of
Technology, January, 2004 (with Brian Van Essen). Queue Machines, given at the Decentralized Streaming
Architectures research retreat hosted by André DeHon at the California
Institute of Technology, January, 2003 (with Ben Levine).
HONORS AND AWARDS
Departmental Research Assistant Fellowship, awarded by the Computer
Science and Engineering department of the University of Washington.
College Honors from Carnegie Institute of Technology, awarded for the
completion of an undergraduate honors research project.
Dean's list fall 1997, spring & fall 1999, spring & fall 2000, and
spring 2001.
R.L. Stone Stein Memorial Scholarship, awarded by Carnegie Mellon
University.
Bausch & Laumb Science Award.
TECHNICAL SKILLS
Computer languages I am familiar with in approximate order of
proficiency: SML, Java, Verilog, C/C++, Haskell, Perl, Matlab, HTML,
Javascript, VB, and Pascal.
Operating Systems I am familiar with: UNIX (Linux, Solaris), Mac OS X,
Windows (3.1, 95, 98, NT, 2000, XP), and BeOS.