INTEL CONFIDENTIAL Parallel Decomposition Methods Introduction to Parallel Programming – Part 2.

Slides:



Advertisements
Similar presentations
Phabulous Physics: Vectors Physics Topics Vectors Copyright © 2010 Intel Corporation. All rights reserved. Adapted with permission. Intel, the Intel logo.
Advertisements

Implementing Task Decompositions Intel Software College Introduction to Parallel Programming – Part 5.
Analyzing Parallel Performance Intel Software College Introduction to Parallel Programming – Part 6.
Confronting Race Conditions Intel Software College Introduction to Parallel Programming – Part 4.
Shared-Memory Model and Threads Intel Software College Introduction to Parallel Programming – Part 2.
Improving Parallel Performance Intel Software College Introduction to Parallel Programming – Part 7.
Implementing Domain Decompositions Intel Software College Introduction to Parallel Programming – Part 3.
Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. * Other.
INTEL CONFIDENTIAL Implementing a Task Decomposition Introduction to Parallel Programming – Part 9.
INTEL CONFIDENTIAL Threading for Performance with Intel® Threading Building Blocks Session:
Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® Software Development.
© 2014 Microsoft Corporation. All rights reserved.
The Intel® Software Community Real-world resources you can use.
INTEL CONFIDENTIAL Improving Parallel Performance Introduction to Parallel Programming – Part 11.
INTEL CONFIDENTIAL Deadlock Introduction to Parallel Programming – Part 7.
© 2011 Autodesk Capitalize on Corridor Improvements in AutoCAD ® Civil 3D ® Don Quinn Civil Engineer / Eagle Point Product Specialist.
Thinking in Parallel – Task Decomposition New Mexico Supercomputing Challenge in partnership with Intel Corp. and NM EPSCoR.
CISC 879 : Software Support for Multicore Architectures John Cavazos Dept of Computer & Information Sciences University of Delaware
INTEL CONFIDENTIAL OpenMP for Domain Decomposition Introduction to Parallel Programming – Part 5.
INTEL CONFIDENTIAL Confronting Race Conditions Introduction to Parallel Programming – Part 6.
INTEL CONFIDENTIAL OpenMP for Task Decomposition Introduction to Parallel Programming – Part 8.
Copyright © 2006, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners Intel® Core™ Duo Processor.
INTEL CONFIDENTIAL Why Parallel? Why Now? Introduction to Parallel Programming – Part 1.
A Move Toward Agile APM: Application Performance Management Frank Ober, Performance Engineer June 2012.
Intel® Processor Architecture: Multi-core Overview Intel® Software College.
Version 1.0 digitaloffice.intel.com Intel ® vPro ™ Technology Intel ® Active Management Technology Setup and Configuration Toshiba Laptop –Tecra A9 Small.
Thinking in Parallel – Pipelining New Mexico Supercomputing Challenge in partnership with Intel Corp. and NM EPSCoR.
INTEL CONFIDENTIAL Reducing Parallel Overhead Introduction to Parallel Programming – Part 12.
INTEL CONFIDENTIAL Finding Parallelism Introduction to Parallel Programming – Part 3.
Programming Models using Windows* Threads Intel Software College.
Version 1.0 digitaloffice.intel.com Intel ® vPro ™ Technology Intel ® Active Management Technology Setup and Configuration Lenovo T61 Laptop Small Business.
Recognizing Potential Parallelism Intel Software College Introduction to Parallel Programming – Part 1.
Multi-core Programming: Basic Concepts. Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered.
1 Intel ® Teach ST & ITA Summit Copyright © 2010 Intel Corporation. All rights reserved. Intel, the Intel logo, and the Intel Teach Program are trademarks.
Scripting Components for AutoCAD Plant 3D
INTEL CONFIDENTIAL Predicting Parallel Performance Introduction to Parallel Programming – Part 10.
INTEL CONFIDENTIAL, FOR INTERNAL USE ONLY 1 Intel® Engage Community For educators dedicated to transforming K-12 classrooms
Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:
Copyright © 2008, Intel Corporation. All rights reserved. Intel, the Intel logo, Intel Education Initiative, and Intel Teach Program are trademarks of.
Recognizing Potential Parallelism Introduction to Parallel Programming Part 1.
Copyright © 2009 Intel Corporation. All rights reserved. Intel, the Intel logo, Intel Education Initiative, and the Intel Teach Program are trademarks.
Version 1.0 digitaloffice.intel.com Intel ® vPro ™ Technology Intel ® Active Management Technology Setup and Configuration Dell Optiplex 755 tower Small.
Programs of the Intel® Education Initiative are funded by the Intel Foundation and Intel Corporation. Copyright © 2007, Intel Corporation. All rights reserved.
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 4 Computer Software.
Performance Counters on Intel® Core™ 2 Duo Xeon® Processors Michael D’Mello
INTEL CONFIDENTIAL Shared Memory Considerations Introduction to Parallel Programming – Part 4.
Version 1.0 digitaloffice.intel.com Intel ® vPro ™ Technology Intel ® Active Management Technology Setup and Configuration Lenovo M57p Desktop Small Business.
Copyright © 2009 Intel Corporation. All rights reserved. Intel, the Intel logo, Intel Education Initiative, and the Intel Teach Program are trademarks.
Dan Reed Scalable and Multicore Computing Strategist Managing Director, Data Center Futures Microsoft.
Intel ® Education K-12 Resources Copyright © 2010 Intel Corporation. All rights reserved. Intel, the Intel logo, and the Intel Education Initiative are.
Thinking in Parallel – Implementing In Code New Mexico Supercomputing Challenge in partnership with Intel Corp. and NM EPSCoR.
Programs of the Intel® Education Initiative are funded by the Intel Foundation and Intel. Copyright © 2007, Intel Corporation. All rights reserved. Intel,
Intel® Education Up to Speed with Read With Me. Copyright © 2015 Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks of Intel.
Join us on Twitter: #AU2014. Class summary text goes here Class summary.
Thinking in Parallel – Domain Decomposition New Mexico Supercomputing Challenge in partnership with Intel Corp. and NM EPSCoR.
A Pattern Language for Parallel Programming Beverly Sanders University of Florida.
3/12/2013Computer Engg, IIT(BHU)1 CONCEPTS-1. Pipelining Pipelining is used to increase the speed of processing It uses temporal parallelism In pipelining,
Writing User Subroutines with Abaqus
© 2012 Autodesk SM3595-R | Thinking of Design, Engineering, and Simulation Differently! Luke Mihelcic Product Marketing Manager | ISM – Simulation Industry.
Thinking in Parallel - Introduction New Mexico Supercomputing Challenge in partnership with Intel Corp. and NM EPSCoR.
Copyright © 2010 Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries.
Tuning Threaded Code with Intel® Parallel Amplifier.
1 Parallel Processing Fundamental Concepts. 2 Selection of an Application for Parallelization Can use parallel computation for 2 things: –Speed up an.
Copyright © 2010 Intel Corporation. All rights reserved. Adapted with permission. Intel, the Intel logo and the Intel Education Initiative are trademarks.
Intel ® Teach Program Copyright © 2010 Intel Corporation. All rights reserved. Intel, the Intel logo, Intel Education Initiative and Intel Teach Program.
Parallel Programming By J. H. Wang May 2, 2017.
Chapter 4 Computer Software.
Many-core Software Development Platforms
ე ვ ი ო Ш Е Т И О А С Д Ф К Ж З В Н М W Y U I O S D Z X C V B N M
Lecture 2 The Art of Concurrency
Presentation transcript:

