Parallel Algorithms. Parallel Algorithms

Size: px
Start display at page:

Download "Parallel Algorithms. Parallel Algorithms"

Transcription

1 Parallel Algorithms Parallel Algorithms Goals: Speedup and Efficiency Speedup, in general, is limited linearly to the number of processors (P) used. When can we epect to have linear speedup? Fully (embarrassingly) parallel programs where calculation at each data point is independent of calculations at other data points. Not likely 1

2 Parallel Algorithms Problem Domain: N, the (number of) data elements to which the algorithm is being applied Problem Decomposition: Assignment of data elements to each processor The Problem Height K() or Ψ(.0) Ψ(.t) String anchored at both ends Initial plucking of String Shape of String at time t The problem: Solve the 1-D Wave Equation Fo etal.: Solving Problems on Concurrent Processors, page

3 The Wave Equation Height K() or Ψ(,0) Ψ(.t) String anchored at both ends Initial plucking of string Shape of string at time t In general, modeled with the hyperbolic differential equation: 1 δ 2 ψ(,t) δ 2 ψ(,t) - = 0 c 2 δ 2 t 2 δ 2 2 where Ψ(.t) is the vibration amplitude, representing the activity in the system and c is a material constant. The Wave Equation Height K() or Ψ(,0) Ψ(.t) String anchored at both ends Initial plucking of string Shape of string at time t Initial Conditions: Ψ(,0) = K(), the function describing the plucking of the string at time 0. Boundary Conditions: Ψ(0,t) = Ψ(L,t) = 0, i.e., the string is anchored at each end. 3

4 A Numerical Solution Note: we can construct a numerical solution using difference equations to solve the previous equation when y is sufficiently small df dy = limit y 0 f(y + y) - f(y) y d 2 f dy = limit 2 y 0 f(y - y) - 2 f(y) + f(y+ y) ( y) 2 The Numerical Solution Ψ(.t) L = N-1 = 0 +(N-1)*d Assume discrete steps in both and t (, t) Construct the difference equation: 1 ψ( i, t- t) - 2 ψ( i, t) + ψ( i, t+ t) ψ( i-1, t) - 2 ψ( i, t) + ψ( i+1, t) - = 0 c 2 ( t) 2 ( ) 2 4

5 The Numerical Solution If all ψ s are known for all i up to current time t, can solve the previous equation for ψ( i, t+ t): t ψ( i, t+ t)=2(1- c 2 ( ) 2 ) ψ( i, t) - ψ( i, t- t) +c 2 ( ) 2 (ψ( i-1, t) + ψ( i+1, t)) Using appropriate substitutions, this simplifies to ψ( i, t+ t) = A ψ( i, t) + B ψ( i, t- t) + C (ψ( i-1, t) + ψ( i+1, t)) t Algorithm P = N Ψ(.t) L = N-1 = 0 +(N-1)*d The algorithm for finding i is Echange info with neighboring processors Calculate ψ( i, t+ t) The problem becomes more interesting if N >> P 5

6 The Wave Equation Problem Domain: The physical etent of the string and the displacement Ψ(.t) which is a function of the distance along the string and the time t. Problem Decomposition: The choice of grid points ( s) assigned to the various processors Decomposition of string into contiguous sections The Algorithm when P << N? i*k P i (i+1)*k-1 How should we decompose the problem? What is the algorithm for each processor? How long does it take to calculate Ψ(.t) for all i, where (0 <= i <= N-1) each time step? What part does communication play? Fractional communication overhead (fc) = communication time/calculation time What is the speedup? What assumptions? How would a 2D version work? 6

7 1D Wave Equation in Parallais (* This program solves the wave equation for the case where there are many more points than processors. *) MODULE WaveEquation; CONST NumberOfSecs = 2; NumberOfStepsPerSec = 100; NumberOfPoints = 80; NumberOfProcessors = 5; PrintOutsPerSec = 10; NumberOfSteps = NumberOfSecs * NumberOfStepsPerSec; PointsPerProcessor = NumberOfPoints DIV NumberOfProcessors; (* Assume divides evenly *) c = 1.0; d = 1.0 / float( NumberOfPoints ); dt = 1.0 / float( NumberOfStepsPerSec ); 1D Wave Equation in Parallais(2) CONFIGURATION Processor[ 1..NumberOfProcessors ]; CONNECTION right: Processor[j] <-> Processor[j+1].left; VAR step, count, p : INTEGER; ScalarAmplitude : ARRAY[1..PointsPerProcessor],[1..NumberOfProcessors] OF REAL; : REAL; previous, current, net : Processor OF INTEGER; i : Processor OF INTEGER; amplitude : Processor OF ARRAY[0..2], [0..PointsPerProcessor+1] OF REAL; a, b, d, j : Processor OF REAL; 7

