Presentation is loading. Please wait.

Presentation is loading. Please wait.

INTEL CONFIDENTIAL Using Intel Performance Primitives for Threading Applications Session:

Similar presentations


Presentation on theme: "INTEL CONFIDENTIAL Using Intel Performance Primitives for Threading Applications Session:"— Presentation transcript:

1 INTEL CONFIDENTIAL Using Intel Performance Primitives for Threading Applications Session:

2 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 2 Agenda Overview of Intel IPP Intel IPP & Multithreading

3 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 3 Intel ® Integrated Performance Primitives (IPP) Overview Application Source Code Intel IPP Usage Code Samples Intel IPP Library C/C++ API Video coding Audio coding Speech coding Speech recognition Data compression Cryptography Matrix maths Signal processing Image processing JPEG and JPEG2000 Computer vision Image color conversion String processing Vector maths Realistic Rendering Intel IPP Processor-Optimized Binaries Intel® Core™ Family Processors Intel® Pentium® dual-core Processors Intel® Pentium® M Processors Intel® Xeon® Processors Intel® Itanium® Processors Intel® XScale™ Technology-based Processors Sample video/audio/speech codecs Image processing and JPEG Signal processing Data compression Crypto.NET* and Java* integration API calls Static/Dynamic Link Rapid Application Development Outstanding Performance Cross-platform Compatibility & Code Re-Use Benefits Product Components

4 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 4 Intel ® IPP Broad Range of Functions and Samples (I) DomainsFunctionsSamples 1. Image Processing * Geometry transformations, such as resize/rotate * Linear and non-linear filtering 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 * Tiled Image Processing / 2D Wavelet Transform /C++ Image Processing Classes/Image Processing functions Demo 2. Color conversion * Converting image/video color space formats: RGB, HSV, YUV, YCbCr * Up/Down sampling * Brightness and contrast adjustments 3. JPEG Coding * High-level JPEG and JPEG2000 compression and decompression functions * JPEG/JPEG2000 support functions: DCT, Wavelet transforms, color conversion, downsampling * Integration with the Intel® JPEG Library (IJL) / Integration with the Independent JPEG Group (IJG) library /JPEG2000 encoder/decoder /JPEG viewer 4. Video Coding * VC-1, H.264, AVS, MPEG-2, MPEG-4, H.261, H.263 and DV codec support functions * Simple Media Player/ Video Encoder / h.264/DV decoding/video transcoding /Reverberation Demo/ Virtual Multi-Channel Audio Player/ 5. Computer Vision * Background differencing, Feature Detection (Corner Detection, Canny Edge detection), Distance Transforms, Image Gradients, Flood fill, Motion analysis and Object Tracking, Pyramids, Pattern recognition, Camera Calibration * Face Detection 6. Realistic Rendering * Acceleration Structures, Ray-Scene Intersection and Ray Tracing * Surface properties, shader support, tone mapping * Ray Tracing

5 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 5 Intel ® IPP Broad Range of Functions and Samples (II) DomainsFunctionsSamples 7. Signal Processing * Transforms: DCT, DFT, MDCT, Wavelet (both Haar and user-defined filter banks), Hilbert * Convolution, Cross-Correlation, Auto-Correlation, Conjugate * Filtering: IIR/FIR/Median filtering, Single/Multi-Rate FIR LMS filters * Other: Windowing, Jaehne/Tone/Traingle signal generation, Thresholding * Signal Processing Function Demo 8. Audio Coding * MP3, AAC, HE-AAC, AC3 * Audio Codec Console application 9. Speech Coding * Adaptive/Fixed Codebook functions, Autocorrelation, Convolution, Levinson-Durbin recursion, Linear Prediction Analysis & Quantization, Echo Cancellation, Companding * G.168, G.167, G.711, G.722, G.722.1, G.722.2, AMRWB, Extended AMRWB (AMRWB+), G.723.1, G.726, G.728, G.729, RT-Audio, GSM AMR, GSM FR 10. Speech Recognition * Feature Processing, Model Evaluation/Estimation/Adaptation, Vector Quantization, Polyphase Resampling, Advanced Aurora, Ephraim-Malah Noise Supression, AEC, Voice Detection * Aurora, Advanced Aurora, Audio Processing, Gaussian Mixture, Speech Processing 11. Data Compression * Entropy-coding compression: Huffman, VLC * Dictionary-based compression: LZSS, LZ77 * Burrows-Wheeler Transform, MoveToFront, RLE, Generalized Interval Transformation * Compatible feature support for zlib and bzip2 * zlib, bzip2, gzip-compatible /General data compression examples 12. Cryptography * Big-Number Arithmetic / Rijndael, DES, TDES, SHA1, MD5, RSA, DSA, Montgomery, prime number generation and pseudo-random number generation (PRNG) functions * Intel IPP crypto usage in Open SSL* 13. String Processing * Compare, Insert, change case, Trim, Find, Regexp, Hash * “ippgrep” – regular expression matching

