Overview of Data Fitting Component in Intel Math Kernel Library (Intel MKL) Intel Corporation



Similar documents
Intel Media SDK Library Distribution and Dispatching Process

Scaling up to Production

Intel Platform and Big Data: Making big data work for you.

Towards OpenMP Support in LLVM

The ROI from Optimizing Software Performance with Intel Parallel Studio XE

High Performance Computing and Big Data: The coming wave.

INTEL PARALLEL STUDIO XE EVALUATION GUIDE

Intel Media Server Studio - Metrics Monitor (v1.1.0) Reference Manual

Three Paths to Faster Simulations Using ANSYS Mechanical 16.0 and Intel Architecture

Extended Attributes and Transparent Encryption in Apache Hadoop

Keys to node-level performance analysis and threading in HPC applications

Intel Cyber Security Briefing: Trends, Solutions, and Opportunities. Matthew Rosenquist, Cyber Security Strategist, Intel Corp

Finding Performance and Power Issues on Android Systems. By Eric W Moore

Intel Media Server Studio Professional Edition for Windows* Server

Improve Fortran Code Quality with Static Analysis

Implementation and Performance of AES-NI in CyaSSL. Embedded SSL

The Foundation for Better Business Intelligence

Accomplish Optimal I/O Performance on SAS 9.3 with

CLOUD SECURITY: Secure Your Infrastructure

* * * Intel RealSense SDK Architecture

Intel and Qihoo 360 Internet Portal Datacenter - Big Data Storage Optimization Case Study

Maximize Performance and Scalability of RADIOSS* Structural Analysis Software on Intel Xeon Processor E7 v2 Family-Based Platforms

Vendor Update Intel 49 th IDC HPC User Forum. Mike Lafferty HPC Marketing Intel Americas Corp.

Cloud-based Analytics and Map Reduce

XDB Intel System Debugger 2015 Overview Training. Robert Mueller-Albrecht, TCE, SSG DPD ECDL

Resetting USB drive using Windows Diskpart command

Large-Data Software Defined Visualization on CPUs

Big Data for Big Science. Bernard Doering Business Development, EMEA Big Data Software

Benchmarking Cloud Storage through a Standard Approach Wang, Yaguang Intel Corporation

Recovery BIOS Update Instructions for Intel Desktop Boards

Intel SSD 520 Series Specification Update

Accelerating Business Intelligence with Large-Scale System Memory

Intel Perceptual Computing SDK My First C++ Application

Intel Service Assurance Administrator. Product Overview

CT Bus Clock Fallback for Linux Operating Systems

Intel Software Guard Extensions(Intel SGX) Carlos Rozas Intel Labs November 6, 2013

Hetero Streams Library 1.0

Intel Many Integrated Core Architecture: An Overview and Programming Models

Intel Entry Storage System SS4000-E

Natural cubic splines

Accelerating Business Intelligence with Large-Scale System Memory

Software License Monitoring

OpenMP* 4.0 for HPC in a Nutshell

A Case Study of an Android* Client App Using Cloud-Based Alert Service

Intel Cloud Builder Guide: Cloud Design and Deployment on Intel Platforms

Intelligent Business Operations

November 16, Interpolation, Extrapolation & Polynomial Approximation

the points are called control points approximating curve

System Image Recovery* Training Foils

Intel Server Raid Controller. RAID Configuration Utility (RCU)

Fast, Low-Overhead Encryption for Apache Hadoop*

Intel Modular Server System MFSYS25

How To Install An Intel System Studio 2015 For Windows* For Free On A Computer Or Mac Or Ipa (For Free)

Intel Solid-State Drive Pro 2500 Series Opal* Compatibility Guide

Processing Multiple Buffers in Parallel to Increase Performance on Intel Architecture Processors

SDN. WHITE PAPER Intel Ethernet Switch FM6000 Series - Software Defined Networking. Recep Ozdag Intel Corporation

Intel Solid-State Drives Increase Productivity of Product Design and Simulation

Version Rev. 1.0

Instructions for Recovery BIOS Update

Intel Cyber-Security Briefing: Trends, Solutions, and Opportunities

Improve Fortran Code Quality with Static Security Analysis (SSA)

Head-Coupled Perspective

Floating-point control in the Intel compiler and libraries or Why doesn t my application always give the expected answer?

Enhancing McAfee Endpoint Encryption * Software With Intel AES-NI Hardware- Based Acceleration

Intel Identity Protection Technology (IPT)

