Multicore, Multithreaded, Multi-GPU Kernel VSIPL Standardization, Implementation, & Programming Impacts Anthony Skjellum, Ph.D. http://www.runtimecomputing.com.

Slides:



Advertisements
Similar presentations
Multithreading Overview Multithreading Models Threading Issues
Advertisements

Threads Relation to processes Threads exist as subsets of processes Threads share memory and state information within a process Switching between threads.
Threads. Objectives To introduce the notion of a thread — a fundamental unit of CPU utilization that forms the basis of multithreaded computer systems.
VSI/Pro®-GPU: Commercial VSIPL Support for GP-GPU-Based Accelerated Signal and Image Processing Anthony Skjellum, Ph.D. Jennifer H. Skjellum
Day 10 Threads. Threads and Processes  Process is seen as two entities Unit of resource allocation (process or task) Unit of dispatch or scheduling (thread.
Chapter 4: Threads. Overview Multithreading Models Threading Issues Pthreads Windows XP Threads.
Threads - Definition - Advantages using Threads - User and Kernel Threads - Multithreading Models - Java and Solaris Threads - Examples - Definition -
Based on Silberschatz, Galvin and Gagne  2009 Threads Definition and motivation Multithreading Models Threading Issues Examples.
4.7.1 Thread Signal Delivery Two types of signals –Synchronous: Occur as a direct result of program execution Should be delivered to currently executing.
Threads math 442 es Jim Fix. Reality vs. Abstraction A computer’s OS manages a lot: multiple users many devices; hardware interrupts multiple application.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 4: Threads.
OpenMP in a Heterogeneous World Ayodunni Aribuki Advisor: Dr. Barbara Chapman HPCTools Group University of Houston.
Operating System Principles Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D.
Chapter 4: Threads. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Chapter 4: Threads Overview Multithreading.
Chapter 4 – Threads (Pgs 153 – 174). Threads  A "Basic Unit of CPU Utilization"  A technique that assists in performing parallel computation by setting.
Chapter 4: Threads. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 4: Threads Overview Multithreading Models Threading Issues.
CS 838: Pervasive Parallelism Introduction to pthreads Copyright 2005 Mark D. Hill University of Wisconsin-Madison Slides are derived from online references.
Department of Computer Science and Software Engineering
1 OS Review Processes and Threads Chi Zhang
Parallelization Geant4 simulation is an embarrassingly parallel computational problem – each event can possibly be treated independently 1.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
SMP Basics KeyStone Training Multicore Applications Literature Number: SPRPxxx 1.
Chapter 4: Threads 羅習五. Chapter 4: Threads Motivation and Overview Multithreading Models Threading Issues Examples – Pthreads – Windows XP Threads – Linux.
1 Chapter 5: Threads Overview Multithreading Models & Issues Read Chapter 5 pages
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 4: Threads.
Lecture 5. Example for periority The average waiting time : = 41/5= 8.2.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 4: Multithreaded Programming.
9/30/2016 Slides based on Operating Systems Concepts, 8th Edition 1 Threads CMSC 421 Spring 2012, Section 2 Dr. Richard Carback
Chapter 4 – Thread Concepts
Chapter 4: Threads Modified by Dr. Neerja Mhaskar for CS 3SH3.
Introduction to threads
Threads Some of these slides were originally made by Dr. Roger deBry. They include text, figures, and information from this class’s textbook, Operating.
Productive Performance Tools for Heterogeneous Parallel Computing
Chapter 4: Multithreaded Programming
Chapter 4: Threads.
Chapter 4: Threads.
Day 12 Threads.
Wrapper Façade Pattern
Chapter 4 – Thread Concepts
Chapter 2 Processes and Threads Today 2.1 Processes 2.2 Threads
Chapter 5: Threads Overview Multithreading Models Threading Issues
Chapter 5: Threads Overview Multithreading Models Threading Issues
Chapter 5: Threads Overview Multithreading Models Threading Issues
Chapter 4: Multithreaded Programming
Chapter 4: Multithreaded Programming
Chapter 4 Threads.
Chapter 4: Threads 羅習五.
Chapter 4: Threads.
Operating System Concepts
Chapter 4: Threads.
Chapter 5: Threads Overview Multithreading Models Threading Issues
Chapter 4 Multithreading programming
Chapter 4: Threads.
Chapter 4: Threads.
Chapter 4: Threads.
Modified by H. Schulzrinne 02/15/10 Chapter 4: Threads.
Threads and Concurrency
CHAPTER 4:THreads Bashair Al-harthi OPERATING SYSTEM
What is Concurrent Programming?
Chapter 4: Threads & Concurrency
Chapter 4: Threads.
Why Threads Are A Bad Idea (for most purposes)
Chapter 5: Threads Overview Multithreading Models Threading Issues
Chapter 4: Threads.
Why Threads Are A Bad Idea (for most purposes)
Why Threads Are A Bad Idea (for most purposes)
Threads -For CSIT.
CS Introduction to Operating Systems
Presentation transcript:

Multicore, Multithreaded, Multi-GPU Kernel VSIPL Standardization, Implementation, & Programming Impacts Anthony Skjellum, Ph.D. http://www.runtimecomputing.com

Fine-Grain Concurrency Widespread in HPEC platforms SMP (not new) Multicore (e.g., Core i7, 8641D) Hyperthreading and other weaker internal core concurrency SMP VxWorks (tasks vs. POSIX processes… use case new, issue not new) Customers are demanding standards-based approaches to programming VSIPL in multicore environments Thread-safe VSIPL increasingly in demand

Thread Safe User-Level Portability must be maintained Users may need to control/hint use of concurrency internally in a library vs. their own task concurrency Affinity issues and choices arise Single-threaded users don’t want to pay for overhead of multithreaded models VSIPL APIs are a good start

Model VSIPL Model MT1 Rules Pthreads (POSIX) as threading library Every thread that uses VSIPL calls vsip_init() and vsip_finalize() Every thread works with independent objects and memory All existing VSIPL syntax is valid No new VSIPL syntax is needed or provided Pthreads (POSIX) as threading library High quality implementations allow internal concurrent execution of user threads Low overhead

What’s in the poster Why Thread-safe VSIPL important A practical multithreaded programming model for VSIPL defined (MT1) An example of MT1-based FFT example Explanations of issues, concerns, and barriers going to multithreaded Discussion of GPU-related (offload-engine) related issues