6 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 6 Intel ® IPP Broad Range of Functions and Samples (III) DomainsFunctionsSamples 14. Vector Math * Logical, Shift, Conversion, Power, Root, Exponential, Logarithmic, Trigonometric, Hyperbolic, Erf, Erfc 15. Matrix Math * Addition, Multiplication, Decomposition, Eigenvalues, Cross- product, transposition Other Common Functions * CPUTypes, Thread Number Control, Memory Allocation * Linkages/Different language support * CPUID Sample Intel IPP is suitable for a very wide range of applications Video broadcasting, Video/Voice Conferencing Consumer Multimedia Medical Imaging, Document Imaging Computer Vision /Object Tracking / Machine Learning Databases and Enterprise Data Management Information Security Embedded Applications Mathematics and Science

7 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 7 Intel IPP Performance Optimizations Intel IPP functions exploit the instruction set architecture by –Streaming SIMD Extensions SSE, SSE2, SSE3, SSSE3, SSE4.1 –Intel® MMX™ technology 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 IPP functions exploit the thread-level parallelism available on modern processors –Multi-Core Technology –HyperThreading Technology

8 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 8 Library Naming convention PlatformIdentifierOptimization IA-32 Intel® Architecture pxAny Pentium ® processor - C optimized a6SSE optimized e.g. Pentium III processors w7SSE2 optimized e.g. Pentium 4 and Xeon™ processors, and processors based on Intel Centrino™ mobile technology - t7SSE3 optimized e.g. Pentium 4 processor with Hyper-Threading Technology - v8SSSE3 optimized e.g. Intel® Core 2 Duo Processors - p8SSE4.1 optimized e.g. 45nm Intel® Core™2 Duo (Penryn) family processors - Intel® 64 (Intel® EM64T) architecture mxAll Intel® EM64T-based platforms - C-optimized m7SSE3 Optimized e.g. Optimized for Intel EM64T-based platforms u8SSSE3 optimized e.g. Intel® Core 2 Duo Processors - y8SSE4.1 optimized e.g. 45nm Intel® Core™2 Duo (Penryn) family processors - Intel® Itanium® Architecture i7Optimized for Intel® Itanium® processor family Intel® IXP4xx Network Processors sxC-optimized for the IXP4XX product line s2Optimized for the IXP4XX product line A single Intel IPP function has many versions, each one optimized to run on a specific processor. The dispatching methodology determines the processor type automatically, using a jump table or processor-specific library, ensures that the most appropriate version of each function is executed and achieve the best performance. Intel IPP gets updated with these libs to match the latest CPU features Newest optimizations in Intel IPP 5.3

9 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 9 Intel 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 Name Elements DescriptionExamples 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.. Each function performs a particular operation on a known type of data in a specific mode. ippiCopy_8u_C1MR Prefix Base Name Data Type Execution Mode 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).

10 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 10 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: Multiple Linking Models Multiple Header files give library structure DomainsHeader File Dynamic LinkingStatic Linking Image Procssing (i) ippi.hippi.lib, ippi-5.3.dll, ippip8-5.3.dll, ippiv8-5.3.dll, ippit7-5.3.dll ippiw7-5.3.dll, ippia6-5.3.dll, ippipx-5.3.dll ippimerged.lib, ippiemerged.lib

11 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 11 Intel IPP Supported Linkage Model - Quick Comparison Linkage Models Features 1. Dynamic Linkage 2. Static Linkage with Dispatching 3. Custom Dynamic Linkage 4. Static Linkage without Dispatching Optimization All processors One processor Build Link to stub libraries Link to static libraries and stubs Build separate DLL Link to processor- specific merged libraries Calling Regular names Modified names Processor-specific names Total Binary Size LargeSmall Smallest Executable Size SmallestSmallSmallestSmall Kernel Mode NoYesNoYes Intel IPP provides a lot of flexibility

12 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 12 Threading in Intel IPP Functions Many computational intensive functions are threaded Hundreds (or ~1800) of Intel IPP functions are threaded. Where it improves performance Usage model: Intel IPP threading Control –ippSetNumThreads –ippGetNumThreads DomainsThreaded Functions Color Conversion100 Computer Vision132 Cryptography98 Image Processing673 JPEG/JPEG200036 Matrix541 Signal Processing215 Intel IPP functions are threaded when it maximses performance

