C# IPP多核计算(原文)


Creating C# Wrappers for 
Intel
® Integrated 
Performance Primitives  
Using  Microsoft .NET*
Interoperability Mechanisms  
 
Version 1.0 Creating C# Wrappers for Intel® IPP  Using Microsoft .NET* Interoperability Mechanisms
 
 
 
2
This document as well as the software described in it is furnished under license and may only be used or copied in accordance
with the terms of the license. The information in this document is furnished for informational use only, is subject to change
without notice, and should not be construed as a commitment by Intel Corporation. Intel Corporation assumes no responsibility or
liability for any errors or inaccuracies that may appear in this document or any software that may be provided in association with
this document.  
Except as permitted by such license, no part of this document may be reproduced, stored in a retrieval system, or transmitted in
any form or by any means without the express written consent of Intel Corporation. 
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE,
EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS
GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR
SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR
IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR
WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT
OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. 
Intel products are not intended for use in medical, life saving, or life sustaining applications. Intel may make changes to
specifications and product descriptions at any time, without notice.
MPEG is an international standard for video compression/decompression promoted by ISO. Implementations of MPEG CODECs,
or MPEG enabled platforms may require licenses from various entities, including Intel Corporation. 
Celeron, Dialogic, i386, i486, iCOMP, Intel, Intel logo, Intel386, Intel486, Intel740, IntelDX2, IntelDX4, IntelSX2, Intel Inside,
Intel Inside logo, Intel NetBurst, Intel NetStructure, Intel Xeon, Intel XScale, Itanium, MMX, MMX logo, Pentium, Pentium II
Xeon, Pentium III  Xeon, and VTune are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United
States and other countries.
* Other names and brands may be claimed as the property of others.
Copyright © 2003 Intel Corporation.
 
 
 
 
 
 
 
 
 Creating C# Wrappers for Intel® IPP  Using Microsoft .NET* Interoperability Mechanisms
 
 
 
3
Table of Contents
Executive Summary.............................................................4
Intel
®
 IPP Overview..............................................................4
Microsoft .NET Framework Overview..................................4
Hardware and Software Requirements................................4
Important .NET Terminologies.............................................5
Bridging Managed and Unmanaged Code in .NET..............7
Using IPP and .NET InteropServices Mechanisms..............7
COM Interoperability............................................................11
Conclusion...........................................................................14
Appendix..............................................................................15
References..........................................................................17
 Creating C# Wrappers for Intel® IPP  Using Microsoft .NET* Interoperability Mechanisms
 
 
 
4
Executive Summary
The audience of this paper are software architects and developers who intend to use the Intel®
Integrated Performance Primitives (Intel® IPP) software library in the Microsoft .NET*
framework environment.
This document provides  information on Microsoft .NET framework interoperability mechanisms
to create C# wrapper functions for using Intel IPP C-style libraries from a .NET framework
application using the C# language.  It is assumed that the reader is familiar with Intel IPP [1] and
the Microsoft .NET framework concepts such as common language runtime (CLR), framework
class libraries (FCL), assemblies, metadata, custom attributes and tools such as Microsoft Visual
Studio* .NET, ILDASM, ILASM, etc.
Intel
®
 IPP Overview
Intel® Integrated Performance Primitives are a cross-platform software library which provides a
range of library functions for multimedia, audio codecs, video codecs (for example, H.263, 
MPEG-4), image processing (JPEG), signal processing, speech compression (G.723, GSM-AMR),
computer vision, as well as math support routines for such processing capabilities. Intel IPP is
optimized for the broad range of Intel® microprocessors: Intel® Pentium® 4 processor, Intel®
Itanium® 2 processor, Intel® Xeon™ processors, and Intel® PCA application processors based on
the Intel® XScale™ microarchitecture. This enables ease of porting and migration of software
applications between different processor platforms.
Intel IPP functions can be used from the .NET framework managed environment to speed up the
performance of applications on Intel® platforms.
Microsoft .NET Framework Overview
Microsoft .NET framework is a managed run time environment for developing applications, by
using a common language runtime (CLR) layer and class libraries. This layer consists of runtime
execution services such as garbage collection for memory safety, remoting, security, etc. The
benefit is to quickly develop various types of software applications like windows forms, XML web
services, distributed applications, media applications, imaging applications and others.
A managed application can be written in any language, which has a .NET compliant compiler that
compiles the source code into .NET assemblies. The .NET compliant compilers must follow
Common Language Specification (CLS) and Common Type System (CTS), which are subsets
respectively of common functionality and types, among all languages. These specifications enable
type-safety and cross-language interoperability. Simply stated, an object written in one .NET
compliant language, for example, VB.NET, can be invoked from another object written in another
.NET compliant language, for example, C#.
Hardware and Software Requirements
This section gives a list of the recommended hardware and software configuration for gaining
optimal performance on Intel® processor platforms using Intel IPP in the .NET framework
environment. Creating C# Wrappers for Intel® IPP  Using Microsoft .NET* Interoperability Mechanisms
 
 
 
5
 
Hardware:
Intel
®
 Pentium® III or Pentium® 4 Processor
Software:
Microsoft Windows* 2000 or Windows* XP
Microsoft Visual Studio* .NET RTM

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值