Matt Pharr

I'm currently working on some projects related to virtual reality in the
Cardboard group at
Google. Previously, I worked on computational photography
in Google[x].

Before Google, I founded Neoptica (acquired by Intel) and Exluna
(acquired by NVIDIA). During those years I worked on both offline and
real-time rendering and also spent a fair amount of time developing
programming models and compilers for various “interesting”
architectures (GPUs, heterogeneous CPU+GPU systems, and then CPU SIMD
units.)

My book on rendering, Physically Based
Rendering, is widely used in university courses and by graphics
researchers and developers. Greg
Humphreys, Pat
Hanrahan, and I were awarded an
Academy
Award in recognition of the book's impact
on CGI in movies—never before has a book received an Academy Award.

I have a Ph. D. in Computer Science from
the Stanford Graphics Lab and a
B. S. in Computer Science from Yale.

ispc

A substantial fraction of available performance in modern CPUs and GPUs
comes from SIMD hardware. Programming models for GPUs make the
architectures' SIMD-ness mostly transparent to programmers thanks to their
adoption of the “single program multiple data” (SPMD)
programming model, though this approach hadn't been used for SIMD on CPUs.
I wrote a compiler for a C-based
language that makes it easy to write SPMD programs for the CPU; it was
released as
ispc, which is now open-source
and on github. I wrote a paper about the system with Bill Mark,
ispc:
A SPMD Compiler for High-Performance CPU Programming, (InPar
2012, Best Paper Award). I also gave a talk about ispc in the
Illinois-Intel Parallelism Center Distinguished Speaker Series (UIUC),
March 15, 2012
(talk
video). See also
Pixar's tech
note that encourages the use of ispc in place of the RenderMan
shading language.

Intel Advanced Rendering
Technologies Group

After the Neoptica acquisition, I was the technical lead of the Advanced
Rendering Technologies Group; we were working on a number of projects
focused on building software that made it possible for graphics developers
to make the most
of Larrabee's
unique capabilities—this included both a compiler for a new shading
language and an extended (and extensible) software rasterization
pipeline. Throughout this work, I gave numerous public talks and met with
many graphics developers to discuss Larrabee. At Intel, I also led
technical due diligence for a number of Intel's graphics acquisitions
(both considered and executed).

Stanford cs348b

I recently had a great time teaching
the 2014 and
2013 installments of
cs348b, the graduate-level rendering course at Stanford. I was also
fortunate to have the opportunity to teach
the 2003
class. The excellent results from the rendering competitions
at the end of the course are online:
(2003)(2013)(2014).

Exluna

Craig Kolb, Larry Gritz, and I co-founded Exluna in 2000; we saw that
forthcoming programmable GPUs would make new interactive content creation
tools possible and started Exluna to pursue this area. Our first product,
Entropy, was an offline renderer; it was used in a number of
movies—most notably by ILM for an exploding spaceship sequence in Attack of
the Clones. NVIDIA acquired Exluna in 2002.

Pixar Rendering R&D

I worked in the Rendering R&D group at Pixar during graduate school; my
main contributions were significant improvements to occlusion culling in
RenderMan as well as rewriting all of the code for NURBS and parametric
patches and curves to improve numerical robustness and accuracy of dicing
rates. (The dicing rate improvements also significantly improved
performance by reducing excessive shading calculations due to
over-tessellation). For this work, I have movie credits for
A Bug's Life and Toy Story 2. (Using a very loose definition
of the Bacon number, this means that I have
an Erdős–Bacon
number of 6.)

GPU Computational Finance

In the stone ages of programmable GPUs (2004), I realized that
computational finance was a good fit for GPU computing given a target
market that was interested in high performance and given the arithmetic
intensity of many of the computations. I wrote a chapter with Craig Kolb
about
Options
Pricing on the GPU for GPU Gems 2. For better or for worse,
GPU options
pricing continuesto
be
a poster-child
for GPU computing.

Rendering Plant Ecosystems

A fun result of my work on rendering highly-complex scenes came in the form
of a collaboration with
Oliver Deussen, Bernd Lintermann,
Radomir Mech, Pat Hanrahan, and Przemyslaw Prusinkiewicz, where we worked
on rendering super-complex scenes of plant ecosystems; this led to the paper
Realistic Modeling and Rendering of Plant
Ecosystems, (SIGGRAPH 1998).

skicka

I wrote a command-line tool that makes it easy to work with files and
directories on Google Drive (including uploading/downloading, listing
files in folders, etc). Google was happy to let me open source it; it
is now available on
github. (“skicka” is Swedish for “to send”,
which vaguely alludes to what the tool does).