Parallel Computing Glib Dmytriiev

Slides:



Advertisements
Similar presentations
 The k-computer is the world’s fastest supercomputer.  The k-computer named for the japnese word “kei" which stands for 10 quardillion.  K-computer.
Advertisements

Accelerators for HPC: Programming Models Accelerators for HPC: StreamIt on GPU High Performance Applications on Heterogeneous Windows Clusters
Slides Prepared from the CI-Tutor Courses at NCSA By S. Masoud Sadjadi School of Computing and Information Sciences Florida.
FIT5174 Distributed & Parallel Systems
Introduction to Parallel Computing
PARALLEL PROCESSING COMPARATIVE STUDY 1. CONTEXT How to finish a work in short time???? Solution To use quicker worker. Inconvenient: The speed of worker.
A many-core GPU architecture.. Price, performance, and evolution.
Acceleration of the Smith– Waterman algorithm using single and multiple graphics processors Author : Ali Khajeh-Saeed, Stephen Poole, J. Blair Perot. Publisher:
Reference: Message Passing Fundamentals.
Hardware Basics: Inside the Box 2  2001 Prentice Hall2.2 Chapter Outline “There is no invention – only discovery.” Thomas J. Watson, Sr. What Computers.
Operating Systems CS208. What is Operating System? It is a program. It is the first piece of software to run after the system boots. It coordinates the.
GCSE Computing - The CPU
GPGPU overview. Graphics Processing Unit (GPU) GPU is the chip in computer video cards, PS3, Xbox, etc – Designed to realize the 3D graphics pipeline.
To GPU Synchronize or Not GPU Synchronize? Wu-chun Feng and Shucai Xiao Department of Computer Science, Department of Electrical and Computer Engineering,
Introduction to Parallel Programming MapReduce Except where otherwise noted all portions of this work are Copyright (c) 2007 Google and are licensed under.
High Performance Computing G Burton – ICG – Oct12 – v1.1 1.
Parallel Computing Through MPI Technologies Author: Nyameko Lisa Supervisors: Prof. Elena Zemlyanaya, Prof Alexandr P. Sapozhnikov and Tatiana F. Sapozhnikov.
1 © 2012 The MathWorks, Inc. Parallel computing with MATLAB.
Chapter 1 Introduction. Objectives To explain the definition of computer architecture To discuss the history of computers To describe the von-neumann.
Multiprocessing. Going Multi-core Helps Energy Efficiency William Holt, HOT Chips 2005 Adapted from UC Berkeley "The Beauty and Joy of Computing"
April 26, CSE8380 Parallel and Distributed Processing Presentation Hong Yue Department of Computer Science & Engineering Southern Methodist University.
GPU Architecture and Programming
By Garrett Kelly. 3 types or reasons for distributed applications Data Data used by the application is distributed Computation Computation is distributed.
Distributed Computing CSC 345 – Operating Systems By - Fure Unukpo 1 Saturday, April 26, 2014.
PARALLEL COMPUTING overview What is Parallel Computing? Traditionally, software has been written for serial computation: To be run on a single computer.
Mobile Computers and Mobile Devices Discovering Computers 2012: Chapter 1 1 Pages Figures 1-17 – 1-20.
DISTRIBUTED COMPUTING. Computing? Computing is usually defined as the activity of using and improving computer technology, computer hardware and software.
Copyright © 2011 Curt Hill MIMD Multiple Instructions Multiple Data.
Multi-Core Development Kyle Anderson. Overview History Pollack’s Law Moore’s Law CPU GPU OpenCL CUDA Parallelism.
GPUs: Overview of Architecture and Programming Options Lee Barford firstname dot lastname at gmail dot com.
By Dirk Hekhuis Advisors Dr. Greg Wolffe Dr. Christian Trefftz.
Compiler and Runtime Support for Enabling Generalized Reduction Computations on Heterogeneous Parallel Configurations Vignesh Ravi, Wenjing Ma, David Chiu.
Parallel Computing.
1 Title: Introduction to Computer Instructor: I LTAF M EHDI.
The Effects of Parallel Programming on Gaming Anthony Waterman.
Technology in Action Chapter 6 Behind the Scenes: A Closer Look at System Hardware.
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
HOW A COMPUTER PROCESSES DATA. What is hardware? Hardware is the electric, electronic and mechanical equipment that makes up a computer What is software?
Computer Organization Instruction Set Architecture (ISA) Instruction Set Architecture (ISA), or simply Architecture, of a computer is the.
The Central Processing Unit (CPU)
Week1: Introduction to Computer Networks. Copyright © 2012 Cengage Learning. All rights reserved.2 Objectives 2 Describe basic computer components and.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 OS 1.
Computer Architecture Lecture 24 Parallel Processing Ralph Grishman November 2015 NYU.
GPGPU introduction. Why is GPU in the picture Seeking exa-scale computing platform Minimize power per operation. – Power is directly correlated to the.
Parallel Computing Presented by Justin Reschke
SMP Basics KeyStone Training Multicore Applications Literature Number: SPRPxxx 1.
Fast and parallel implementation of Image Processing Algorithm using CUDA Technology On GPU Hardware Neha Patil Badrinath Roysam Department of Electrical.
IT 5433 LM1. Learning Objectives Understand key terms in database Explain file processing systems List parts of a database environment Explain types of.
Hybrid Parallel Implementation of The DG Method Advanced Computing Department/ CAAM 03/03/2016 N. Chaabane, B. Riviere, H. Calandra, M. Sekachev, S. Hamlaoui.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
Lecture 13 Parallel Processing. 2 What is Parallel Computing? Traditionally software has been written for serial computation. Parallel computing is the.
MAHARANA PRATAP COLLEGE OF TECHNOLOGY SEMINAR ON- COMPUTER PROCESSOR SUBJECT CODE: CS-307 Branch-CSE Sem- 3 rd SUBMITTED TO SUBMITTED BY.
Heterogeneous Processing KYLE ADAMSKI. Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous.
GCSE Computing - The CPU
These slides are based on the book:
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
PARALLEL COMPUTING.
Introduction to parallel programming
Introduction to Parallelism.
Multi-Processing in High Performance Computer Architecture:
Looping and Random Numbers
Team 1 Aakanksha Gupta, Solomon Walker, Guanghong Wang
Multi-Processing in High Performance Computer Architecture:
Decomposition.
High Performance Computing (Supercomputer/Parallel Computing)
CSE8380 Parallel and Distributed Processing Presentation
Part 2: Parallel Models (I)
By Brandon, Ben, and Lee Parallel Computing.
Ainsley Smith Tel: Ex
GCSE Computing - The CPU
Presentation transcript:

Parallel Computing Glib Dmytriiev

What is Serial Computing? Traditionally, software has been written for serial computation: To be run on a single computer having a single Central Processing Unit (CPU); A problem is broken into a discrete series of instructions. Instructions are executed one after another. Only one instruction may execute at any moment in time.

Serial Computing

What is Parallel Computing? In the simplest sense, parallel computing is the simultaneous use of multiple compute resources to solve a computational problem: To be run using multiple CPUs A problem is broken into discrete parts that can be solved concurrently Each part is further broken down to a series of instructions Instructions from each part execute simultaneously on different CPUs

Parallel Computing

The compute resources might be: A single computer with multiple processors or cores; An arbitrary number of computers connected by a network; A combination of both; A special video card.

Hardware. Cluster A computer cluster is a group of linked computers, working together closely thus in many respects forming a single computer. The components of a cluster are commonly, but not always, connected to each other through fast local area networks.

K Computer

is a supercomputer being produced by Fujitsu at the RIKEN Advanced Institute for Computational Science campus in Kobe, Japan K became the world's fastest supercomputer in June 2011, as recorded by the TOP500 it is expected to become fully operational in November 2012 K topped the LINPACK benchmark with the performance of petaflops, or quadrillion calculations per second 68, GHz 8-core SPARC64 VIIIfx processors packed in 672 cabinets, for a total of 548,352 cores

Multi-core processor A multi-core processor is a single computing component with two or more independent actual processors (called "cores"), which are the units that read and execute program instructions.

Nvidia CUDA CUDA or Compute Unified Device Architecture is a parallel computing architecture developed by Nvidia Using CUDA, the latest Nvidia GPUs become accessible for computation like CPUs

Nvidia CUDA

Parallel Computing The computational problem should be able to: Be broken apart into discrete pieces of work that can be solved simultaneously; Execute multiple program instructions at any moment in time; Be solved in less time with multiple compute resources than with a single compute resource.

Parallel Computing Example PI Calculation The value of PI can be calculated in a number of ways. Consider the following method of approximating PI 1.Inscribe a circle in a square 2.Randomly generate points in the square 3.Determine the number of points in the square that are also in the circle 4.Let r be the number of points in the circle divided by the number of points in the square 5.PI ~ 4 r 6.Note that the more points generated, the better the approximation

Serial pseudo code for this procedure: Note that most of the time in running this program would be spent executing the loop.

Parallel solution Computationally intensive Minimal communication Minimal I/O

Parallel solution Parallel strategy: break the loop into portions that can be executed by the tasks. For the task of approximating PI: – Each task executes its portion of the loop a number of times. – Each task can do its work without requiring any information from the other tasks (there are no data dependencies). – Uses the SPMD model. One task acts as master and collects the results.

Parallel solution

References