8 1D Wave Equation in Parallais(3) BEGIN previous := 0; current := 1; net := 2; a := (2.0 * (c * dt / d) * (c * dt / d)); b := -1.0; d := (c * dt / d) * (c * dt / d); 1D Wave Equation in Parallais(4) FOR i := 0 TO (PointsPerProcessor+1) DO j := float(((dim1-1) * PointsPerProcessor) + i) / float( NumberOfPoints); IF j <= 0.5 THEN amplitude[0][i] := j; ELSE amplitude[0][i] := j; END; (* IF *) amplitude[1][i] := amplitude[0][i]; END; (* FOR *) IF dim1 = 1 THEN amplitude[0][0] := 0.0; amplitude[1][0] := 0.0; amplitude[2][0] := 0.0 ELSIF dim1 = NumberOfProcessors THEN amplitude[0][pointsperprocessor+1] := 0.0; amplitude[1][pointsperprocessor+1] := 0.0; amplitude[2][pointsperprocessor+1] := 0.0; END; (* IF *) 8

9 1D Wave Equation in Parallais(5) FOR count := 1 TO PointsPerProcessor DO STORE( amplitude[current][count], ScalarAmplitude[count] ); END; (* FOR *) FOR p := 1 TO NumberOfProcessors DO FOR count := 1 TO PointsPerProcessor DO WriteReal( ScalarAmplitude[count][p], 5 ); Write( ' '); END; (* FOR count *) END; (* FOR p *) WriteLn; 1D Wave Equation in Parallais(6) FOR Step := 1 TO NumberOfSteps DO SEND.right( amplitude[current][pointsperprocessor], amplitude[current][0] ); SEND.left( amplitude[current][1], amplitude[current][pointsperprocessor+1] ); IF dim1 = 1 THEN amplitude[current][0] := 0.0; ELSIF dim1 = NumberOfProcessors THEN amplitude[current][pointsperprocessor+1] := 0.0; END; (* IF *) FOR i := 1 TO PointsPerProcessor DO amplitude[net][i] := a * amplitude[current][i] + b * amplitude[previous][i] + d * (amplitude[current][i-1] + amplitude[current][i+1]); END; (* FOR i *) previous := current; current := net; net := (net + 1) MOD 3; 9

10 1D Wave Equation in Parallais(7) IF (Step MOD(NumberOfStepsPerSec DIV PrintOutsPerSec)) = 0 THEN FOR count := 1 TO PointsPerProcessor DO STORE( amplitude[current][count], ScalarAmplitude[count] ); END; (* FOR *) FOR p := 1 TO NumberOfProcessors DO FOR count := 1 TO PointsPerProcessor DO WriteReal( ScalarAmplitude[count][p], 5 ); Write( ' '); END; (* FOR count *) END; (* FOR p *) WriteLn; WriteLn; END; (* IF *) END; (* FOR Step *) END WaveEquation. 10

The Vibrating String

The Vibrating String CS 789 Multiprocessor Programming The Vibrating String School of Computer Science Howard Hughes College of Engineering University of Nevada, Las Vegas (c) Matt Pedersen, 200 P P2 P3 P4 The One-Dimensional

More information

Performance Metrics. Measuring Performance

Performance Metrics. Measuring Performance Metrics 12/9/2003 6 Measuring How should the performance of a parallel computation be measured? Traditional measures like MIPS and MFLOPS really don t cut it New ways to measure parallel performance are

More information

Correcting INS Drift in Terrain Surface Measurements. Heather Chemistruck Ph.D. Student Mechanical Engineering Vehicle Terrain Performance Lab

Correcting INS Drift in Terrain Surface Measurements. Heather Chemistruck Ph.D. Student Mechanical Engineering Vehicle Terrain Performance Lab Correcting INS Drift in Terrain Surface Measurements Ph.D. Student Mechanical Engineering Vehicle Terrain Performance Lab October 25, 2010 Outline Laboratory Overview Vehicle Terrain Measurement System

More information

Parallelization Strategy

Parallelization Strategy COSC 6374 Parallel Computation Algorithm structure Spring 2008 Parallelization Strategy Finding Concurrency Structure the problem to expose exploitable concurrency Algorithm Structure Supporting Structure

More information

Development of the Compliant Mooring Line Model for FLOW-3D

Development of the Compliant Mooring Line Model for FLOW-3D Flow Science Report 08-15 Development of the Compliant Mooring Line Model for FLOW-3D Gengsheng Wei Flow Science, Inc. October 2015 1. Introduction Mooring systems are common in offshore structures, ship

More information

Outline: Embarrassingly Parallel Problems

Outline: Embarrassingly Parallel Problems Outline: Embarrassingly Parallel Problems what they are Mandelbrot Set computation cost considerations static parallelization dynamic parallelizations and its analysis Monte Carlo Methods parallel random

More information

Partial Differential Equations

Partial Differential Equations Simulation in Computer Graphics Partial Differential Equations Matthias Teschner Computer Science Department University of Freiburg Motivation various dynamic effects and physical processes are described

More information

Lecture 4: Locality and parallelism in simulation I

Lecture 4: Locality and parallelism in simulation I Lecture 4: Locality and parallelism in simulation I David Bindel 6 Sep 2011 Logistics Distributed memory machines Each node has local memory... and no direct access to memory on other nodes Nodes communicate

More information

Geodesics in heat: A new approach to computing distance

Geodesics in heat: A new approach to computing distance Geodesics in heat: A new approach to computing distance based on heat flow Diana Papyan Faculty of Informatics - Technische Universität München Abstract In this report we are going to introduce new method

More information

Annex A (Informative) Collected syntax The nonterminal symbols pointer-type, program, signed-number, simple-type, special-symbol, and structured-type