Intel Media SDK Features in Microsoft Windows 7* Multi- Monitor Configurations on 2 nd Generation Intel Core Processor-Based Platforms

Power Benefits Using Intel Quick Sync Video H.264 Codec With Sorenson Squeeze

Upgrading Intel AMT 5.0 drivers to Linux kernel v2.6.31

Evaluating Intel Virtualization Technology FlexMigration with Multi-generation Intel Multi-core and Intel Dual-core Xeon Processors.

docs.rackspace.com/api

Intel Core i5 processor 520E CPU Embedded Application Power Guideline Addendum January 2011

Device Management API for Windows* and Linux* Operating Systems

Overview

Intel Desktop Board DG43RK

with PKI Use Case Guide

RAID Basics Training Guide

White Paper. ACPI Based Platform Communication Channel (PCC) Mechanism. InSarathy Jayakumar Intel Corporation

INTEL PARALLEL STUDIO EVALUATION GUIDE. Intel Cilk Plus: A Simple Path to Parallelism

Video Encoding on Intel Atom Processor E38XX Series using Intel EMGD and GStreamer

SAP * Mobile Platform 3.0 Scaling on Intel Xeon Processor E5 v2 Family

Intel Cloud Builders Guide to Cloud Design and Deployment on Intel Platforms

Software Solutions for Multi-Display Setups

Software Evaluation Guide for Autodesk 3ds Max 2009* and Enemy Territory: Quake Wars* Render a 3D character while playing a game

Intel Core TM i3 Processor Series Embedded Application Power Guideline Addendum

Intel HTML5 Development Environment. Article - Native Application Facebook* Integration

Intel Identity Protection Technology Enabling improved user-friendly strong authentication in VASCO's latest generation solutions

Intel NetStructure Host Media Processing Release 2.0 for Windows

iscsi Quick-Connect Guide for Red Hat Linux

Database lifecycle management

Device Management API for Windows* and Linux* Operating Systems

Transcription:

Overview of Data Fitting Component in Intel Math Kernel Library (Intel MKL) Intel Corporation

Agenda 1D interpolation problem statement Computation flow Application areas Data fitting in Intel MKL Data fitting API and usage model Data fitting performance Data fitting in applications 2 Intel Confidential

1D Interpolation Problem Statement For given table function {x(i), y(i)}, i=1,,n x(i): breakpoints in ascending order y(i): values Approximate function f(x): f(x(i))=y(i) Evaluate value f(t(j)) and derivative f (t(j)) t(j), j=1,,m: sites fall between or outside of interpolation interval [x(1),x(n)] Evaluate integral of f(x) over interval [a(j),b(j)) Integration limits a(j) and b(j) fall between or outside of interpolation interval [x(1),x(n)], j=1,,m 3

Spline Based 1D Interpolation What is a spline? Piecewise polynomial functions g(x) := Pj(x), x belongs to [x(j), x(j+1)) Pj(x) - polynomial of degree k on the interval [x(j), x(j+1)) smooth up to order q at x(j) if derivatives up to order q for P(j-1) and Pj at x(j) exist and are equal Spline based methods are preferable over polynomial interpolation Avoiding Runge s phenomenon: Interpolation error increases when the order of the polynomial increases 4

Computation Flow Construct spline of given order for n break points x(i) Compute value of spline and/or its derivative at m interpolation sites t(j) Find interval [x(i), x(i+1)) containing t(j) Compute value of P(i) polynomial at t(j) Integration has similar computational flow Cell search is the key building block 5

Application Areas Data analysis and analytics - Approximation of statistical estimates like histogram Manufacturing - Geometrical modeling - B-spline recurrence relations were used at Boeing,, five hundred million times a day Carl de Boor, On Wings of Splines Newsletter of Institute for Mathematical Sciences, ISSUE 5 2004 Energy - Surface approximation ISV Life sciences - Molecular dynamics simulation 6

Data Fitting in Intel MKL Intel MKL Data Fitting SW solution for Spline construction Spline based interpolation and computation of derivatives Spline based integration Cell Search Current version of Intel MKL supports 1- dimensional data fitting computations 7

Spline Construction and Boundary/Internal Conditions Spline Spline type Boundary conditions Internal conditions Linear Not-a-knot 1 st derivative Quadratic Default, Subbotin Free-end 2 nd derivative Cubic Default, Natural, Hermite, Bessel, Akima 1 st derivative at the left/right endpoint Knot array Look-up 2nd derivative at the left/right endpoint Stepwise constant Continuous-right, Continuous-left Periodic Userdefined Function value at mid point of first cell Rich collection of splines that support different boundary or/and internal conditions 8

