Parallelization: Area Under a Curve. AUC: An important task in science Neuroscience – Endocrine levels in the body over time Economics – Discounting:

Slides:



Advertisements
Similar presentations
Refining High Performance FORTRAN Code from Programming Model Dependencies Ferosh Jacob University of Alabama Department of Computer Science
Advertisements

MINJAE HWANG THAWAN KOOBURAT CS758 CLASS PROJECT FALL 2009 Extending Task-based Programming Model beyond Shared-memory Systems.
Parallel Processing with OpenMP
Introduction to Openmp & openACC
Distributed Systems CS
Class CS 775/875, Spring 2011 Amit H. Kumar, OCCS Old Dominion University.
1 Chapter 1 Why Parallel Computing? An Introduction to Parallel Programming Peter Pacheco.
PARALLEL PROCESSING COMPARATIVE STUDY 1. CONTEXT How to finish a work in short time???? Solution To use quicker worker. Inconvenient: The speed of worker.
Reference: Message Passing Fundamentals.
1 Distributed Computing Algorithms CSCI Distributed Computing: everything not centralized many processors.
Parallel Computing Overview CS 524 – High-Performance Computing.
Scripting Languages For Virtual Worlds. Outline Necessary Features Classes, Prototypes, and Mixins Static vs. Dynamic Typing Concurrency Versioning Distribution.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Waves!. Solving something like this… The Wave Equation (1-D) (n-D)
Mapping Techniques for Load Balancing
The hybird approach to programming clusters of multi-core architetures.
Parallelization: Conway’s Game of Life. Cellular automata: Important for science Biology – Mapping brain tumor growth Ecology – Interactions of species.
Design and Implementation of a Single System Image Operating System for High Performance Computing on Clusters Christine MORIN PARIS project-team, IRISA/INRIA.
Reference: / Parallel Programming Paradigm Yeni Herdiyeni Dept of Computer Science, IPB.
Exercise problems for students taking the Programming Parallel Computers course. Janusz Kowalik Piotr Arlukowicz Tadeusz Puzniakowski Informatics Institute.
Lecture 29 Fall 2006 Lecture 29: Parallel Programming Overview.
Parallel Processing LAB NO 1.
CS470/570 Lecture 5 Introduction to OpenMP Compute Pi example OpenMP directives and options.
CC02 – Parallel Programming Using OpenMP 1 of 25 PhUSE 2011 Aniruddha Deshmukh Cytel Inc.
Performance Evaluation of Hybrid MPI/OpenMP Implementation of a Lattice Boltzmann Application on Multicore Systems Department of Computer Science and Engineering,
Lecture 4: Parallel Programming Models. Parallel Programming Models Parallel Programming Models: Data parallelism / Task parallelism Explicit parallelism.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
AN EXTENDED OPENMP TARGETING ON THE HYBRID ARCHITECTURE OF SMP-CLUSTER Author : Y. Zhao 、 C. Hu 、 S. Wang 、 S. Zhang Source : Proceedings of the 2nd IASTED.
Performance Model & Tools Summary Hung-Hsun Su UPC Group, HCS lab 2/5/2004.
Areas & Definite Integrals TS: Explicitly assessing information and drawing conclusions.
Hybrid MPI and OpenMP Parallel Programming
Classic Model of Parallel Processing
Lecture 4 TTH 03:30AM-04:45PM Dr. Jianjun Hu CSCE569 Parallel Computing University of South Carolina Department of.
CS- 492 : Distributed system & Parallel Processing Lecture 7: Sun: 15/5/1435 Foundations of designing parallel algorithms and shared memory models Lecturer/
Efficiency of small size tasks calculation in grid clusters using parallel processing.. Olgerts Belmanis Jānis Kūliņš RTU ETF Riga Technical University.
SECTION 4-2 (A) Application of the Integral. 1) The graph on the right, is of the equation How would you find the area of the shaded region?
From the customer’s perspective the SRS is: How smart people are going to solve the problem that was stated in the System Spec. A “contract”, more or less.
To find the area under the curve Warm-Up: Graph. Area under a curve for [0, 3]  The area between the x-axis and the function Warm-up What is the area.
5.1 Approximating Area Thurs Feb 18 Do Now Evaluate the integral 1)
Riemann Sums and Definite Integration y = 6 y = x ex: Estimate the area under the curve y = x from x = 0 to 3 using 3 subintervals and right endpoints,
Jacob Bernoulli 1654 – 1705 Jacob Bernoulli 1654 – 1705 Jacob Bernoulli was a Swiss mathematician who became familiar with calculus through a correspondence.
HParC language. Background Shared memory level –Multiple separated shared memory spaces Message passing level-1 –Fast level of k separate message passing.
Parallel Computing Presented by Justin Reschke
Adds the rectangles, where n is the number of partitions (rectangles) Height of rectangle for each of the x-values in the interval Width of partition:
1/50 University of Turkish Aeronautical Association Computer Engineering Department Ceng 541 Introduction to Parallel Computing Dr. Tansel Dökeroğlu
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 April 28, 2005 Session 29.
Introduction Goal: connecting multiple computers to get higher performance – Multiprocessors – Scalability, availability, power efficiency Job-level (process-level)
Definite Integrals & Riemann Sums
7.2: Riemann Sums: Left & Right-hand Sums
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
Application of the Integral
Sub-fields of computer science. Sub-fields of computer science.
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
SHARED MEMORY PROGRAMMING WITH OpenMP
The University of Adelaide, School of Computer Science
Introduction to Parallelism.
Multi-Processing in High Performance Computer Architecture:
Team 1 Aakanksha Gupta, Solomon Walker, Guanghong Wang
Riemann Sums Approximate area using rectangles
Parallel Programming in C with MPI and OpenMP
Multi-Processing in High Performance Computer Architecture:
CMAQ PARALLEL PERFORMANCE WITH MPI AND OpenMP George Delic, Ph
Hybrid Programming with OpenMP and MPI
Dr. Tansel Dökeroğlu University of Turkish Aeronautical Association Computer Engineering Department Ceng 442 Introduction to Parallel.
Introduction to parallelism and the Message Passing Interface
Distributed Computing:
76 – Riemann Sums – Rectangles Day 2 – Tables Calculator Required
Area Under a Curve Riemann Sums.
Parallel Programming in C with MPI and OpenMP
Presentation transcript:

Parallelization: Area Under a Curve

AUC: An important task in science Neuroscience – Endocrine levels in the body over time Economics – Discounting: the fee incurred for delaying a payment over time Pharmacokinetics and clinical pharmacology, machine learning, medicine, psychiatry and psychology, chemistry, environmental science, fisheries and aquatic sciences, and many others

Newton and Leibniz Calculus Integration: exact AUC for simple curves Problems: – Doesn’t work for many curves, even simple ones – Doesn’t work in a reasonable number of steps Solution: approximation

Bernhard Riemann’s methods Domain of the function is segmented into the widths of shapes (rectangles in this case) Height of the rectangle is the y-value of the function for some x-value in the segment Sum of the areas of the rectangles is the approximate total area

The left Riemann sum Rectangle height = y-value of the left-most x- value of the rectangle width

How do we approximate? Small number of rectangles: by hand or calculator Beyond a small number of rectangles: single computer Even more: parallel processing More and more: cluster computer

Parallelism Concurrency (doing things at the same time) Multiple flows of execution (virtual entities that perform computations) working on the same problem Distributed Memory Shared Memory Hybrid

Flows of execution Processes – Distributed memory – Must communicate (message passing) Threads – Shared memory Processes with threads – Hybrid

Parallel hardware Multiple cores on a single compute node – Shared memory Multiple compute nodes sharing a network – Distributed memory Multiple compute nodes with multiple cores sharing a network – Hybrid

What are some standards? Message Passing Interface (MPI) – distributed memory/message passing OpenMP – shared memory MPI/OpenMP - hybrid

How to approach the parallel algorithm Identify data structures – constants and variables Determine the process and thread locality of the data structures Analyze the interactions of the data structures Lay out the algorithm (a step by step set of instructions)

Considerations Assume hybrid parallelism – Distributed memory, shared memory, or serial can be refined from hybrid Hybrid on 1 thread per process is just distributed memory Hybrid on 1 process is just shared memory Hybrid on 1 thread and 1 process is just serial The entire code is executed by each process Threads only execute code for which they are spawned

How do we visually represent the data structures?

How do we represent the data structures in writing?

What are the scopes of the data structures?

How do the data structures interact?

What is the order of interactions?

How does this look in pseudocode?

MPI functions

MPI_Reduce in more detail (Fortran only) Store any error codes in this variable

OpenMP regions