Annex A (Informative) Collected syntax The nonterminal symbols pointer-type, program, signed-number, simple-type, special-symbol, and structured-type Pascal ISO 7185:1990 This online copy of the unextended Pascal standard is provided only as an aid to standardization. In the case of dierences between this online version and the printed version, the

More information

6. NEURAL NETWORK BASED PATH PLANNING ALGORITHM 6.1 INTRODUCTION

6. NEURAL NETWORK BASED PATH PLANNING ALGORITHM 6.1 INTRODUCTION 6 NEURAL NETWORK BASED PATH PLANNING ALGORITHM 61 INTRODUCTION In previous chapters path planning algorithms such as trigonometry based path planning algorithm and direction based path planning algorithm

More information

You will need to use a calculator for this worksheet A (1, 1)

You will need to use a calculator for this worksheet A (1, 1) C Worksheet A y You will need to use a calculator for this worksheet y = B A (, ) O The diagram shows the curve y = which passes through the point A (, ) and the point B. a Copy and complete the table

More information

Parallelization Strategy

Parallelization Strategy COSC 335 Software Design Parallel Design Patterns (II) Spring 2008 Parallelization Strategy Finding Concurrency Structure the problem to expose exploitable concurrency Algorithm Structure Supporting Structure

More information

History. used in early Mac development notable systems in Pascal Skype TeX embedded systems

History. used in early Mac development notable systems in Pascal Skype TeX embedded systems Overview The Pascal Programming Language (with material from tutorialspoint.com) Background & History Features Hello, world! General Syntax Variables/Data Types Operators Conditional Statements Functions

More information

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 14

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 14 Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 14 Scan Converting Lines, Circles and Ellipses Hello everybody, welcome again

More information

Level Set Methods and Fast Marching Methods

Level Set Methods and Fast Marching Methods Level Set Methods and Fast Marching Methods I.Lyulina Scientific Computing Group May, 2002 Overview Existing Techniques for Tracking Interfaces Basic Ideas of Level Set Method and Fast Marching Method

More information

Stream Function-Vorticity CFD Solver MAE 6263

Stream Function-Vorticity CFD Solver MAE 6263 Stream Function-Vorticity CFD Solver MAE 66 Charles O Neill April, 00 Abstract A finite difference CFD solver was developed for transient, two-dimensional Cartesian viscous flows. Flow parameters are solved

More information

Advanced Parallel Programming

Advanced Parallel Programming Sebastian von Alfthan Jussi Enkovaara Pekka Manninen Advanced Parallel Programming February 15-17, 2016 PRACE Advanced Training Center CSC IT Center for Science Ltd, Finland All material (C) 2011-2016

More information

Level 3 will generally. Level 2 may demonstrate limited ability to: Same as Level 2 Same as Level 2 identify models or

Level 3 will generally. Level 2 may demonstrate limited ability to: Same as Level 2 Same as Level 2 identify models or identify models or representations of multidigit division apply the distributive property to solve multi-digit division problems divide multi-digit whole numbers fluently using the standard algorithm Same

More information

Parallel Programming with MPI

Parallel Programming with MPI Parallel Programming with MPI David G. Robertson Department of Physics and Astronomy Otterbein College Westerville, OH 43081 drobertson@otterbein.edu Keywords: parallel programming, message passing, MPI,

More information

Solving a Two Dimensional Unsteady-State. Flow Problem by Meshless Method

Solving a Two Dimensional Unsteady-State. Flow Problem by Meshless Method Applied Mathematical Sciences, Vol. 7, 203, no. 49, 242-2428 HIKARI Ltd, www.m-hikari.com Solving a Two Dimensional Unsteady-State Flow Problem by Meshless Method A. Koomsubsiri * and D. Sukawat Department

More information

Airfoil Design Optimization Using Reduced Order Models Based on Proper Orthogonal Decomposition

Airfoil Design Optimization Using Reduced Order Models Based on Proper Orthogonal Decomposition Airfoil Design Optimization Using Reduced Order Models Based on Proper Orthogonal Decomposition.5.5.5.5.5.5.5..5.95.9.85.8.75.7 Patrick A. LeGresley and Juan J. Alonso Dept. of Aeronautics & Astronautics

More information

Praktikum 2014 Parallele Programmierung Universität Hamburg Dept. Informatics / Scientific Computing. October 23, FluidSim.

Praktikum 2014 Parallele Programmierung Universität Hamburg Dept. Informatics / Scientific Computing. October 23, FluidSim. Praktikum 2014 Parallele Programmierung Universität Hamburg Dept. Informatics / Scientific Computing October 23, 2014 Paul Bienkowski Author 2bienkow@informatik.uni-hamburg.de Dr. Julian Kunkel Supervisor

More information

f xx + f yy = F (x, y)

f xx + f yy = F (x, y) Application of the 2D finite element method to Laplace (Poisson) equation; f xx + f yy = F (x, y) M. R. Hadizadeh Computer Club, Department of Physics and Astronomy, Ohio University 4 Nov. 2013 Domain

More information

Topological Rewriting & Patch Transformations

