Many-core Software Development Platforms

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

An Overview Of Virtual Machine Architectures Ross Rosemark.
Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property.
1 Presenter: Chien-Chih Chen. 2 Dynamic Scheduler for Multi-core Systems Analysis of The Linux 2.6 Kernel Scheduler Optimal Task Scheduler for Multi-core.
Software & Services Group Developer Products Division Copyright© 2013, Intel Corporation. All rights reserved. *Other brands and names are the property.
Helper Threads via Virtual Multithreading on an experimental Itanium 2 processor platform. Perry H Wang et. Al.
Intel® Education Fluid Math™
Java for High Performance Computing Jordi Garcia Almiñana 14 de Octubre de 1998 de la era post-internet.
Chapter 13 Embedded Systems
INTEL CONFIDENTIAL Why Parallel? Why Now? Introduction to Parallel Programming – Part 1.
HEVC Commentary and a call for local temporal distortion metrics Mark Buxton - Intel Corporation.
Intel ® Server Platform Transitions Nov / Dec ‘07.
Intel® Education Read With Me Intel Solutions Summit 2015, Dallas, TX.
Intel® Education Learning in Context: Science Journal Intel Solutions Summit 2015, Dallas, TX.
Getting Reproducible Results with Intel® MKL 11.0
Intel® Solid-State Drive Data Center TCO Calculator The data in this presentation is based on your analysis and business assumptions when using the Intel®
 Introduction Introduction  Definition of Operating System Definition of Operating System  Abstract View of OperatingSystem Abstract View of OperatingSystem.
OpenCL Introduction A TECHNICAL REVIEW LU OCT
CS 350 Operating Systems & Programming Languages Ethan Race Oren Rasekh Christopher Roberts Christopher Rogers Anthony Simon Benjamin Ramos.
Orion Granatir Omar Rodriguez GDC 3/12/10 Don’t Dread Threads.
Evaluation of a DAG with Intel® CnC Mark Hampton Software and Services Group CnC MIT July 27, 2010.
IBIS-AMI and Direction Indication February 17, 2015 Updated Feb. 20, 2015 Michael Mirmak.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
K-12 Blueprint Overview March An Overview The K-12 Blueprint offers resources for education leaders involved.
Intel® Education Learning in Context: Concept Mapping Intel Solutions Summit 2015, Dallas, TX.
Legal Notices and Important Information Intel processor numbers are not a measure of performance. Processor numbers differentiate features within each.
Enterprise Platforms & Services Division (EPSD) JBOD Update October, 2012 Intel Confidential Copyright © 2012, Intel Corporation. All rights reserved.
Intel Confidential – For Use with Customers under NDA Only Revision - 01 Legal Disclaimer INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL®
IBIS-AMI and Direction Decisions
IBIS-AMI and Direction Indication February 17, 2015 Michael Mirmak.
Copyright © 2006 Intel Corporation. WiMAX Wireless Broadband Access: The World Goes Wireless Michael Chen Director of Product & Platform Marketing Group.
Copyright © 2008 Intel Corporation. All rights reserved. Intel Delivering Leadership HPC Technology – today and tomorrow – …for Grids …for Grids Sept 22th,
Recognizing Potential Parallelism Introduction to Parallel Programming Part 1.
1 Optimizing compiler tools and building blocks project Alexander Drozdov, PhD Sergey Novikov, PhD.
The Drive to Improved Performance/watt and Increasing Compute Density Steve Pawlowski Intel Senior Fellow GM, Architecture and Planning CTO, Digital Enterprise.
Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 1 How Does The Intel® Parallel.
Copyright © 2011 Intel Corporation. All rights reserved. Openlab Confidential CERN openlab ICT Challenges workshop Claudio Bellini Business Development.
Boxed Processor Stocking Plans Server & Mobile Q1’08 Product Available through February’08.
 Programming - the process of creating computer programs.