INTEL CONFIDENTIAL Parallel Decomposition Methods Introduction to Parallel Programming – Part 2

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Review & Objectives Previously: Defined parallel computing Explained why parallel computing is becoming mainstream Explained why explicit parallel programming is necessary At the end of this part you should be able to: Identify opportunities for parallelism in code segments and applications Describe three methods of dividing independent work 2

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Methodology Study problem, sequential program, or code segment Look for opportunities for parallelism Try to keep all cores busy doing useful work 3

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Ways of Exploiting Parallelism Domain decomposition Task decomposition Pipelining 4

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Domain Decomposition First, decide how data elements should be divided among cores Second, decide which tasks each core should be doing Example: Vector addition 5

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Domain Decomposition 6 Find the largest element of an array

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Domain Decomposition 7 Find the largest element of an array Core 0Core 1Core 2Core 3

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Domain Decomposition 8 Find the largest element of an array Core 0Core 1Core 2Core 3

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Domain Decomposition 9 Find the largest element of an array Core 0Core 1Core 2Core 3

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Domain Decomposition 10 Find the largest element of an array Core 0Core 1Core 2Core 3

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Domain Decomposition 11 Find the largest element of an array Core 0Core 1Core 2Core 3

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Domain Decomposition 12 Find the largest element of an array Core 0Core 1Core 2Core 3

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Domain Decomposition 13 Find the largest element of an array Core 0Core 1Core 2Core 3

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Domain Decomposition 14 Find the largest element of an array Core 0Core 1Core 2Core 3

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Domain Decomposition 15 Find the largest element of an array Core 0Core 1Core 2Core 3

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Domain Decomposition 16 Find the largest element of an array Core 0Core 1Core 2Core 3

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Domain Decomposition 17 Find the largest element of an array Core 0Core 1Core 2Core 3

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Task (Functional) Decomposition First, divide problem into independent tasks Second, decide which data elements are going to be accessed (read and/or written) by which tasks Example: Event-handler for GUI 18

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Task Decomposition 19 s() r() q() h() g() f()

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Task Decomposition 20 s() r() q() h() g() Core 0 Core 2 Core 1 f()

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Task Decomposition 21 s() r() q() h() g() Core 2 Core 1 f() Core 0

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Task Decomposition 22 s() r() q() h() g() Core 2 Core 1Core 0 f()

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Task Decomposition 23 s() r() q() h() g() Core 2 Core 1Core 0 f()

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Task Decomposition 24 s() r() q() h() g() Core 2 Core 1Core 0 f()

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Pipelining Special kind of task decomposition “Assembly line” parallelism Example: 3D rendering in computer graphics 25 RasterizeClipProjectModel Input Output

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Processing One Data Set (Step 1) 26 RasterizeClipProjectModel

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Processing One Data Set (Step 2) 27 RasterizeClipProjectModel

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Processing One Data Set (Step 3) 28 RasterizeClipProjectModel

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Processing One Data Set (Step 4) 29 RasterizeClipProjectModel The pipeline processes 1 data set in 4 steps

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Processing Two Data Sets (Step 1) 30 RasterizeClipProjectModel

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Processing Two Data Sets (Time 2) 31 RasterizeClipProjectModel

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Processing Two Data Sets (Step 3) 32 RasterizeClipProjectModel

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Processing Two Data Sets (Step 4) 33 RasterizeClipProjectModel

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Processing Two Data Sets (Step 5) 34 RasterizeClipProjectModel The pipeline processes 2 data sets in 5 steps

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Pipelining Five Data Sets (Step 1) 35 Data set 0 Data set 1 Data set 2 Data set 3 Data set 4 Core 0Core 1Core 2Core 3

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Pipelining Five Data Sets (Step 2) 36 Data set 0 Data set 1 Data set 2 Data set 3 Data set 4 Core 0Core 1Core 2Core 3

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Pipelining Five Data Sets (Step 3) 37 Data set 0 Data set 1 Data set 2 Data set 3 Data set 4 Core 0Core 1Core 2Core 3

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Pipelining Five Data Sets (Step 4) 38 Data set 0 Data set 1 Data set 2 Data set 3 Data set 4 Core 0Core 1Core 2Core 3

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Pipelining Five Data Sets (Step 5) 39 Data set 0 Data set 1 Data set 2 Data set 3 Data set 4 Core 0Core 1Core 2Core 3

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Pipelining Five Data Sets (Step 6) 40 Data set 0 Data set 1 Data set 2 Data set 3 Data set 4 Core 0Core 1Core 2Core 3

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Pipelining Five Data Sets (Step 7) 41 Data set 0 Data set 1 Data set 2 Data set 3 Data set 4 Core 0Core 1Core 2Core 3

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Pipelining Five Data Sets (Step 8) 42 Data set 0 Data set 1 Data set 2 Data set 3 Data set 4 Core 0Core 1Core 2Core 3

Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. References Richard H. Carver and Kuo-Chung Tai, Modern Multithreading: Implementing, Testing, and Debugging Java and C++/Pthreads/ Win32 Programs, Wiley-Interscience (2006). Robert L. Mitchell, “Decline of the Desktop,” Computerworld (September 26, 2005). Michael J. Quinn, Parallel Programming in C with MPI and OpenMP, McGraw-Hill (2004). Herb Sutter, “The Free Lunch is Over: A Fundamental Turn Toward Concurrency in Software,” Dr. Dobb’s Journal 30, 3 (March 2005). 43