Topological Rewriting & Patch Transformations Topological Rewriting & Patch Transformations Antoine Spicher www.spatial-computing.org/mgs SUPMECA June 2015 Outline MGS: a Formal Introduction Patch Transformations Differential Operators An Integrative

More information

More Communication (cont d)

More Communication (cont d) Data types and the use of communicators can simplify parallel program development and improve code readability Sometimes, however, simply treating the processors as an unstructured collection is less than

More information

Homework # 1 Due: Feb 23. Multicore Programming: An Introduction

Homework # 1 Due: Feb 23. Multicore Programming: An Introduction C O N D I T I O N S C O N D I T I O N S Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.86: Parallel Computing Spring 21, Agarwal Handout #5 Homework #

More information

First of all, we need to know what it means for a parameterize curve to be differentiable. FACT:

First of all, we need to know what it means for a parameterize curve to be differentiable. FACT: CALCULUS WITH PARAMETERIZED CURVES In calculus I we learned how to differentiate and integrate functions. In the chapter covering the applications of the integral, we learned how to find the length of

More information

Chapter 6 Some Applications of the Integral

Chapter 6 Some Applications of the Integral Chapter 6 Some Applications of the Integral More on Area More on Area Integrating the vertical separation gives Riemann Sums of the form More on Area Example Find the area A of the set shaded in Figure

More information

Lecture 5: Search Algorithms for Discrete Optimization Problems

Lecture 5: Search Algorithms for Discrete Optimization Problems Lecture 5: Search Algorithms for Discrete Optimization Problems Definitions Discrete optimization problem (DOP): tuple (S, f), S finite set of feasible solutions, f : S R, cost function. Objective: find

More information

Chapter - 2: Geometry and Line Generations

Chapter - 2: Geometry and Line Generations Chapter - 2: Geometry and Line Generations In Computer graphics, various application ranges in different areas like entertainment to scientific image processing. In defining this all application mathematics

More information

Differentiation. The Derivative and the Tangent Line Problem 10/9/2014. Copyright Cengage Learning. All rights reserved.

Differentiation. The Derivative and the Tangent Line Problem 10/9/2014. Copyright Cengage Learning. All rights reserved. Differentiation Copyright Cengage Learning. All rights reserved. The Derivative and the Tangent Line Problem Copyright Cengage Learning. All rights reserved. 1 Objectives Find the slope of the tangent

More information

axis, and wavelength tuning is achieved by translating the grating along a scan direction parallel to the x

axis, and wavelength tuning is achieved by translating the grating along a scan direction parallel to the x Exponential-Grating Monochromator Kenneth C. Johnson, October 0, 08 Abstract A monochromator optical design is described, which comprises a grazing-incidence reflection and two grazing-incidence mirrors,

More information

Efficiency of adaptive mesh algorithms

Efficiency of adaptive mesh algorithms Efficiency of adaptive mesh algorithms 23.11.2012 Jörn Behrens KlimaCampus, Universität Hamburg http://www.katrina.noaa.gov/satellite/images/katrina-08-28-2005-1545z.jpg Model for adaptive efficiency 10

More information

EECS 556 Image Processing W 09. Interpolation. Interpolation techniques B splines

EECS 556 Image Processing W 09. Interpolation. Interpolation techniques B splines EECS 556 Image Processing W 09 Interpolation Interpolation techniques B splines What is image processing? Image processing is the application of 2D signal processing methods to images Image representation

More information

Module 5 Key Concepts

Module 5 Key Concepts Module 5 Key Concepts 1. You need to be able to find the area of rectangles, parallelograms, and triangles using their formulas. 4 in. 8 cm 6 cm 5 cm 4 cm 5 cm 9 in. 12 cm rectangle 2 sets of parallel

More information

AOSC 614 Addition to Section (page 82) Robert-Asselin-Williams (RAW) filter for the Leap-frog scheme

AOSC 614 Addition to Section (page 82) Robert-Asselin-Williams (RAW) filter for the Leap-frog scheme AOSC 614 Addition to Section 3.2.3 (page 82) Robert-Asselin-Williams (RAW) filter for the Leap-frog scheme Paul Williams (2009) has developed a significant improvement to the Robert filter: Fig. 1a from

More information

Forces acting on a lamina

Forces acting on a lamina Forces acting on a lamina This example considers the net effect of a number of forces acting on an extended body and can be used to show the concept moments. It is designed to follow on from Forces acting

More information

Shallow Water Equation simulation with Sparse Grid Combination Technique

Shallow Water Equation simulation with Sparse Grid Combination Technique GUIDED RESEARCH Shallow Water Equation simulation with Sparse Grid Combination Technique Author: Jeeta Ann Chacko Examiner: Prof. Dr. Hans-Joachim Bungartz Advisors: Ao Mo-Hellenbrand April 21, 2017 Fakultät

More information

Computational Fluid Dynamics (CFD) using Graphics Processing Units

Computational Fluid Dynamics (CFD) using Graphics Processing Units Computational Fluid Dynamics (CFD) using Graphics Processing Units Aaron F. Shinn Mechanical Science and Engineering Dept., UIUC Accelerators for Science and Engineering Applications: GPUs and Multicores

More information

OpenGL Graphics System. 2D Graphics Primitives. Drawing 2D Graphics Primitives. 2D Graphics Primitives. Mathematical 2D Primitives.

