Title: The Synergy of Scientific Computing and Computer Science
1The Synergy of Scientific Computing and Computer
Science
- Sanjukta Bhowmick
- Columbia University and Argonne National
Laboratory
2What is Scientific Computing ?
Application Code (physics, chemistry,
biology,)
Computer Science
Applied Mathematics (numerical analysis,
modeling)
Scientific Computing
- Scientific computing is the field of study
concerned with constructing mathematical models
and numerical solution techniques and using
computers to analyze and solve scientific and
engineering problems. - Numerical Analysis is the study of algorithms for
the problems of continuous mathematics--Trefethen
1992 - Computer Science involves discrete problems
3Scientific Computing and Computer Science
- The field is distinct from computer science
Wikipedia - Computer science began as an interdisciplinary
subject once synonymous with scientific
computing. Today, the two have little in common
besides the transposed names. - NA-Digest Survey
1999 - Scientific Computing as a discipline is more
often offered by computer science departments
4Some Topics in Computer Science
- Computer Architecture Operation Systems
- Algorithms
- Visualization
- Database Management
- Programming Languages
- Compiler Design
- Software Engineering
- Machine Learning
5Scientific Computing and Computer Development
- Computer architecture and hardware provide
platforms for simulating scientific computing
applications - Scientific computing problems are the motivation
for development of supercomputers - 2005 Blue Gene IBM,MHD, ITER(Nuclear Fusion)
- 2002 Earth Simulator NASDA, JAERI, and JAMSTEC ,
Computational Earth Science Research Program - 1972 Cray1 Seymour Cray Los Alamos National
Laboratory - .. as well as the first models
- 1944 Harvard Mark 1Howard Aiken and Grace
Hopper used by the US Navy for gunnery and
ballistic calculations - 1946 ENIAC I John Mauchly and J Presper Eckert
used as a calculating device for writing
artillery-firing tables - 1936 Z1 Konrad Zuse used for lengthy
engineering calculations for Henschel Aircraft
Company
1943 Church-Turing Thesis (Introducing Turing
Machines)
6Algorithms are Important
- Moore's Law(1965)--- the number of transistors
on an integrated circuit (computing power)
doubles every 24 months. -
- Over 36 years, processor architecture goes
through 18 doubling periods - Algorithms produce an equal factor of speedup on
a small problem much more on a larger problem
Speedup on a 3D Poisson problem
Slide from David Keyes Lectures
Many branches of computer science are being
tapped to create better algorithms
7Algorithms are Important
- Moore's Law(1965)--- the number of transistors
on an integrated circuit (computing power)
doubles every 24 months. -
- Over 36 years, processor architecture goes
through 18 doubling periods - Algorithms produce an equal factor of speedup on
a small problem much more on a larger problem
Speedup on a 3D Poisson problem
Many branches of computer science are being
tapped to create better algorithms
8Combinatorial Scientific Computing
- When the arithmetic is easy and the challenge
lies in efficient reordering a sequence of
operations computational science turns to graph
theory---L.N. Trefethen - Many algorithms from graph theory are used in
scientific computing - Graph and Hyper-graph partitioning, coloring,
matching, reordering - Graph algorithms are applied to many areas in
scientific computing - Load balancing
- Sparse Direct Solvers
- Preconditioners
- Performance Improvement (Automatic
Differentiation) - Simulations for applications from physics,
biology, etc.
See Poster 15 (CSCAPES Poster)
9Numerical Algorithms in Computer Science
- Computer applications also benefit from numerical
algorithms - Singular Value Decomposition are used in image
compression - Fast Fourier Transform used in multiplying long
integers (Schönhage-Strassen algorithm) - Eigen Values in Principal Component Analysis
10Visualization Tools
- Visualization tools are important in advancing
scientific computing - understanding of the solution schemes
- understanding the underlying physics and
mechanics of the application - performance analysis
- Goals for Visualization tools (excerpt from Top
Scientific Visualization ResearchC. R. Johnson) - Understanding science
- Quantify effectiveness
- Human computer interaction
- Integrated problem solving environment
11Some Topics in Computer Science
- Computer Architecture Operation Systems
- Algorithms
- Visualization
- Database Management
- Programming Languages
- Compiler Design
- Software Engineering
- Machine Learning
12Maxims about Numerical Mathematics, Computer
Science and LifeL.N. Trefethen
- There are three great branches of sciencetheory,
experiment and computation - A computational study is unlikely to lead to real
scientific progress unless the software
environment can encourage one to vary
parameters, and modify the problem
Computer science disciplines contribute to the
multidisciplinary nature of scientific computing