[Colloquium] Talk by Paolo Bientinesi on Wed. February 28th, 2007
Margery Ishmael
marge at cs.uchicago.edu
Fri Feb 16 13:13:11 CST 2007
DEPARTMENT OF COMPUTER SCIENCE - TALK
Date: Wednesday, February 28, 2007
Time: 2:30 p.m.
Place: Ryerson 251 (1100 E. 58th St.)
-------------------------------------------
Speaker: PAOLO BIENTINESI, Research Associate, Duke University
Web page: http://www.cs.utexas.edu/users/pauldj/
Title: Can Computers Develop Libraries? A Different Perspective on
Scientific
Computing.
Abstract:
Changes in computer architecture have always impacted scientific
computing.
Not only new architectures supply ever improving performance, but the
design
and implementation of algorithms is also affected by parameters like
memory
hierarchy, parallelism, bandwidth. On one hand, in order to reach
near-optimal performance, programs need to be optimized for any
combination
of these parameters. On the other hand, given the vast range of
architectures
for scientific computing (clusters, SMPs, multi-core, Cell, GPUs,
FPGAs, ...), it is unreasonable to believe that one single algorithm
can be
optimal across the entire spectrum. Consequently, the development of
high
performance libraries remains challenging.
As part of the Formal Linear Algebra Method Environment (FLAME)
project at
UT-Austin, we posed the question "what would it take to design a
mechanical
system that accepts a mathematical operation as input and returns
correct
algorithms as well as code optimized for a target architecture?". Our
question is radically different from that of how to automatically
optimize a
given algorithm for a target architecture. Specifically, in our
setting the
input is a mathematical problem and not a known algorithm. In
addition, not
only do we demand performance, but we expect correctness as well.
In this talk I show how we approached the problem with classical
tools from
computer science (Hoare triples, loop-invariants). While mechanical
generation of efficient and numerically stable algorithms for arbitrary
computations problems remains very challenging, FLAME is a success for a
class of problems which includes many linear algebra computations.
Particularly, given a mathematical specification of a target problem,
our
methodology generates loop-based algorithms that are provably correct.
Discovering how to systematically identify loop-invariants a-priori
was a key
step: once a loop-invariant is known, a corresponding provably correct
loop-based algorithm can be derived. This enables us to create
families of
algorithms so that the most appropriate one, in terms of efficiency or
numerical stability, can be chosen for a given situation and
architecture.
The ultimate goal is to produce a system that takes as input a
mathematical
description of a linear algebra operation and from this mechanically
produces
high-performance routines together with performance and possibly even
stability analyses. In this talk I discuss our results that provide
evidence
that this vision is within reach. Finally, I also briefly introduce
other
research projects to which I contribute and relate them to each other
and to
the main topic of the talk. These projects include the development of a
parallel tridiagonal eigensolver, the computation of the Earth's gravity
field, a new direct sparse solver for highly adaptive FEM
applications, and
the accurate computation of prolate functions.
***The talk will be followed by refreshments in Ryerson 255***
-------------------------------------------------------
Host: Ridgway Scott
People in need of assistance should call 773-834-8977 in advance.
For information on future CS talks: http://www.cs.uchicago.edu/events
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.uchicago.edu/pipermail/colloquium/attachments/20070216/28a6b24f/attachment.htm
More information about the Colloquium
mailing list