OpenGL Graphics System. 2D Graphics Primitives. Drawing 2D Graphics Primitives. 2D Graphics Primitives. Mathematical 2D Primitives. D Graphics Primitives Eye sees Displays - CRT/LCD Frame buffer - Addressable pixel array (D) Graphics processor s main function is to map application model (D) by projection on to D primitives: points,

More information

Examples of MPI programming. Examples of MPI programming p. 1/18

Examples of MPI programming. Examples of MPI programming p. 1/18 Examples of MPI programming Examples of MPI programming p. 1/18 Examples of MPI programming p. 2/18 A 1D example The computational problem: A uniform mesh in x-direction with M +2 points: x 0 is left boundary

More information

CMSoft Case Study: Fast Simulation of Heat Transfer using C# and OpenCL

CMSoft Case Study: Fast Simulation of Heat Transfer using C# and OpenCL CMSoft Case Study: Fast Simulation of Heat Transfer using C# and OpenCL Simulation of heat transfer in a solid plate with Dirichlet conditions via finite differences using GPU acceleration Time evolution

More information

Grade 6 Mathematics Item Specifications Florida Standards Assessments

Grade 6 Mathematics Item Specifications Florida Standards Assessments Content Standard MAFS.6.G Geometry MAFS.6.G.1 Solve real-world and mathematical problems involving area, surface area, and volume. Assessment Limits Calculator s Context A shape is shown. MAFS.6.G.1.1

More information

More Assigned Reading and Exercises on Syntax (for Exam 2)

More Assigned Reading and Exercises on Syntax (for Exam 2) More Assigned Reading and Exercises on Syntax (for Exam 2) 1. Read sections 2.3 (Lexical Syntax) and 2.4 (Context-Free Grammars) on pp. 33 41 of Sethi. 2. Read section 2.6 (Variants of Grammars) on pp.

More information

Mariya Zhariy. Uttendorf Introduction to Optical Flow. Mariya Zhariy. Introduction. Determining. Optical Flow. Results. Motivation Definition

Mariya Zhariy. Uttendorf Introduction to Optical Flow. Mariya Zhariy. Introduction. Determining. Optical Flow. Results. Motivation Definition to Constraint to Uttendorf 2005 Contents to Constraint 1 Contents to Constraint 1 2 Constraint Contents to Constraint 1 2 Constraint 3 Visual cranial reflex(vcr)(?) to Constraint Rapidly changing scene

More information

Performance Engineering: Lab Session

Performance Engineering: Lab Session PDC Summer School 2018 Performance Engineering: Lab Session We are going to work with a sample toy application that solves the 2D heat equation (see the Appendix in this handout). You can download that

More information

Analysis of the Adjoint Euler Equations as used for Gradient-based Aerodynamic Shape Optimization

Analysis of the Adjoint Euler Equations as used for Gradient-based Aerodynamic Shape Optimization Analysis of the Adjoint Euler Equations as used for Gradient-based Aerodynamic Shape Optimization Final Presentation Dylan Jude Graduate Research Assistant University of Maryland AMSC 663/664 May 4, 2017

More information

EELE 482 Lab #3. Lab #3. Diffraction. 1. Pre-Lab Activity Introduction Diffraction Grating Measure the Width of Your Hair 5

EELE 482 Lab #3. Lab #3. Diffraction. 1. Pre-Lab Activity Introduction Diffraction Grating Measure the Width of Your Hair 5 Lab #3 Diffraction Contents: 1. Pre-Lab Activit 2 2. Introduction 2 3. Diffraction Grating 4 4. Measure the Width of Your Hair 5 5. Focusing with a lens 6 6. Fresnel Lens 7 Diffraction Page 1 (last changed

More information

Skeletal deformation

Skeletal deformation CS 523: Computer Graphics, Spring 2009 Shape Modeling Skeletal deformation 4/22/2009 1 Believable character animation Computers games and movies Skeleton: intuitive, low dimensional subspace Clip courtesy

More information

CME 345: MODEL REDUCTION

CME 345: MODEL REDUCTION CME 345: MODEL REDUCTION Parameterized Partial Differential Equations Charbel Farhat Stanford University cfarhat@stanford.edu 1 / 19 Outline 1 Initial Boundary Value Problems 2 Typical Parameters of Interest

More information

CUDA. Fluid simulation Lattice Boltzmann Models Cellular Automata

CUDA. Fluid simulation Lattice Boltzmann Models Cellular Automata CUDA Fluid simulation Lattice Boltzmann Models Cellular Automata Please excuse my layout of slides for the remaining part of the talk! Fluid Simulation Navier Stokes equations for incompressible fluids

More information

Programming Embedded Systems

Programming Embedded Systems Programming Embedded Systems Lecture 10 An introduction to Lustre Wednesday Feb 15, 2012 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/34 Course topic: programming lang. Which language to

More information

Grade 8. Strand: Number Specific Learning Outcomes It is expected that students will:

Grade 8. Strand: Number Specific Learning Outcomes It is expected that students will: 8.N.1. 8.N.2. Number Demonstrate an understanding of perfect squares and square roots, concretely, pictorially, and symbolically (limited to whole numbers). [C, CN, R, V] Determine the approximate square