INTEL CONFIDENTIAL Intel® Smart Connect Technology Remote Wake with WakeMyPC November 2013 – Revision 1.2 CDI/IBP #:
Tuning Threaded Code with Intel® Parallel Amplifier.
1 Game Developers Conference 2008 Comparative Analysis of Game Parallelization Dmitry Eremin Senior Software Engineer, Intel Software and Solutions Group.
Chapter Goals Describe the application development process and the role of methodologies, models, and tools Compare and contrast programming language generations.
INTRO. To I.T Razan N. AlShihabi
Software and Communication Driver, for Multimedia analyzing tools on the CEVA-X Platform. June 2007 Arik Caspi Eyal Gabay.
TLDK Transport Layer Development Kit
Models for Resources and Management
Using Parallelspace TEAM Models to Design and Create Custom Profiles
Resource Management in OGSA
Testing of Heterogeneous Multi-Core Embedded Systems
Chapter 1 Introduction.
Integrating with Dynamics 365
BLIS optimized for EPYCTM Processors
Computer Engg, IIT(BHU)
Chapter 1 Introduction.
Introduction to Operating System (OS)
Introduction CSE 1310 – Introduction to Computers and Programming
Chapter 3: Windows7 Part 1.
The Intel Security Group’s Agile SDL Harold A
A Proposed New Standard: Common Privacy Vulnerability Scoring System (CPVSS) Jonathan Fox, Privacy Office/PDIT Harold A. Toomey, PSG/ISecG Jason M. Fung,
A Case for Richer Cross-layer Abstractions: Bridging the Semantic Gap with Expressive Memory Nandita Vijaykumar Abhilasha Jain, Diptesh Majumdar, Kevin.
Compiler Back End Panel
Compiler Back End Panel
Compiler Front End Panel
12/26/2018 5:07 AM Leap forward with fast, agile & trusted solutions from Intel & Microsoft* Eman Yarlagadda (for Christine McMonigal) Hybrid Cloud – Product.
Ideas for adding FPGA Accelerators to DPDK
Virtio/Vhost Status Quo and Near-term Plan
By Vipin Varghese Application Engineer (NCSD)
Chapter 7 –Implementation Issues
Back End Compiler Panel
Presentation transcript:

Many-core Software Development Platforms Michael McCool Software Architect, Intel Corporation 9/20/2018

Background Speaker originally RapidMind’s Chief Scientist RapidMind acquired by Intel in August 2009 … speaker now Software Architect in SSG/DPD/PPL RapidMind platform still available and supported Technology convergence with Ct platform underway Eventual integration into Intel software products Will address “category” of product: Many-core Software Development Platforms My own views… 9/20/2018

What is a Parallel Platform? Goals: support high-intensity parallel computations on multi-core and many-core processors while providing portability, ease of use, abstraction, and safety-by-default. Key technologies that allow both high-level abstractions and performance portability: Dynamic code generation: ISA independence, architectural adaptation, workload adaptation Embedded interface: looks like a library, acts like a compiler; allows abstraction with minimal penalty 9/20/2018

Panel Questions… Language support Portable performance optimization Heterogeneous cores Tools Libraries 9/20/2018

1. Language support “Platform” approach makes it possible to embed support in an existing compiler Can use existing IDEs and development tools Using platform is as easy as including a header file and linking to a library Kernel code is “reoptimized” by dynamic compiler, and so can adapt to specific ISA, system architecture, and workload First target is C++ But general idea can apply to any language even scripting languages Abstraction in C++ can be used to organize code run-time costs avoided Semantics based on “structured patterns” 9/20/2018

2. Portable performance optimization Performance comes from multiple parallelism mechanisms Cores Vector instructions Functional units, pipelines, prefetching, hyperthreading…. Instruction sets and memory architectures can vary Platform approach can adapt to these: Architectural parameters such as vector widths and number of cores are abstracted away. Dynamic code generation allows automatic or user-directed adaptation, ISA independence. Dynamic code generation also enables advanced techniques such as auto-tuning. 9/20/2018

3. Heterogeneous cores First goal: performance portability Get the best performance from each core possible Issues: numerical exactness, determinism Same programming model, but manual core assignment Desirable (?): automatic core assignment Optimize for throughput? Optimize for latency? Optimize for power? Dynamic or static core assignment? Need to take costs into account Asymptotic scalability: serial/parallel algorithms Data transfer costs Need to take capacities into account Local memory/cache sizes 9/20/2018

4. Tools What would be desirable: Debugging: Performance: Development: Design out common classes of errors Avoid race conditions, deadlock by construction Functional debugging via serial equivalence Visualizations, not just single-stepping Performance: Access to low-level internal performance measurements Visualizations  leading to tuning actions Development: Automatic identification of opportunities, patterns, hazards 9/20/2018

5. Libraries Three categories: Serial libraries: Native “foreign function” interface needed Reuse of existing binary code Parallel execution in local state managed by platform Parallel libraries, coexistence: O/S manages threads and resource allocation Facilities for efficiently sharing and moving data Parallel libraries, integration: Depends on shared standards for task and resource management 9/20/2018

Legal Disclaimer http://intel.com/software/products INFORMATION IN THIS DOCUMENT IS PROVIDED “AS IS”. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO THIS INFORMATION INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Performance tests and ratings are measured using specific computer systems and/or components and reflect the approximate performance of Intel products as measured by those tests. Any difference in system hardware or software design or configuration may affect actual performance. Buyers should consult other sources of information to evaluate the performance of systems or components they are considering purchasing. For more information on performance tests and on the performance of Intel products, reference www.intel.com/software/products. Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and other countries. *Other names and brands may be claimed as the property of others. Copyright © 2009. Intel Corporation. http://intel.com/software/products