Intel® Integrated Performance Primitives within Intel® System Studio 2015 Intel® Integrated Performance Primitives Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. What you will learn from this slide deck •Intel® IPP in-depth technical training for System & Application code running Linux*, Android* & Tizen™ •In-depth explanation of specifics for each development environment mentioned above. Note: only Android* has specific instructions for this product •Please see subsequent slide decks for in-depth technical training on other components 3 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Intel® Integrated Performance Primitives Optimized for Performance & Power Efficiency • Highly tuned LTE (MMSE MIMO) routines for communications • Highly optimized using SSSE3, SSE, and AVX, AVX2 instruction sets • Performance beyond what an optimized compiler produces alone Intel Engineered & Future Proofed to Shorten Development Time • Ready-to-use Wide Range of Cross Platform & OS Functionality • Thousands of highly optimized signal, data and media functions • Fully optimized for current and past processors • Broad embedded target support • Save development, debug, and maintenance time • Supports Intel® Quark, Intel® Atom™, Core™, and Xeon® processors • Code once now, receive future optimizations later Performance building blocks to boost Embedded and Mobile system performance 4 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Intel® Integrated Performance Primitives Spend More Time Differentiating, Less Time Optimizing Optimized Function Library Many Functions • 2D Image processing • 1D Signal Processing • Enterprise Data Goals • Raw Performance • Platform Throughput • Power Efficiency Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Intel IPP - overview Application Source Code Intel IPP Usage Code Samples Free Code Samples • • • • • Sample video/audio/speech codecs Image processing and JPEG Signal processing Data compression .NET and Java integration Rapid Application Development API calls Intel IPP Library C/C++ API Cross-platform API • • • • • • Image processing Signal processing Image color conversion JPEG / JPEG2000 Video coding Audio coding • • • • Data Compression Data Integrity Matrix mathematics Vector mathematics Compatibility and Code Re-Use Static/Dynamic Link Intel IPP Processor-Optimized Binaries ProcessorOptimized Implementation • • • • • • • Intel® Core™ i7 Processors Intel® Atom™ Processors Intel® Core™ 2 Duo and Core™ Extreme Processors Intel® Core™ Duo and Core™ Solo Processors Intel® Pentium® D Dual-Core Processors Intel® Xeon® 64-bit Dual-Core Processors Intel® Xeon® DP and MP Processors Outstanding Performance Intel Confidential Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Intel® Integrated Performance Primitives Image/Signal Domain Details Image/Frame Processing 2D Operations • Filters/Transforms • Convolution,Morphology,Threshold) • Fourier Transforms (FFT, etc.), Resize, Rotate, Mirror, • Computer Vision • Canny, Optical Flow, Segmentation, Haar Classifiers • Color Conversion Signal • RGB/BGR <-> YUV/YCbCr Processing 1D Operations • Filters/Transforms • Fourier Transforms (FFT, etc.), Finite Impulse Response (FIR), Infinite Impulse Response (IIR), Threshold, Convolution, Median • Statistics • Mean, StdDev, NormDiff, Sum, MinMax Intel Confidential Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Intel® Integrated Performance Primitives Image Resize Performance vs. OpenCV Intel® IPP provides faster resize Optimization Notice Intel Confidential Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Intel® Integrated Performance Primitives Pixel Convolution Performance vs. OpenCV Intel® IPP provides faster filter operations Optimization Notice Intel Confidential Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Code Example int main(int argc, char **argv) int ROI_offset_elements = (IPPanchor.y * src1step) + IPPanchor.x; { ippInit(); Mat kernel(parms.k, parms.k, CV_32F); status = ippiFilterBorderInit_32f( (Ipp32f*)kernel.data, kernel=1.0/(parms.k*parms.k); kernelsize, ipp8u, 1, ippRndNear, Spec ); Mat imgSrc(img_h, img_w, CV_8UC1); Mat imgDst(img_h, img_w, CV_8UC1); Ipp8u borderValue = 0; int src1step=(int)imgSrc.step1(); int dst1step=(int)imgSrc.step1(); ippiFilterBorder_8u_C1R( //set up IPP Filter imgSrc.data + ROI_offset_elements, src1step, IppiPoint IPPanchor={parms.k/2,parms.k/2}; imgDst.data + ROI_offset_elements, dst1step, IppiSize kernelsize={parms.k,parms.k}; roiSize, ippBorderRepl, &borderValue, IppiSize roiSize={img_w-kernelsize.width, Spec, Buffer ); img_h-kernelsize.height}; int SpecSize, BufferSize; ippFree(Spec); ippiFilterBorderGetSize(kernelsize,roiSize, ippFree(Buffer); ipp8u,ipp32f,1,&SpecSize,&BufferSize); IppiFilterBorderSpec *Spec = return 0; (IppiFilterBorderSpec*)ippsMalloc_8u(SpecSize); Ipp8u *Buffer = (Ipp8u*)ippsMalloc_8u(BufferSize); Intel Confidential Optimization Notice } Note common pattern: GetSize, Init, Operation 10 Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Why are the functions fast? Intel® IPP functions exploit the instruction set architecture by – processing multiple data elements in parallel – Streaming SIMD Extensions like SSE4 – processing data in larger chunks with each instruction Intel® IPP functions exploit the processor micro architecture by – pre-fetching data and avoiding cache blocking – resolving data and trace cache misses – avoiding branch mispredictions Intel Confidential – Internal Use Only Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. 11 Intel® IPP function naming convention and usage Function names are easy to understand Name Elements Description Examples Indicates the functional data type in 1D , 2D and Matrix ipps, ippi, ippm Prefix Base Name Abbreviation for the core operation Add, FFTFwd, LuDecomp Data Type Describes bit depth and sign 8u, 32f, 64f Indicates data layout and scaling ISfs, C1R, P Execution mode directly indicate the purpose of the function via distinct elements each element has a fixed number of predefined values ippiCopy_8u_C1MR Prefix Base Name Data Type Execution Mode Each function performs a particular operation on a known type of data in a specific mode 12 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Intel® IPP libraries components Header files, Dynamic and Static Libraries are sorted by Domains. The dispatcher libraries and SSE-based optimized libraries are included in both Dynamic and Static Libraries For example: Domains Header Dynamic Linking Static Linking ippvc.lib, Ippvc_l.lib, ippvc.dll Ippvc_t.lib File Video Coding (vc) ippvc.h 13 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Function implementation Intel IPP uses codes optimized for various central processing units (CPUs). Dispatching refers to detection of your CPU and selecting the corresponding Intel IPP binary. For example, ippiv8-7.0.dll in the \redist\ia32\ipp directory, reflects the imaging processing libraries optimized for the Intel(R) Core(TM) 2 Duo processors. Platform Identifier IA-32 Intel® Architecture Intel® 64 (Intel® EM64T) architecture Optimization px C-optimized for all IA-32 processors v8 Optimized for processors with Intel® Supplemental Streaming SIMD Extensions 3 (Intel SSSE3) p8 Optimized for processors with Intel® Streaming SIMD Extensions 4.1 (Intel SSE4.1) s8 Optimized for the Intel® AtomTM processor mx C-optimized for processors with Intel® 64 instructions set architecture u8 Optimized for 64-bit applications on processors with Intel® Supplemental Streaming SIMD Extensions 3 (Intel SSE3) y8 Optimized for 64-bit applications on processors with Intel® Streaming SIMD Extensions 4.1 (Intel SSE4.1) n8 Optimized for the Intel® AtomTM processor e9 Optimized for processors that support Intel® Advanced Vector Extensions instruction set Intel ® IPP gets updated with these libs to match the latest CPU features 14 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Threading control flexibility in Intel® IPP Intel® IPP are thread-safe. It supports threading above it: Intel® IPP threading functions are self-contained, which do not necessarily require application level threading to use OpenMP* Intel® IPP threading can be disabled or fine-tuned by applications In a case that application needs fine-grained threading control Call the function ippSetNumThreads with argument 1 Use static library to avoid OpenMP dependency Use completely single thread ideal for kernel development 15 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Threading in Intel® IPP functions Many computational intensive functions are threaded Domains Threaded Functions ippi 1346 Many (~2480) of Intel IPP functions are ippr 11 threaded. ipm 527 ipps 586 Where it improves performance Usage model: Intel IPP threading Control ippSetNumThreads Intel IPP functions are threaded when it maximizes performance ippGetNumThreads 16 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Threading in application 17 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Threading inside Intel® IPP 18 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Intel® IPP - linking options Dynamic linking using the run-time dynamic link libraries Static linking with dispatching by using emerged and merged static libraries Static linking without automatic dispatching using merged static libraries Dynamically building your own, custom, dynamic link library What are the main differences? Code size(application executable or application installation package) Distribution method Processor coverage Application executes in kernel mode? 19 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Dynamic linking Dynamic linking is the simplest method and the most commonly used. It takes full advantage of the dynamic dispatching mechanism in the dynamic link libraries (DLLs) To dynamically link with Intel ® IPP, follow these steps: 1. Include ipp.h in your application. This header includes the header files for all Intel IPP functional domains. 2. Use the normal Intel IPP function names when calling the functions. 3. Link corresponding domain import libraries. For example, if you use the function ippsCopy_8u, link to ipps.lib. 4. Make sure that the run-time libraries are on the executable search path at run time. Run the ippvars.bat from directory \ipp\bin to ensure that the application loads the appropriate processor-specific library. 20 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Static Linking with Dispatching To use the static linking libraries, you need to link to all required domain libraries ipp*_l.lib, adding ippcore_l.lib and libraries on which domain libraries depend (see next section below). The * denotes the appropriate function domain. If you want to use the Intel IPP functions threaded with the OpenMP*, you need to link to the threaded versions of the libraries ipp*_t.lib, ippcore_t.lib, and libiomp5md.lib. All domain-specific and core libraries are located in the \ipp\lib\<arch> directory. 21 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Static Linking without Dispatching Benefits Drawbacks Small executable size with support for only one •The executable is optimized for only one processor type processor type Suitable for kernel-mode/device-driver/ring-0 • Updates to processor-specific Suitable for a Web applet or a plug-in requiring very optimizations require rebuild and/or relink small file download and support for only one processor type Self-contained application executable that does not require the Intel IPP run-time DLLs Smallest footprint for application package Smallest installation package 22 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Custom Dynamic Linking Benefits •Drawbacks Run-time dispatching of processor-specific Application executable requires access to the Intel optimizations compiler specific run-time libraries that are delivered Reduced hard-drive footprint compared with Intel IPP with a full set of Intel IPP DLLs Developer resources are needed to create and Smallest installation package to maintain the custom DLLs accommodate use of some of the same Intel Integration of new processor-specific optimizations IPP functions by multiple applications requires rebuilding the custom DLL Not appropriate for kernel-mode/device-driver/ring-0 code 23 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Intel® IPP Supported Linkage Model - quick comparison Feature Dynamic Linkage Static Linkage with Dispatching Static Linkage without Dispatching Using Custom DLL Recompile & redistribute Release new processor-specific application Recompile & redistribute Processor Updates Automatic Optimization All processors All processors One processor All processors Build Link to stub static libraries Link to static libraries and static dispatchers Link to merged libraries Build separate DLL Calling Regular names Regular names Processor-specific names Regular names Distribution Distribute linked IPP dll No extra Distribution No extra distribution Distribute custom dll Total Binary Size Large Small Smallest Small Executable Size Smallest Small Small Smallest Kernel Mode No Yes Yes No Multi Threading Support Yes Yes, when linking with threaded static merged libraries No No Intel® IPP provides a lot of flexibility 10/25/2014 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. 24 Conclusion Application Levels Many Applications Take Multiple Levels of efforts to optimized for Algorithm Levels (Data flow level) threading Intel® IPP Samples Intel® IPP Libraries help you on primitives threading if your data allow Computational Kernel Intel® IPP Samples Intel® IPP Primitives Libraries Common Core Algorithms demonstrate how you can thread at the algorithm levels 25 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. References Intel® IPP Product Information http://www.intel.com/software/products/ipp Technical Issues http://premier.intel.com/ • • Self-help http://www.intel.com/software/products/ipp ( Click “Support Resource”) User Discussion Forum http://softwareforums.intel.com/ids/board?board.id=IPP 26 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Intel® Integrated Performance Primitives for Android* 27 Agenda • Overview • Intel® IPP Main features • Summary 28 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Intel® Performance Primitives -Overview Intel IPP Library C/C++ API • • • • • • • Essential function Cryptography Image processing Image color conversion JPEG / JPEG2000 Computer Vision Video coding Audio coding • • • • • • • • Data Compression Data Integrity Signal processing Matrix mathematics Vector mathematics String processing Speech coding Data Integrity Cross - platform Support Static/Dynamic Link Intel IPP Processor-Optimized Binaries ProcessorOptimized Implementation • • • • • • • Intel® Core™ i7 Processors Intel® Atom™ Processors Intel® Core™ 2 Duo and Core™ Extreme Processors Intel® Core™ Duo and Core™ Solo Processors Intel® Pentium® D Dual-Core Processors Intel® Xeon® 64-bit Dual-Core Processors Intel® Xeon® DP and MP Processors Rapid Development Outstanding Performance Intel® Integrated Performance Primitives (Intel® IPP) for Android* A library of pre-optimized image processing functions supporting Intel® smartphone and tablet platforms running Android OS. 29 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Intel® Performance Primitives (Intel® IPP) Highly optimized building blocks for image processing, signal processing, multimedia, audio, video, speech, computer vision Several domains contain the hand-tuned functions for Intel® Atom™ processors Highly Optimized Functions Key Function Domains • Image/Frame Processing • Signal Processing Optimization Goals • Raw Performance • Platform Throughput • Power Efficiency Optimization Notice Cross-Platform & Operating System Operating Systems • Windows* • Linux* • OS X* • Android* Platforms • Phone (Intel Atom) • Tablet (Intel Atom, Core) • Ultrabook™/PC (Intel® Core™) • Server (Intel® Xeon®) Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Low Level Optimized Functions Domains Functions Image Processing * Geometry transformations, such as resize/rotate * Operation on an image for edge detection, blurring, noise removal and etc for filter effect. * 2D Linear transforms FFT, DFT , DCT. * image statistics and analysis * Transforms: DCT, DFT, MDCT, Wavelet (both Haar and user-defined filter banks), Hilbert * Convolution, Cross-Correlation, Auto-Correlation, Conjugate Signal Processing * Filtering: IIR/FIR/Median filtering, Single/Multi-Rate FIR LMS filters * Other: Windowing, Jaehne/Tone/Traingle signal generation, Thresholding Vector Math * Logical, Shift, Conversion, Power, Root, Exponential, Logarithmic, Trigonometric, Hyperbolic, Erf, Erfc Matrix Math *Addition, Multiplication, Decomposition, Eigenvalues, Cross-product, transposition Support Functions * CPU Types, Optimized code dispatching, Memory Allocation IPP optimize the functions to match the latest CPU features synchronously Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Functions in Signal/Image Processing Applications Image/Frame Processing 2D Operations • Filters/Transforms •Convolution,Morphology,Threshold •Fourier Transforms (FFT, etc.), Resize, Rotate, Mirror • Computer Vision •Canny, Optical Flow, Segmentation, Haar Classifiers Radar • Color Signal Conversion Processing • RGB/BGR <-> YUV/YCbCr 1D Operations • Filters/Transforms •Fourier Transforms (FFT, etc.), DCT •Finite Impulse Response (FIR), IIR Threshold, Convolution, Median • Statistics •Mean, StdDev, NormDiff, Sum, MinMax Optimization Notice 32 Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Using Intel® IPP (1) •Intel IPP can be linked with native code: −Only static non-threaded libraries provided for Android* OS •Add Intel IPP functions into your source code 1. include the IPP header files in source. #include <ipp.h> 2. call ippInit() before using any other IPP functions. 3. call Intel IPP functions in your C/C++ source. #include <ipp.h> int helloipp() { ippInit(); …… ippsFilter_8u(pSrc, pDst, len); .. } 33 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Using Intel IPP (2) •Include Intel IPP libraries into the NDK building files 1. Copy IPP libraries and headers into the project folder (e.g. ./ipp) 2. Find Intel libraries required for the app. Check the “ Intel IPP Library Dependecies” article. 3. Add the required IPP libraries to the “jni/Android.mk” file: include $(CLEAR_VARS) Declare each IPP library in prebuilt library module LOCAL_MODULE := ipps LOCAL_SRC_FILES := ../ipp/lib/ia32/ipps.a include $(PREBUILT_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := ippcore LOCAL_SRC_FILES := ../ipp/lib/ia32/ippcore.a include $(PREBUILT_STATIC_LIBRARY) Add the header path and IPP libraries to the modules calling IPP 34 Optimization Notice include $(CLEAR_VARS) LOCAL_MODULE := HelloIPP LOCAL_SRC_FILES := HelloIPP.cpp LOCAL_STATIC_LIBRARIES := ipps ippcore LOCAL_C_INCLUDES := ../ipp/include include $(BUILT_SHARED_LIBRARY) Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Image Processing: FIR Filter void fir_filter(float* result, const float* input, const float kernel[], float delay[], int size, int N, int& index) { for (int n = 0; n < size; ++n) { int j = (index + n) % N; delay[j] = input[n]; float t = 0; ippsFIR_Direct_32f for (int i = 0; i < N; ++i) { t += kernel[i] * delay[j]; if (--j < 0) j = N - 1; } result[n] = t; (input, result, size, kernel, N, delay, &index)) } index = (index + size) % N; } 35 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. IPP Function Naming Convention Function names are easy to understand directly indicate the purpose of the function via distinct elements each element has a fixed number of pre-defined values ippiCopy_8u_C1MR Prefix Base Name Data Type Execution Mode Name Elements Description Examples Prefix Indicates the functional data domain in 1D , 2D, Matrix and 3D data processing. ipps, ippi, ippm, ippr. Base Name Abbreviation for the core operation Add, FFTFwd, LuDecomp Data Type Describes bit depth and sign 8u, 32f, 64f… Execution mode Indicates data layout and scaling ISfs, C1R, P.. Description: The image (ippi) copy (Copy) operation operating on data of type 8u (8u) in one-channel image (C1), operation with mask (M) in the region of interest (R). Each function performs a particular operation on a known type of data in a specific mode. Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Function Implementation • Intel IPP functions are optimized for a specific processor. •A single function has many version, each one optimized to run on a specific processor. •The name of each version is decorated with a prefix that denotes its target processor, see table below for IA-32 prefixes full list. Identifier Optimization Notice ippsCopy_8u(…) Some examples: px_ippsCopy_8u(…) s8_ippsCopy_8u(…) p8_ippsCopy_8u(…) CPU px C-optimized for all IA-32 processors w7 Optimized for processors based with Intel® Streaming SIMD Extensions 2 3 (Intel SSE2) t7 Optimized for processors with Intel® Streaming SIMD Extensions 3 (Intel SSE3) v8 Optimized for processors with Intel® Supplemental Streaming SIMD Extensions 3 (Intel SSSE3) p8 Optimized for processors with Intel® Streaming SIMD Extensions 4.1 (Intel SSE4.1) s8 Optimized for Intel® Atom™ processor Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Intel® Integrated Performance Primitives Pixel Convolution Performance vs. OpenCV Intel® IPP provides faster filter operations Optimization Notice Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Intel® Integrated Performance Primitives Highly optimized building blocks for image processing, signal processing, multimedia, audio, video, speech, computer vision Optimized Function Library Many Functions • 2D Image processing • 1D Signal Processing • Data processing Goals • Raw Performance • Platform Throughput • Power Efficiency Key software building blocks that help take advantage of Intel platform features to boost signal processing performance and help speed-up development Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. References Intel® IPP Product Information http://www.intel.com/software/products/ipp Technical Issues http://premier.intel.com/ • • Self-help http://www.intel.com/software/products/ipp ( Click “Support Resource”) User Discussion Forum http://softwareforums.intel.com/ids/board?board.id=IPP Book How to Optimize Applications Using Intel® IPP by Stewart Taylor http://www.intel.com/intelpress/sum_ipp.htm 40 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. 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 © 2014, Intel Corporation. All rights reserved. Intel, Pentium, Xeon, Xeon Phi, Core, VTune, Cilk, and the Intel logo 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 41 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Test Test Test 43 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Summary Test • Test Find out more at http://intel.ly/system-studio 44 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. 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 © 2014, Intel Corporation. All rights reserved. Intel, Pentium, Xeon, Xeon Phi, Core, VTune, Cilk, and the Intel logo 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 45 Optimization Notice Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. Backup Intel Confidential - Internal Use Only Optimization Notice 47 Copyright © 2014, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others. 10/25/2014
© Copyright 2024