Scientific Computing I Conclusion and Outlook Michael Bader - - PowerPoint PPT Presentation

scientific computing i
SMART_READER_LITE
LIVE PREVIEW

Scientific Computing I Conclusion and Outlook Michael Bader - - PowerPoint PPT Presentation

Scientific Computing I Michael Bader The Simulation Pipeline Scientific Computing I Conclusion and Outlook Michael Bader Lehrstuhl Informatik V Winter 2005/2006 Scientific The Simulation Pipeline Computing I Michael Bader The


slide-1
SLIDE 1

Scientific Computing I Michael Bader The Simulation Pipeline

Scientific Computing I

Conclusion and Outlook Michael Bader

Lehrstuhl Informatik V

Winter 2005/2006

slide-2
SLIDE 2

Scientific Computing I Michael Bader The Simulation Pipeline

The Simulation Pipeline

phenomenon, process etc. mathematical model

modelling numerical algorithm

numerical treatment simulation code

implementation results to interpret

visualization

✟ ✟ ✟ ✟ ✙ ❍❍❍ ❍ ❥

embedding statement tool

✲ ✲ ✲

v a l i d a t i

  • n
slide-3
SLIDE 3

Scientific Computing I Michael Bader Target Architectures CPU & Memory Parallel Architectures Parallel Programming, Parallel Methods Parallel Performance Twelve Ways to Fool the Masses

Part I Implementation

slide-4
SLIDE 4

Scientific Computing I Michael Bader Target Architectures CPU & Memory Parallel Architectures Parallel Programming, Parallel Methods Parallel Performance Twelve Ways to Fool the Masses

Target Architectures

Monoprocessors workstation mobile computing (laptop, PDA) embedded computing

  • vs. Parallel Computing

cluster of workstations low- to medium-cost parallel computer supercomputer (BlueGene, ALTIX)

slide-5
SLIDE 5

Scientific Computing I Michael Bader Target Architectures CPU & Memory Parallel Architectures Parallel Programming, Parallel Methods Parallel Performance Twelve Ways to Fool the Masses

CPU & Memory

Current Trends: RISC, load/store architecture superscalar processors, multi-core architecture pipelining, vectorization memory gap: CPU performance grows faster than speed of memory multilevel cache hierarchies Performance may drop to (considerably) less than 10% of peak performance, if such aspects are not considered.

slide-6
SLIDE 6

Scientific Computing I Michael Bader Target Architectures CPU & Memory Parallel Architectures Parallel Programming, Parallel Methods Parallel Performance Twelve Ways to Fool the Masses

Parallel Architectures – Classification

SIMD vs. MIMD (single/multiple instruction, multiple data) UMA (Uniform Memory Access, shared memory) NORMA (No Remote Memory Access, distributed memory) NUMA (Non-Uniform Memory Access, virtually shared memory) Clusters of workstations

  • vs. dedicated parallel computers

communication hardware (Ethernet, Myrinet, Infiniband, vendor solution, . . . ) topologies (bus, ring, hypercube, crossbar, . . . )

slide-7
SLIDE 7

Scientific Computing I Michael Bader Target Architectures CPU & Memory Parallel Architectures Parallel Programming, Parallel Methods Parallel Performance Twelve Ways to Fool the Masses

Parallel Programming, Parallel Methods

vector computing, vectorization shared memory computing (OpenMP) message passing (MPI): explicite communication between processors domain decomposition:

partitioning of the computational domain compute and combine solution on separate partitions (numerical method)

slide-8
SLIDE 8

Scientific Computing I Michael Bader Target Architectures CPU & Memory Parallel Architectures Parallel Programming, Parallel Methods Parallel Performance Twelve Ways to Fool the Masses

Parallel Performance

Criteria for parallel performance: are there inherently sequential parts in the code? Amdahls law: speedup ≤

1

seq speed/amount of (slow) communication load balance and load balancing Characterization: speedup: S = sequential runtime parallel runtime efficiency: E = S # processors

slide-9
SLIDE 9

Scientific Computing I Michael Bader Target Architectures CPU & Memory Parallel Architectures Parallel Programming, Parallel Methods Parallel Performance Twelve Ways to Fool the Masses

Twelve Ways to Fool the Masses

