Lehrstuhl Informatik V
Scientific Computing IModule 1: Introduction
Tobias Neckel
Winter 2015/2016
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 1
Lehrstuhl Informatik V
What is Computational Science and Engineering?
Computational Science and Engineering (CSE)• is the
• multi-disciplinary field• of computer-based modelling and simulation• for studying scientific phenomena and engineering designs.
• requires skills in• computer science• and applied mathematics,• but also in the respective fields of application.
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 2
Lehrstuhl Informatik V
Scientific Computing =
Science + Computing?
Science on Computers??
“Computational Science”???
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 3
Lehrstuhl Informatik V
A Short Look into Wikipedia . . .Computational science (or scientific computing) is the field ofstudy concerned with
• constructing mathematical models• and quantitative analysis techniques• and using computers
to analyze and solve scientific, social scientific and engineeringproblems.
[. . .] it is typically the application of computer simulation and otherforms of computation from numerical analysis and theoreticalcomputer science to problems in various scientific disciplines.
[. . .]The scientific computing approach is to gain understanding,mainly through the analysis of mathematical models implemented oncomputers.
[. . .]massive amounts of calculations (usually floating-point) and areoften executed on supercomputers or distributed computingplatforms.
[Wikipedia, Oct 06, 2014]Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 4
Lehrstuhl Informatik V
Part I: An Interdisciplinary Discipline
Gaining Scientific KnowledgeThe classical scientific processApproaches to science
The Third Approach – SimulationDrawbacks of Theory and ExperimentWhere Simulation is NeededTwo Large Examples – Molecular Dynamics and Blood Flow
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 5
Lehrstuhl Informatik V
Part II: Tasks of Scientific Computing
The Simulation PipelineStages of the Simulation PipelineDisciplines Involved
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 6
Lehrstuhl Informatik V
Part I
An Interdisciplinary Discipline
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 7
Lehrstuhl Informatik V
Gaining Scientific Knowledge
The Classical Scientific Process
1. characterization• observation• quantification/measurement
2. hypothesis• theory• model
3. prediction• consequences/logical deducation from hypothesis/model?
4. experiment• verification/falsification• discrepancies might lead to improved model
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 8
Lehrstuhl Informatik V
Gaining Scientific Knowledge (2)
Approaches to Science:
1. theoretical investigation• hypothesis / models• analytical calculations• Gedankenexperiments
2. experimentation• build model scenarios• predict theoretical results
and compare with outcome3. simulation
• Why would we need that?
Experiments
Theory
Science
Experiments
Theory
Sim
ulation
Science
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 9
Lehrstuhl Informatik V
Drawbacks of Theory and Experiment
Theoretical Investigation:
• analytical solutions for simple scenarios, only• models usually very complicated or even impossible to solve
Experiments:
• might be impossible to do• might be dangerous or unwelcome• might be very expensive (in time/money)
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 10
Lehrstuhl Informatik V
The Scientific Process Revisited
Scientific/Engineering Tasks:
Experiment
Reality
Theory
Solution
Validation
scientific/engineering tasks:• understand processes (model)• verify/validate hypotheses/models
(experiment)• design and optimize (model or
experiment)
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 11
Lehrstuhl Informatik V
Where Simulation is Needed
Replacing Analytical Solvers:
Experiment
Reality
Theory
Validation
Simulation
• analytical solution impossible or hard tocompute
• use numerical approximation instead• application: validate a complex model
• understand processes• validate assumptions
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 12
Lehrstuhl Informatik V
Where Simulation is Needed (2)
Replacing Experiments:
Reality
Theory
Solution
Validation
Simulation
• analytical theoretical solution available• replace experiments by simulation of a
more detailed model• application: develop a simple model
• neglecting non-relevant effects• with reduced dimensionality• reduced-order models
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 13
Lehrstuhl Informatik V
Where Simulation is Needed (3)
Replacing Analytical Solvers and Experiments:
Reality
Simulation
Prediction
• detailed and accurate mathematicalmodel given
• use simulation only• requires real world scenario description• application: predict reality
• (wheather/climate/earthquake/...)forecasts
• design and optimization• uncertainty quantification
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 14
Lehrstuhl Informatik V
Where Experiments are Impossible
Astrophysics:
• “life cycle” of stars, galaxies, . . .• motion of planets, asteroids, comets, . . .
Geophysics:
• displacement of the earth’s magnetic field• continental drift
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 15
Lehrstuhl Informatik V
Where Experiments are Impossible
Meteorology:
• weather forecasts• simulation of hurricanes
and storm surges
Climate and Ocean Modelling:
• greenhouse effect• ocean currents (gulf stream, etc.)• tsunami simulation
Image source: Cooperative Institute for Meteorological Satellite Studies,Space Science and Engineering Center, University of Wisconsin-Madison;http://tropic.ssec.wisc.edu/
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 16
Lehrstuhl Informatik V
When There is No Second Try
Stability of Buildings:
• large span bridges or skyscrapers• consider wind loads, earthquakes, . . .
Astronautics
• flight path of space crafts or satellites• re-entry of space crafts
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 17
Lehrstuhl Informatik V
Where Experiments have Harmful Side-effects
Propagation of Pollutants:
• pollutants in air, water, or soil• predict long-term behaviour
Nuclear Research:
• security of nuclear power plants• nuclear weapons
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 18
Lehrstuhl Informatik V
Where Experiments are Expensive
Car Industry:
• aerodynamics• crash tests• assembly of parts• build prototypes or rather simulate?
also combustion processes, vehicle dynamics, . . .
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 19
Lehrstuhl Informatik V
Example – PRACE Award 2013
World-record simulation with 4.125 · 1012 molecules as performancestudy anticipating large-scale experiments to investigate nano-fluids:
• size dependence of inter-facial quantities such as surface tension• behavior of droplets, interactions between droplets, nucleation
Drop of acetone in its vaporphase, used as model for fuel
6.3 µm
Simulated a cube of liquid Kryp-ton of edge length l = 6.3µm
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 20
Lehrstuhl Informatik V
Example – PRACE Award 2013 (2)
Simulation – HPC-Related Data:• N-body simulation with N = 4.125 · 1012 molecules• 100 TB RAM required only to store particles positions and
velocities (single precision), ≈ 200 TB memory in total• Simulation on SuperMUC (LRZ, Munich): 9126 nodes (each 2x
eight-core Intel SandyBridge, i.e. 146016 cores total)• leight-weight hybrid parallelisation: MPI plus OpenMP• Runtime: 40 s per iteration; terminated after 10 time steps• parallel efficiency: 86 % and 9.4 % peak performance
Further info:http://www.tum.de/en/about-tum/news/press-releases/short/article/30922/
http://www5.in.tum.de/pub/eckhardt2013-isc.pdf
Video!
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 21
Lehrstuhl Informatik V
Example – Gordon Bell Prize 2010
(Rahimian, . . . , Biros, 2010)
• direct simulation of blood flow• particulate flow simulation (coupled problem)• Stokes flow for blood plasma• red blood cells as immersed, deformable particles
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 22
Lehrstuhl Informatik V
Example – Gordon Bell Prize 2010 (2)
Simulation – HPC-Related Data:• up to 260 Mio blood cells, up to 9 · 1010 unknowns• fast multipole method to compute Stokes flow
(octree-based; octree-level 4–24)• scalability: 327 CPU-GPU nodes on Keeneland cluster,
200,000 AMD cores on Jaguar (ORNL)• 0.7 Petaflops/s sustained performance on Jaguar• extensive use of GEMM routine (matrix multiplication)• runtime: ≈ 1 minute per time step
Article for Supercomputing conference:http://www.cc.gatech.edu/~gbiros/papers/sc10.pdf
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 23
Lehrstuhl Informatik V
Part II
Components of ScientificComputing
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 24
Lehrstuhl Informatik V
The Simulation Pipeline
phenomenon, process etc.
mathematical model?
modelling
numerical algorithm? numerical treatment
simulation code?
implementation
results to interpret? visualization
�����HHHHj embedding
statement tool
-
-
-
validation
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 25
Lehrstuhl Informatik V
The Simulation Pipeline IITechnische Universität München
H.-J. Bungartz: Introduction to the BGCE www.bgce.de BGCE 2014 Opening Weekend and Annual Meeting, Bernried, April 11–13, 2014
The Simulation Pipeline Basis of Computational Engineering
Mathematical model Discretization & solver
Parallel implementation, HPC
Exploration
Validation
Software
Insight, Design
1
image courtesy: H.-J. Bungartz
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 26
Lehrstuhl Informatik V
Disciplines Involved
• Mathematics(modelling, numerics)
• Computer Science(implementation, visualization)
• Engineering & Natural Sciences(expertise in application area, modelling, validation)
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 27
Lehrstuhl Informatik V
Steps in the Simulation Pipeline
Mathematical Modelling• classification, types of models• differential equations• population models• heat equations
Numerical Treatment• discretization• grid generation, time stepping• numerical integration of ODE/PDE• continuous vs. discretized model
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 28
Lehrstuhl Informatik V
Steps in the Simulation Pipeline (2)
Implementation• data structures and algorithms• platform-aware programming• parallel programming• embedding
Visualization• visualization techniques• computational steering• images first?
=⇒ Verif. & Valid., UQ
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 29
Lehrstuhl Informatik V
Part III
Organisation
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 30
Lehrstuhl Informatik V
Relation: SciComp1↔ other CSE courses
ODEs, PDEs, ...
Scientific Computing I Numerical Analysis
Scientific Computing Lab
Matlab/tools → “hands on”
Advanced Programming
C++
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 31
Lehrstuhl Informatik V
Roadmap of the Lecture
1. Introduction: Discipline2. Population Modelling – Discrete Models3. Population Modelling – Continuous Models4. Numerical Methods for ODEs5. Heat Transfer – Discrete and Continuous Models6. Analytical and Numerical Solutions of the 1D Heat Equation7. Introduction to Finite Element Methods8. Case Study – Computational Fluid Dynamics
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 32
Lehrstuhl Informatik V
ECTS, Modules, TutorialsECTS, Modules
• 5 ECTS (2+2 lectures/tutorials per week)• CSE: compulsory course• Biomed. Computing/Computer Science: elective/Master
catalogue• others?
Tutorials:• 2 groups, with 2 tutors each; starting Oct 26• Mon, 14:15-16:00• Mon, 16:05-17:50• tutors: Juan Carlos Medina, Severin Reiz, Benjamin Ruth, Anna
Yurova (supervised by Denis Jarema)• use free slots
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 33
Lehrstuhl Informatik V
Exam & TUMOnline
Exam:• written exam at end of semester• based on exercises presented in the tutorials
ToDo• TUMOnline: register for lecture• TUMOnline: register for tutorial (free places!)• TUMOnline: register for exam
Tobias Neckel: Scientific Computing I
Module 1: Introduction, Winter 2015/2016 34