13 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 13 IPP functions’ Performance Data on Multi-core systems Executable: ps_ippi.exe ps_ippm.exe –(Nx switch) Library: Intel IPP v5.3, ippiv8-5.3.dll, ippmv8-5.3.dll Intel® C++ Compiler for IA-32, Version 10.0 CPU: Intel(R) Core(TM) 2 Quad processor 8x2400 MHz, L1=32/32K OS: Microsoft Windows Server 2003* (Win32) * Other names and brands may be claimed as the property of others.

14 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 14 IPP functions’ Performance Data on Multi-core systems Executable: ps_ippi.exe ps_ippm.exe –(Nx switch) Library: Intel IPP v5.3, ippiv8-5.3.dll, ippmv8-5.3.dll Intel® C++ Compiler for IA-32, Version 10.0 CPU: Intel(R) Core(TM) 2 Quad processor 8x2400 MHz, L1=32/32K OS: Microsoft Windows Server 2003* (Win32) * Other names and brands may be claimed as the property of others.

15 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 15 Multimedia Application Challenges Newer High-Def Digital Media standards offer higher compression and quality, but demand more complicated algorithms Video: H.264 vs MPEG-2 Image: JPEG2000 vs JPEG Audio: AAC vs MP3 New Multi-Core Computing Platforms offer opportunities, with challenge of more complex multi-threaded programming Threading in low-level operations may not be enough Computational Kernel works on small size data but repeated calls with different data controlled by high level algorithms

