Download presentation
Presentation is loading. Please wait.
Published byShannon Townsend Modified over 9 years ago
1
CPS 258, Fall 2004 Introduction to Computational Science
2
Introduction to Computational Science An introduction to a wide variety of methods in computational science to facilitate interdisciplinary collaborative research Cover leading techniques and potential applications to research Introduce PRACTICAL computational methods Bring together graduate students from different disciplines in science, engineering and the basic sciences Underline the "common-ground" of computational methods
3
Administeria Lead Instructor: Nikos Pitsianis nikos@cs.duke.edu Prerequisites: Programming experience, calculus, numerical linear algebra or equivalent Schedule: Tu-Th, 2:50 PM-4:05 PM LSRC A156 Grading: –30% Class Participation –30% Homework Assignments –40% Final Project Credit: 3 hours Office Hours: to be announced Course Admin: Mindy Quigley mindy@cs.duke.edu
4
Instructors Nikos Pitsianis and Rachael Brady Tod Laursen Bill Rankin …
5
Syllabus High performance computer architectures Linear Algebra Visualization Spatial & Time Integration Finite Elements, Applied to PDEs and ODEs Fast Transforms Introduction to MPI programming Schroedinger’s Equation Molecular Dynamics Stochastic Optimization and Integration
6
Abstraction and Portability vs Performance High level programming Easy maintenance Flexible and reusable code Portable to other architectures
7
Questions Can my program be faster/more accurate/stable –Computational complexity –Algorithm choice –Implementation How can I make it better Is it worth the effort
8
Parallel Architectures
9
Parallelism Levels Job Program Instruction Bit
10
Parallel Architectures Pipelining Multiple execution units –Superscalar –VLIW Multiple processors
11
Pipelining Example Load UALUStore load x(i) load y(i) load x(i+1)add z(i),x(i),y(i) load xy(i+1) store z(i) add z(i+1),x(i+1),y(i+1) store z(i+1) Prologue Loop body Epilogue for i = 1:n z(i) = x(i) + y(i); end
12
Generic Computer CPU Memory Bus
13
Memory Organization Distributed memory Shared memory
14
Shared Memory
15
Distributed Memory
16
Interleaved Memory
17
Network Topologies Ring Torus Tree Star Hypercube Cross-bar
18
Flynn’s Taxonomy SISD SIMD MISD MIMD
19
Instruction Processing Stages Fetch Decode Execute Post
20
Vector Architectures Single Instruction Multiple Data Exploit uniformity of operations Multiple execution units Pipelining Hardware assisted loops Vectorizing compilers
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.