Oneapi Single Programming Model to Deliver Cross-Architecture Performance Industry Initiative, Intel® Oneapi Beta Products
Total Page:16
File Type:pdf, Size:1020Kb
oneAPI Single Programming Model to Deliver Cross-Architecture Performance Industry initiative, Intel® oneAPI Beta Products Edmund Preiss One Intel Software & Architecture (OISA) Organization Refer to software.intel.com/articles/optimization- notice for more information regarding performance & optimization choices in Intel software products. Copyright ©, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Programming Challenges for Multiple Architectures Application Workloads Need Diverse Hardware Scalar Vector Matrix Spatial Growth in specialized workloads Middleware / Frameworks Variety of data-centric hardware required No common programming language or APIs Language & Libraries Inconsistent tool support across platforms XPUs Each platform requires unique software investment CPU GPU FPGA Other accel. Refer to software.intel.com/articles/optimization- notice for more information regarding performance & optimization choices in Intel software products. Copyright ©, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. 1 introducing oneapi Application Workloads Need Diverse Hardware Scalar Vector Matrix Spatial Unified programming model to simplify development across diverse architectures Middleware / Frameworks Unified and simplified language and libraries for expressing parallelism Industry Intel Uncompromised native high-level language performance Initiative Product Based on industry standards and open specifications XPUs Interoperable with existing HPC programming models CPU GPU FPGA Other accel. Refer to software.intel.com/articles/optimization- notice for more information regarding performance & optimization choices in Intel software products. Copyright ©, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. 2 ONEAPI industry initiative alternative to single-vendor solution Application Workloads Middleware / Frameworks oneAPI Industry Specification A standards based cross-architecture language, DPC++, based on C++ and SYCL Direct Programming API-Based Programming Powerful APIs designed for acceleration of key domain-specific functions Data Parallel C++ Libraries Low-level hardware interface to provide a hardware abstraction layer to vendors Low-Level Hardware Interface Open standard to promote community and XPUs industry support Enables code reuse across architectures and vendors CPU GPU FPGA Other accel. Visit oneapi.com for more details Some capabilities may differ per architecture and custom-tuning will still be required. Refer to software.intel.com/articles/optimization- notice for more information regarding performance & optimization choices in Intel software products. Copyright ©, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. 3 Data parallel C++ Standards-based, Cross-architecture Language Parallelism, productivity and performance for CPUs and Accelerators Direct Programming: Allows code reuse across hardware targets, while permitting custom tuning for a Data Parallel C++ specific accelerator Open, cross-industry alternative to single architecture proprietary language Community Extensions Based on ISO C++ and Khronos SYCL Delivers C++ productivity benefits, using common and familiar C and C++ constructs Khronos SYCL Incorporates SYCL from the Khronos Group to support data parallelism and heterogeneous programming Community Project to drive language enhancements ISO C++ Extensions to simplify data parallel programming Open and cooperative development for continued evolution The open source and Intel beta DPC++ compiler currently supports hardware including Intel CPUs, GPUs, and FPGAs. Codeplay announced a DPC++ compiler that targets Nvidia GPUs. Refer to software.intel.com/articles/optimization- notice for more information regarding performance & optimization choices in Intel software products. Copyright ©, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. 4 Powerful api libraries API-based Programming: Libraries DPC++ Designed for acceleration of key domain-focused functions Math Threading Library Analytics/ DNN ML Comm Each can be custom-coded for any platform to deliver ML uncompromised performance Video Processing Custom-tuning for each architecture will still be required. Refer to software.intel.com/articles/optimization- notice for more information regarding performance & optimization choices in Intel software products. Copyright ©, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. 5 OneAPI initiative –Ecosystem support UNIVERSITY OF Indian Institute of CAMBRIDGE Technology Delhi These organizations support the oneAPI initiative ‘concept’ for a single, unified programming model for cross -architecture development. It does not indicate any agreement to purchase or use of Intel’s products. *Other names and brands may be claimed as the property of others. Intel‘s oneAPI Procucts intel oneAPI Toolkits and Libraries Optimization Notice Copyright © 2019, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. What’s Inside Intel® Parallel Studio XE Software Development Tool Suite - for HPC and Enterprise and ISVs Cluster Edition Composer Edition Professional Edition BUILD ANALYZE SCALE Compilers & Libraries Analysis Tools Cluster Tools Intel® Math Kernel Library Intel® VTune™ Amplifier Intel® MPI Library C / C++, Performance Profiler Message Passing Interface Library Intel® Data Analytics Fortran Acceleration Library Compilers Intel® Inspector Intel® Trace Analyzer & Collector Intel Threading Building Blocks Memory & Thread Debugger MPI Tuning & Analysis C++ Threading Intel® Advisor Intel® Cluster Checker Intel® Integrated Performance Primitives Vectorization Optimization Cluster Diagnostic Expert System Image, Signal & Data Processing Thread Prototyping & Flow Graph Analysis Intel® Distribution for Python* High Performance Python Operating System: Windows*, Linux*, MacOS1* Intel® Architecture Platforms 1Available only in the Composer Edition. 8 Next Generation of Commercial Intel® SW Development Tool Products Intel oneAPI supports Intel XPUs (Intel CPUs, Intel discrete GPUs , Intel FPGAs , ...) Intel® ONEAPI products(beta) Application Workloads Optimized Middleware & Frameworks Intel® oneAPI Product Distributed through a core toolkit and a complementary set of add-on Direct API-Based domain-specific toolkits Programming Programming Compatibility Analysis & tool Data Parallel Debug Tools Includes DPC++ compatibility tool for Libraries C++ code migration along with advanced performance analysis and debug tools Low-Level Hardware Interface Beta Available Now XPUs CPU GPU FPGA Other accel. Visit software.intel.com/oneapi for more details Some capabilities may differ per architecture and custom-tuning will still be required. Other accelerators to be supported in the future. Optimization. Notice Copyright © 2019, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. 10 Intel® ONEAPI toolkits(beta) Toolkits Tailored to Your Needs: Native Code | Data Scientists & AI | Systems Native Code Developers, start with the Intel® oneAPI Base Toolkit. Intel® oneAPI Base Toolkit A core set of high-performance tools for building Data Parallel C++ applications and oneAPI library based applications Learn More Add-on Domain-specific Toolkits for Specialized Workloads Intel® oneAPI HPC Toolkit Intel® oneAPI IoT Toolkit Intel® oneAPI DL Framework Intel® oneAPI Rendering Developer Toolkit Toolkit Deliver fast C++, Fortran, & OpenMP* Building high-performing, efficient, Build deep learning frameworks or Create high-performance, high- applications that scale reliable solutions that run at the customize existing ones so fidelity visualization applications network’s edge applications run faster Learn More Learn More Learn More Learn More Toolkits Powered by oneAPI: Data Scientists & AI Toolkits Systems To olkit Intel® AI Analytics Toolkit Intel® Distribution of OpenVINO™ Intel® System Bring-Up Toolkit Accelerate E2E machine learning & Toolkit data science pipelines with optimized Deploy high performance inference & Debug & tune systems for power & DL frameworks & high-performing applications from edge to cloud performance Python libraries. (production-level tool) Learn More Learn More Learn More Refer to software.intel.com/articles/optimization- notice for more information regarding performance & optimization choices in Intel software products. Copyright ©, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. 11 Details about intel® oneapi toolkits(beta) intel® oneapi base toolkit Refer to software.intel.com/articles/optimization- notice for more information regarding performance & optimization choices in Intel software products. Copyright ©, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Intel® oneAPI Base Toolkit(beta) Intel® oneAPI Base Toolkit Core set of frequently used tools and libraries for developing high-performance applications across Direct Programming API-Based Programming Analysis & debug Tools diverse architectures—CPU, GPU, FPGA. Intel® oneAPI DPC++ Intel® oneAPI Intel® Compiler DPC++ Library VTune™ Profiler Who Uses It? Intel® DPC++ Intel® oneAPI Math Kernel Library Intel® Advisor A broad