16 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 16 Threading in Intel IPP Media codecs CodecsThreading Mechanism Threading TechnologiesPerformance Gain H.264 Decoding Native System threading On slices parallelization – simple threading model Inside-slice (inside-frame) parallelization Inter-frame parallelization 2 threads on Core Duo is about 2x on HD streams (100% CPU loading) 4 threads on Quad Core is about 3.2~3.7x on HD streams (100% CPU loading) VC-1 Decoding Native System threading On slices parallelization – simple threading model Inside-slice (inside-frame) parallelization Inter-frame parallelization 2 threads on Core Duo is about 1.85~1.9x on HD streams (100% CPU loading) 4 threads on Quad Core is about 3.2~3.3x on HD streams (100% CPU loading) JPEG2000 Decoding OpenMP*Each code block is processed in parallel.4 threads on Quad Core is about 2.5~3.1x on middle size images ( (100% CPU loading) JPEG Decoding OpenMP*Each MCU row is processed in parallel.2 threads on Dual Core is about 1.9x on middle size images (100% CPU loading) * Other names and brands may be claimed as the property of others.

17 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 17 UMC H264 decoder scaling H264 decoder Achieves theoretical maximum scaling on Multi-Cores 2xIntel Xeon (Clovertown) 2.40GHz, Microsoft Windows Server 2003 Enterprise x64 Edition Intel C++ Compiler v10.1, Intel IPP v5.3 Data 1:H264_1920x1080_walking_couple_25Hz_main_IBBP_f200_40M.h264 Data 2:H264_1920x1080_walking_couple_25Hz_main_IBBP_f200_29M.h264 Data 3:H264_1920x1080_walking_couple_25Hz_main_IBBP_f200_15M.h264 Data 4:H264_1280x720_ShttleStart_60Hz_main_IBBP_f200_40M.h264 Data 5:H264_1280x720_ShttleStart_60Hz_main_IBBP_f200_29M.h264 Data 6:H264_1280x720_ShttleStart_60Hz_main_IBBP_f200_15M.h264 * Other names and brands may be claimed as the property of others.

18 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 18 Entropy Decoding De-Blocking Filter IntraPrediction Motion Compensation Picture Frame Store + Inverse Quantization Inverse Transform Intra/ Inter Select Video Output Frames H.264 Bitstream H.264 Video Decoding More threads can be done here. Process in 1 sequence H.264 Decoding

19 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 19 To be decoded by 1 st thread To be reconstructed by 2 nd thread To be de-blocked by 3 rd thread How it works H.264 decoder The main queue Slice 0, frame 0 Slice 1, frame 0 Slice 2, frame 0 Slice 3, frame 0 The second queue Slice 0, frame 1 Slice 1, frame 1 Slice 0, frame 2 Slice 1, frame 2 To be decoded by 4 th thread Decode, reconstructions and de-block for each slice in main queue can be in parallel

20 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 20 Thread balancing Reconstruct Decode Reconstruct Decode Reconstruct Decode Reconstruct When reconstruction is more difficult than decoding Reconstruct time Odd thread Even thread Reconstruct Decode Reconstruct Decode Reconstruct Decode Reconstruct When reconstruct is easier than decoding Reconstruct time Odd thread Even thread Odd thread does reconstructEven thread does decodingThread does de-blocking

21 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 21 Summary: Intel IPP UMC Threading Video Coding Intel IPP shows excellent multi-cores scalability on multimedia codecs Threading model is scalable up to 8 threads Easy Adoption - Model is identical for H264 and VC1 and could be applied for any other codec.

22 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 22 Huffman Decode Inverse DPCM Inverse Quantization Inverse DCT Level Shift / Convert Type Color Conversion Huffman Encode DPCM Quantization DCT Level Shift / Convert Type Color Conversion JPEG Bitstream RGB Image UpsamplingDownsampling Interleaving of Color Planes Deinterleaving of Color Planes 1st thread 2nd thread JPEG Coding

23 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 23 Reconstruct MCU row i Threading inside JPEG decoder Cr Cb JPEG bitstream MCU row buffer Y Cr Cb Y Decode MCU row i Decode MCU row i+1 Reconstruct MCU row i+1 Decode MCU row i+2 Reconstruct MCU row i+2 Decode MCU row i+3 T0 T1 T2 T3 time

24 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 24 Performance Data for JPEG & JPEG 2000 Table 2: Intel® IPP based JPEG2000 decoder Image size wt type compression Performance Gain ( 1 thread vs 4 Threads ) 640x480wt53lossless 1.44 1024x768wt53lossless 1.66 4096x4096wt53lossless 1.55 640x480wt9715* 2.59 1024x768wt9715 2.64 4096x4096wt9715 3.36 Table 1: Intel® IPP based JPEG decoder * Image Size sampling Performance Gain ( 1thread vs 2threads) 444 1.90 640x480422 1.93 411 1.93 444 1.84 800x600422 1.83 411 1.76 444 1.86 1024x768422 1.81 411 1.89 444 1.89 4096x4096422 1.82 411 1.88 The Intel® IPP based JPEG decoder uses lossy compression with value of 75 as jpeg quality parameter. * The compression ratio was approximately 1:6. The value of 15 in column “compression” reflects the compression ratio of 1:15. System and Software configurations used in Table 1 and 2: CPU: Intel® Core™ 2 Duo processor: 2.66 GHz, 1GB memory, 4MB cache. Compiler: Intel® C++ Compiler v9.1Intel® Integrated Performance Primitives (Intel® IPP) v 5.3 dynamic libraries. Intel® IPP v5.3 based JPEG Viewer Sample and JPEG2000 Coding Sample

25 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 25 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 Or use static library for single threaded application or kernel development

26 Intel® Academic Community Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 26 Conclusions Computational Kernel Algorithm Level (Data flow level) Application Levels Intel IPP Primitives Libraries Intel IPP Samples Take Multiple Levels of efforts to optimize for threading Intel IPP Samples demonstrate how you can thread at the algorithm level Intel IPP Libraries help you on primitives threading if your data allow Many Applications Common Core Algorithms

27

28 Intel ® Software College Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 28 Backup

29 Intel ® Software College Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 29 Intel IPP Product Reference Intel IPP Website and latest version 5.3 (product release, performance data, support resource) : http://www.intel.com/software/products/ipp http://www.intel.com/software/products/ipp Intel IPP book (2 nd Edition): http://shop.intel.com/shop/product.aspx?pid=SIBK3608 http://shop.intel.com/shop/product.aspx?pid=SIBK3608 Intel IPP Forum: http://softwarecommunity.intel.com/isn/Community/en- US/forums/1274/ShowForum.aspx http://softwarecommunity.intel.com/isn/Community/en- US/forums/1274/ShowForum.aspx Intel Premier Support (Technical Support ) https://premier.intel.com https://premier.intel.com

30 Intel ® Software College Copyright © 2008, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. 30 Intel IPP Libraries Multiple Linking Models Multiple Header files give library structure DomainsHeader FileDynamic LinkingStatic Linking Audio Codingippac.hippac.libippacmerged.lib Video Codingippvc.hippvc.libippvcmerged.lib Color Conversionippcc.hippcc.libippccmerged.lib String Processingippch.hippch.libippchmerged.lib Cryptographyippcp.hippcp.libippcpmerged.lib Computer Visionippcv.hippcv.libippcvmerged.lib Data Compressionippdc.hippdc.libippdcmerged.lib Image Processingippi.hippi.libippimerged.lib JPEG Processingippj.hippj.libippjmerged.lib Matrix Mathippm.hippm.libippmmerged.lib Signal Processingipps.hipps.libippsmerged.lib Speech Codingippsc.hippsc.libippscmerged.lib Speech Recognitionippsr.hippsr.libippsrmerged.lib Vector Mathippvm.hippvm.libippvmmerged.lib Realistic Renderingippr.hippr.libipprmerged.lib Common Functionsippcore.hippcore.libippcorel.lib


Download ppt "INTEL CONFIDENTIAL Using Intel Performance Primitives for Threading Applications Session:"

Similar presentations


Ads by Google