(selection) Scale up the problem size with the number of processors, but omit any mention of this fact Compare your results against scalar, unoptimized code on Crays When direct run time comparisons are required, compare with an old code on an

  • bsolete system

If MFLOPS rates must be quoted, base the

  • peration count on the parallel

implementation, not on the best sequential implementation

slide-10
SLIDE 10

Scientific Computing I Michael Bader Target Architectures CPU & Memory Parallel Architectures Parallel Programming, Parallel Methods Parallel Performance Twelve Ways to Fool the Masses

Twelve Ways to Fool the Masses (2)

(continued) Quote performance in terms of processor utilization, parallel speedups or MFLOPS per dollar Measure parallel run times on a dedicated system, but measure conventional run times in a busy environment If all else fails, show pretty pictures and animated videos, and don’t talk about performance

slide-11
SLIDE 11

Scientific Computing I Michael Bader Visualization Image Processing Computer Graphics Visualisation of Simulation Data 14 Ways to Say Nothing . . .

Part II Visualization

slide-12
SLIDE 12

Scientific Computing I Michael Bader Visualization Image Processing Computer Graphics Visualisation of Simulation Data 14 Ways to Say Nothing . . .

Visualization

visual/graphical/optical representation of large sets of data data from experiments or measurements: satellite images, tomography in medicine, microsopy, . . . data from simulations:

with resolution of space (and time): fluid mechanics, structural mechanics, quantum physics, . . . without spatial resolution: vehicle dynamics,

  • ptimal control, . . .

methods from image processing, computer graphics, virtual/augmented reality

slide-13
SLIDE 13

Scientific Computing I Michael Bader Visualization Image Processing Computer Graphics Visualisation of Simulation Data 14 Ways to Say Nothing . . .

Image Processing

geometric: zoom, rotation, . . . point-to-point: false colours, local: averaging, filtering, edge detection, . . . ensemble processing (different images of the same scene) domain processing (Fourier/cosine transform, wavelet transform, tomography)

slide-14
SLIDE 14

Scientific Computing I Michael Bader Visualization Image Processing Computer Graphics Visualisation of Simulation Data 14 Ways to Say Nothing . . .

Computer Graphics

geometric modelling (representing 3D objects) graphical representation/rendering (perspective, illumination, shading) animation

slide-15
SLIDE 15

Scientific Computing I Michael Bader Visualization Image Processing Computer Graphics Visualisation of Simulation Data 14 Ways to Say Nothing . . .

Visualisation of Simulation Data

Common Techniques: (ortho-) slices, projection contour lines, isosurfaces streamlines, streaklines/-bands particle tracing

slide-16
SLIDE 16

Scientific Computing I Michael Bader Visualization Image Processing Computer Graphics Visualisation of Simulation Data 14 Ways to Say Nothing . . .

13 Ways to Say Nothing with Scientific Visualization

(selection) Never include a colour legend Avoid annotation When in doubt, smooth Avoid providing performance data Never learn anything about the data or scientific discipline

slide-17
SLIDE 17

Scientific Computing I Michael Bader Visualization Image Processing Computer Graphics Visualisation of Simulation Data 14 Ways to Say Nothing . . .

13 Ways to Say Nothing with Scientific Visualization

(continued) Never compare your results with other visualization techniques Avoid visualization systems Claim generality but show results from a single data set use viewing angle to hide blemishes if viewing angle fails, try specularity or shadows “this is easily extended to 3D”

slide-18
SLIDE 18

Scientific Computing I Michael Bader Embedding Computational Steering

Part III Embedding

slide-19
SLIDE 19

Scientific Computing I Michael Bader Embedding Computational Steering

Embedding

step 1:

From numerical methods to software packages usability interfaces to tools for

modelling (e.g. CAD) libraries (BLAS, LAPACK, . . . ) visualization

maintenance of software ⇒ Software Engineering

slide-20
SLIDE 20

Scientific Computing I Michael Bader Embedding Computational Steering

Computational Steering

step 2:

Computational steering: steering of an entire development cycle interactive w.r.t.

model (assembly components; physical model) simulation parameters visualization technique . . .

short feedback-loop between development and simulation results requires integration of data structures, software components, etc.