Office Hours: E-mail Tara White for appointments.
Katherine Yelick is a Professor of Electrical Engineering and Computer Sciences at the University of
California at Berkeley and is also the Associate Laboratory Director for Computing
at Lawrence Berkeley National Laboratory.
She is the
co-author of two books and more than 100 refereed technical papers on
parallel languages, compilers, algorithms, libraries, architecture,
and storage. She co-invented the UPC and Titanium languages and
demonstrated their applicability across architectures through the use
of novel runtime and compilation methods. She also co-developed
techniques for self-tuning numerical libraries, including the first
self-tuned library for sparse matrix kernels which automatically adapts
the code to properties of the matrix structure and machine. Her work
includes performance analysis and modeling as well as optimization
techniques for memory hierarchies, multicore processors, communication
libraries, and processor accelerators. She has worked with
interdisciplinary teams on application scaling, and her own
applications work includes parallelization of a model for blood flow
in the heart. She earned her Ph.D. in Electrical Engineering and
Computer Science from MIT and has been a professor of Electrical
Engineering and Computer Sciences at UC Berkeley since 1991 with a
joint research appointment at Berkeley Lab since 1996. She has
received multiple research and teaching awards and is a member of the
California Council on Science and Technology and a member of the
National Academies committee on Sustaining Growth in Computing
Performance. A CV is available along with some
Current Research Projects
Unified Parallel C.
BeBOP: Berkeley Benchmarking and OPtimization Group.
DEGAS: Dynamic Exascale Global Address Space
Par Lab: The Parallel
Architecture Evaluations. Benchmarking and performance evaluations.
Intelligent RAM (IRAM): Software support for IRAM machine.
Intelligent Storage (ISTORE): Building large scale, highly available
Sparsity: Automatic optimization of sparse matrix kernels.
Split-C: A performance programming language for parallel machines.
data structure library for distributed memory multiprocessors.
Coordination in Parallel Programs: Software support for coordinating
The Castle Project: Integrated
software support for parallel computing.
- CS294-93: Modern Parallel Languages
Introduction to Parallel Computation
Introduction to Parallel Programming for Multicore
Introduction to Computing for Engineers
- CS294-8: Principles of Fault Tolerant Computing
- CS298-1: Systems Seminar (Fall 2000)
CS61B: Data Structures and Advanced Programming
CS263: Design of Programming Languages
Graduate Students and Postdocs
Former Students and Postdocs
Shoaib Kamil, now
Amir Kamil, postdoc
Nishtala, now at Facebook
now at Reservoir Labs
Brian Kazian, now at Intel
Rich Vuduc, now at Georgia Tech
Wei Chen, now at Intel
Christian Bell, now at Myricom
Givelberg now at Johns Hopkins University
Siu Man Yau, now in graduate school at NYU
now a Professor at Kookmin
University in Seoul, Korea.
now at UCSD.
Randi Thomas, now at IBM
Miyamoto, now at LinkedIn
now at Google Research
Ngeci Bowman, now at BIR
now a Professor in the CS
Department at the University of Washington.
now a Professor in the Computer Science and Engineering Department
at IIT Bombay.
now President of Versalient Corporation.
Jeff Jones, now working at Yahoo.
Steve Steinberg, now a
Ruth Hinkins, now retired from
Lawrence Berkeley Laboratory