Interpolation, Extrapolation, and Integration Feature Computation of values, derivatives of arbitrary order Computation of integrals Comment Support of a priori information about structure of partition, and/or interpolation sites In addition to default spline based interpolation library supports user-defined functions to re-define default spline based computations on interpolation or/and extrapolation intervals re-define cell search functions Option to get results of cell search simultaneously with interpolation User defined threading-friendly API Support of a priori info about structure of partition, and/or integration limits In addition to default spline based interpolation library supports user-defined functions to re-define default integration on interpolation or/and extrapolation intervals re-define cell search functions User defined threading-friendly API Flexibility in support of various usage models for spline based computations 9

Cell Search Feature Computation of cell indices containing given sites Comment Support of a priori information about structure of partition, and/or interpolation sites In addition to default cell search computation library supports userdefined function to re-define cell search functions User defined threading-friendly API Flexibility in support of various usage models for cell search 10

Data Fitting API and Usage Model Create a task Modify the task parameters. Step Code example Comment Perform Data Fitting spline-based computations Destroy the task or tasks status = dfdnewtask1d( &task, nx, x, xhint, ny, y, yhint ); status = dfdeditppspline1d( task, s_order, c_type, bc_type, bc, ic_type, ic, scoeff, scoeffhint ); status = dfdinterpolate1d(task, estimate, method, nsite, site, sitehint, ndorder, dorder, datahint, r, rhint, cell ); status = dfdeletetask( &task ); You can call the Data Fitting function several times to create multiple tasks You may reiterate steps 2-3 as needed 11

Cubic Spline Interpolation Example This example can also be found in the online Intel MKL Reference Manual (link) /* Initialize the partition and set their values */...... /* Create a Data Fitting task */ status = dfdnewtask1d( &task, nx, x, xhint, ny, y, yhint ); /* Initialize spline parameters */ s_order = DF_PP_CUBIC; /* Spline is of the fourth order (cubic spline). */ s_type = DF_PP_BESSEL; /* Spline is of the Bessel cubic type. */ bc_type = DF_BC_NOT_A_KNOT; bc = NULL; /* Use not-a-knot boundary conditions */ /* Set spline parameters in the Data Fitting task */ status = dfdeditppspline1d( task, s_order, s_type, bc_type, bc, ic_type, ic, scoeff, scoeffhint ); /* Construct a cubic Bessel spline: */ status = dfdconstruct1d( task, DF_PP_SPLINE, DF_METHOD_STD ); /* Initialize interpolation parameters and set site values */... /* Compute the sline values at site(i), i=0,..., nsite-1 and place the results to array r */ status = dfdinterpolate1d(task, DF_INTERP, DF_METHOD_STD,nsite, site, sitehint, ndorder, &dorder, datahint, r, rhint, cell ); /* De-allocate Data Fitting task resources */ status = dfdeletetask( &task ); 12

Cell Search Example This example can also be found in the online Intel MKL Reference Manual (link) /* Initialize a uniform partition */... /* Initialize function parameters; in cell search, function values are not necessary */ ny = 0; y = NULL; yhint = DF_NO_HINT; /* Create a Data Fitting task */ status = dfdnewtask1d( &task, nx, x, xhint, ny, y, yhint );... /* Initialize interpolation (cell search) parameters */ nsite = NSITE; /* Set sites in the ascending order */... sitehint = DF_SORTED_DATA; /* Sites are provided in the ascending order. */ datahint = DF_NO_APRIORI_INFO; /* No additional information about breakpoints/sites is provided.*/ /* Compute indices of the cells that contain interpolation sites. Results are stored in cell(i), i=0,...,nsite-1 */ status = dfsearchcell1d( task, DF_METHOD_STD, nsite, site, sitehint, datahint, cell ); /* Delete task and de-allocating resources */ status = dfdeletetask( &task ); 13

Data Fitting Performance: Interpolation Construction of natural cubic spline with free end boundary conditions for function defined on uniform partition. Partition size is 1280. Spline-based values and first derivatives are computed. 14

16

Legal Disclaimer & Optimization Notice 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. Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. Copyright, Intel Corporation. All rights reserved. Intel, the Intel logo, Xeon, Core, VTune, and Cilk are trademarks of Intel Corporation in the U.S. and other countries. Optimization Notice Intel s compilers may or may not optimize to the same degree for non-intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice. Notice revision #20110804 17 10/11/2012 Intel Confidential