More information

From Ver(ces to Fragments: Rasteriza(on

From Ver(ces to Fragments: Rasteriza(on From Ver(ces to Fragments: Rasteriza(on From Ver(ces to Fragments 3D vertices vertex shader rasterizer fragment shader final pixels 2D screen fragments l determine fragments to be covered l interpolate

More information

ECE 463 Lab 1: Introduction to LabVIEW

ECE 463 Lab 1: Introduction to LabVIEW ECE 463 Lab 1: Introduction to LabVIEW 1. Introduction The purpose of the lab session of ECE463 is to apply/practice the digital communication theory on software-defined radios (USRPs). USRP is coupled

More information

Outline: Embarrassingly Parallel Problems. Example#1: Computation of the Mandelbrot Set. Embarrassingly Parallel Problems. The Mandelbrot Set

Outline: Embarrassingly Parallel Problems. Example#1: Computation of the Mandelbrot Set. Embarrassingly Parallel Problems. The Mandelbrot Set Outline: Embarrassingly Parallel Problems Example#1: Computation of the Mandelbrot Set what they are Mandelbrot Set computation cost considerations static parallelization dynamic parallelizations and its

More information

Scalability Study of Particle Method with Dynamic Load Balancing

Scalability Study of Particle Method with Dynamic Load Balancing Scalability Study of Particle Method with Dynamic Load Balancing Hailong Teng Livermore Software Technology Corp. Abstract We introduce an efficient load-balancing algorithm for particle method (Particle

More information

Fault Tolerant Domain Decomposition for Parabolic Problems

Fault Tolerant Domain Decomposition for Parabolic Problems Fault Tolerant Domain Decomposition for Parabolic Problems Marc Garbey and Hatem Ltaief Department of Computer Science, University of Houston, Houston, TX 77204 USA garbey@cs.uh.edu, ltaief@cs.uh.edu 1

More information

Line Drawing Algorithms

Line Drawing Algorithms Chapter 3 " Line Drawing Algorithms ~: Learning Objectives :~ The objectives of this chapter are to acquaint you with: + Scan conversion line drawing + Bresenham s line drawing + Drawing bar chart + Problems

More information

An Introduction to Lustre

An Introduction to Lustre An Introduction to Lustre Monday Oct 06, 2014 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/35 ES Programming languages Which language to write embedded software in? Traditional: low-level

More information

Introduction to Bresenham s Line Algorithm Using. Instruction Series Graphics Note 5

Introduction to Bresenham s Line Algorithm Using. Instruction Series Graphics Note 5 Introduction to Bresenham s Line Algorithm Using the SBIT Instruction Series 32000 Graphics Note 5 1 0 INTRODUCTION Even with today s achievements in graphics technology the resolution of computer graphics

More information

Making Decisions In Pascal

Making Decisions In Pascal Making Decisions In Pascal In this section of notes you will learn how to have your Pascal programs choose between alternative courses of action High Level View Of Decision Making For The Computer??? True

More information

The Shallow Water Equations and CUDA

The Shallow Water Equations and CUDA The Shallow Water Equations and CUDA Alexander Pöppl December 9 th 2015 Tutorial: High Performance Computing - Algorithms and Applications, December 9 th 2015 1 Last Tutorial Discretized Heat Equation

More information

1 Serial Implementation

1 Serial Implementation Grey Ballard, Razvan Carbunescu, Andrew Gearhart, Mehrzad Tartibi CS267: Homework 2 1 Serial Implementation For n particles, the original code requires O(n 2 ) time because at each time step, the apply

More information

Lecture 2.2 Cubic Splines

Lecture 2.2 Cubic Splines Lecture. Cubic Splines Cubic Spline The equation for a single parametric cubic spline segment is given by 4 i t Bit t t t i (..) where t and t are the parameter values at the beginning and end of the segment.

More information

Lecture 5. Applications: N-body simulation, sorting, stencil methods

Lecture 5. Applications: N-body simulation, sorting, stencil methods Lecture 5 Applications: N-body simulation, sorting, stencil methods Announcements Quiz #1 in section on 10/13 Midterm: evening of 10/30, 7:00 to 8:20 PM In Assignment 2, the following variation is suggested

More information

6th Grade Report Card Mathematics Skills: Students Will Know/ Students Will Be Able To...

6th Grade Report Card Mathematics Skills: Students Will Know/ Students Will Be Able To... 6th Grade Report Card Mathematics Skills: Students Will Know/ Students Will Be Able To... Report Card Skill: Use ratio reasoning to solve problems a ratio compares two related quantities ratios can be

More information

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation Optimization Methods: Introduction and Basic concepts 1 Module 1 Lecture Notes 2 Optimization Problem and Model Formulation Introduction In the previous lecture we studied the evolution of optimization

More information

Parallel Processing: October, 5, 2010

Parallel Processing: October, 5, 2010 Parallel Processing: Why, When, How? SimLab2010, Belgrade October, 5, 2010 Rodica Potolea Parallel Processing Why, When, How? Why? Problems too costly to be solved with the classical approach The need

More information

Scalar Field Visualization I

Scalar Field Visualization I Scalar Field Visualization I What is a Scalar Field? The approximation of certain scalar function in space f(x,y,z). Image source: blimpyb.com f What is a Scalar Field? The approximation of certain scalar

More information

Flux Vector Splitting Methods for the Euler Equations on 3D Unstructured Meshes for CPU/GPU Clusters

Flux Vector Splitting Methods for the Euler Equations on 3D Unstructured Meshes for CPU/GPU Clusters Flux Vector Splitting Methods for the Euler Equations on 3D Unstructured Meshes for CPU/GPU Clusters Manfred Liebmann Technische Universität München Chair of Optimal Control Center for Mathematical Sciences,

More information

The Shallow Water Equations and CUDA

The Shallow Water Equations and CUDA The Shallow Water Equations and CUDA HPC - Algorithms and Applications Alexander Pöppl Technical University of Munich Chair of Scientific Computing January 11 th 2017 Last Tutorial Discretized Heat Equation

More information

Computer Graphics. Lecture 2. Doç. Dr. Mehmet Gokturk

Computer Graphics. Lecture 2. Doç. Dr. Mehmet Gokturk Computer Graphics Lecture 2 Doç. Dr. Mehmet Gokturk Mathematical Foundations l Hearn and Baker (A1 A4) appendix gives good review l Some of the mathematical tools l Trigonometry l Vector spaces l Points,

More information

Grade 5. (Paper MCA, items)

Grade 5. (Paper MCA, items) Grade 5 Strand 1 Number & Operation (Online MCA, 15 21 items) (Paper MCA, 18-22 items) Standard 5.1.1: Divide multi-digit numbers; solve real-world and mathematical problems using arithmetic. (Online MCA,

More information

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into 2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel

More information

arxiv: v1 [math.co] 27 Feb 2015

arxiv: v1 [math.co] 27 Feb 2015 Mode Poset Probability Polytopes Guido Montúfar 1 and Johannes Rauh 2 arxiv:1503.00572v1 [math.co] 27 Feb 2015 1 Max Planck Institute for Mathematics in the Sciences, Inselstraße 22, 04103 Leipzig, Germany,

More information

Advanced Surface Based MoM Techniques for Packaging and Interconnect Analysis

Advanced Surface Based MoM Techniques for Packaging and Interconnect Analysis Electrical Interconnect and Packaging Advanced Surface Based MoM Techniques for Packaging and Interconnect Analysis Jason Morsey Barry Rubin, Lijun Jiang, Lon Eisenberg, Alina Deutsch Introduction Fast

More information

Geometric Considerations for Distribution of Sensors in Ad-hoc Sensor Networks

Geometric Considerations for Distribution of Sensors in Ad-hoc Sensor Networks Geometric Considerations for Distribution of Sensors in Ad-hoc Sensor Networks Ted Brown, Deniz Sarioz, Amotz Bar-Noy, Tom LaPorta, Dinesh Verma, Matthew Johnson, Hosam Rowaihy November 20, 2006 1 Introduction

More information

CS 450: COMPUTER GRAPHICS REVIEW: DRAWING LINES AND CIRCLES SPRING 2015 DR. MICHAEL J. REALE

CS 450: COMPUTER GRAPHICS REVIEW: DRAWING LINES AND CIRCLES SPRING 2015 DR. MICHAEL J. REALE CS 450: COMPUTER GRAPHICS REVIEW: DRAWING LINES AND CIRCLES SPRING 2015 DR. MICHAEL J. REALE DRAWING PRIMITIVES: LEGACY VS. NEW Legacy: specify primitive in glbegin() glbegin(gl_points); glvertex3f(1,5,0);

More information

Approximate Nearest Neighbor Search. Deng Cai Zhejiang University

Approximate Nearest Neighbor Search. Deng Cai Zhejiang University Approximate Nearest Neighbor Search Deng Cai Zhejiang University The Era of Big Data How to Find Things Quickly? Web 1.0 Text Search Sparse feature Inverted Index How to Find Things Quickly? Web 2.0, 3.0

More information

MULTI-DIMENSIONAL MONTE CARLO INTEGRATION

MULTI-DIMENSIONAL MONTE CARLO INTEGRATION CS580: Computer Graphics KAIST School of Computing Chapter 3 MULTI-DIMENSIONAL MONTE CARLO INTEGRATION 2 1 Monte Carlo Integration This describes a simple technique for the numerical evaluation of integrals

More information

MATH 31A HOMEWORK 9 (DUE 12/6) PARTS (A) AND (B) SECTION 5.4. f(x) = x + 1 x 2 + 9, F (7) = 0

MATH 31A HOMEWORK 9 (DUE 12/6) PARTS (A) AND (B) SECTION 5.4. f(x) = x + 1 x 2 + 9, F (7) = 0 FROM ROGAWSKI S CALCULUS (2ND ED.) SECTION 5.4 18.) Express the antiderivative F (x) of f(x) satisfying the given initial condition as an integral. f(x) = x + 1 x 2 + 9, F (7) = 28.) Find G (1), where

More information

Math 113 Exam 1 Practice

Math 113 Exam 1 Practice Math Exam Practice January 6, 00 Exam will cover sections 6.-6.5 and 7.-7.5 This sheet has three sections. The first section will remind you about techniques and formulas that you should know. The second

More information

Downloaded from

Downloaded from 1 Class XI: Math Chapter 13: Limits and Derivatives Chapter Notes Key-Concepts 1. The epected value of the function as dictated by the points to the left of a point defines the left hand it of the function

More information

The data structure for the solution of the task is as follows:

The data structure for the solution of the task is as follows: { Solution for RACE -------- --- ---- The data structure for a course is as follows: CONST Max_Arrows = 100; VAR number_of_points,number_of_arrows : INTEGER; Arrows : ARRAY [0..Max_Arrows-1,0..1] OF INTEGER;

More information

Ratcheting Up the Three R s All SubjectsInstructional Unit Plan

Ratcheting Up the Three R s All SubjectsInstructional Unit Plan Subject: Mathematics Ratcheting Up the Three R s All SubjectsInstructional Unit Plan Estimated Length of Unit: 25 Beginning Date: April 24 Module: 6 Area, Surface, and Volume Problems Grade: 6 Projected

More information

The Shallow Water Equations and CUDA

The Shallow Water Equations and CUDA The Shallow Water Equations and CUDA Oliver Meister December 17 th 2014 Tutorial Parallel Programming and High Performance Computing, December 17 th 2014 1 Last Tutorial Discretized Heat Equation System

More information

Page 1 Month Unit Content Section Benchmarks Description Sept 4- Oct Unit 1: 3 Whole # and decimal operations 1.1, 1.2, 1.5, 1.7, 1.8, 1.9,2.1, 2.3, 2.4, 2.6, 2.8 6.2.2.1 Apply the associative, commutative

More information

Scan Conversion. CMP 477 Computer Graphics S. A. Arekete

Scan Conversion. CMP 477 Computer Graphics S. A. Arekete Scan Conversion CMP 477 Computer Graphics S. A. Areete What is Scan-Conversion? 2D or 3D objects in real world space are made up of graphic primitives such as points, lines, circles and filled polygons.

More information

Lecture 6: The Haar Filter Bank

Lecture 6: The Haar Filter Bank WAVELETS AND MULTIRATE DIGITAL SIGNAL PROCESSING Lecture 6: The Haar Filter Bank Prof.V.M.Gadre, EE, IIT Bombay 1 Introduction In this lecture our aim is to implement Haar MRA using appropriate filter

More information

User-Defined Function

User-Defined Function ENGR 102-213 (Socolofsky) Week 11 Python scripts In the lecture this week, we are continuing to learn powerful things that can be done with userdefined functions. In several of the examples, we consider

More information

3. Lifting Scheme of Wavelet Transform

3. Lifting Scheme of Wavelet Transform 3. Lifting Scheme of Wavelet Transform 3. Introduction The Wim Sweldens 76 developed the lifting scheme for the construction of biorthogonal wavelets. The main feature of the lifting scheme is that all

More information

Computer Graphics. - Rasterization - Philipp Slusallek

Computer Graphics. - Rasterization - Philipp Slusallek Computer Graphics - Rasterization - Philipp Slusallek Rasterization Definition Given some geometry (point, 2D line, circle, triangle, polygon, ), specify which pixels of a raster display each primitive

More information

21. Efficient and fast numerical methods to compute fluid flows in the geophysical β plane

21. Efficient and fast numerical methods to compute fluid flows in the geophysical β plane 12th International Conference on Domain Decomposition Methods Editors: Tony Chan, Takashi Kako, Hideo Kawarada, Olivier Pironneau, c 2001 DDM.org 21. Efficient and fast numerical methods to compute fluid

More information

Questions Q1. (a) Find the values of the constants A, B and C. (4) b) Hence find

Questions Q1. (a) Find the values of the constants A, B and C. (4) b) Hence find Questions Q1. (a) Find the values of the constants A, B and C. (4) b) Hence find (ii) Find, leaving your answer in the form a + ln b, where a and b are constants. (6) (Total 10 marks) Q2. (a) Find the

More information

Distributed Problem Solving and the Contract Net Protocol

Distributed Problem Solving and the Contract Net Protocol Distributed Problem Solving and the Contract Net Protocol Distributed Problem Solving! Suppose an agent does not have sufficient information or capability to solve an assigned task, but can decompose the

More information

7 Interference and Diffraction

7 Interference and Diffraction Physics 12a Waves Lecture 17 Caltech, 11/29/18 7 Interference and Diffraction In our discussion of multiple reflection, we have already seen a situation where the total (reflected) wave is the sum of many

More information

Parallel Summation of Inter-Particle Forces in SPH

Parallel Summation of Inter-Particle Forces in SPH Parallel Summation of Inter-Particle Forces in SPH Fifth International Workshop on Meshfree Methods for Partial Differential Equations 17.-19. August 2009 Bonn Overview Smoothed particle hydrodynamics

More information

Tyre Models in Vehicle System Dynamics: RMOD-K and SIMPACK

Tyre Models in Vehicle System Dynamics: RMOD-K and SIMPACK Tyre Models in Vehicle System Dynamics: RMOD-K and SIMPACK Dipl-Ing. A. Fandre gedas Prof. Dr.-Ing. Ch. Oertel / gedas SIMPACK User Meeting 2001, Bad Ischl (Austria) 13-14 th November 2001 Bad Ischl, 13

More information