基于产生式编程的矩阵计算库的设计与实现

来源 :大连理工大学 | 被引量 : 0次 | 上传用户:hellobluejay
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
本文利用了产生式编程的思想解决面向对象设计中遇到的设计意图丢失、性能损失以及维护成本高等问题。运用新思想实现了一个矩阵计算库,解决传统面向对象矩阵库在高性能计算领域所遇到的性能瓶颈。产生式编程利用领域分析方法,在最终的软件产品生成之前,对其进行领域优化,经过优化,产生适合我们需求的组件或软件产品。本文对矩阵技术领域分析后,得到该领域的特征模型,然后运用C++实现矩阵计算领域的各个组件,再利用模板元编程技术实现产生器,它可以自动对组件进行装配,得到目标矩阵类型。这个矩阵库的性能可以与手写的C矩阵库的性能相比,而且使用更少的代码覆盖了更多的矩阵类型,并且保持了面向对象矩阵库的表现能力。成功的实验表明,产生式矩阵库实现了问题空间和解空间的分离,使两个空间可以独立的变化;该库可以在更高层次描述系统规范,客户端不必指定目标矩阵类型的所有细节,只需给出声明性的描述就可以得到目标矩阵;库的冗余更少,参数化差异允许避免两个包含大多的相同、只有少数细节不同的代码;具有良好的性能,大量使用内联实现静态绑定,同手工编写的c代码相当;良好的可扩展性,由于组件之间比较独立,组件内部变化不会影响其他组件,所以能够进行很容易的扩展。产生式编程思想展现了下一代软件开发技术的宏伟蓝图,它向着所有软件开发者梦寐以求的目标迈进了一大步,是软件开发实现工业化生产模式的指导性思想。论文首先对实现整个程序库使用的核心技术作了简要的说明。然后从对矩阵库的需求出发,进行了库的结构设计。论文的后续部分详细描述了库的各部分的实现过程和技术细节,最后论文对库的功能加以总结,并指出了需要进一步完善和扩展的工作。
其他文献
基因组测序工作快速发展,基因组结构注释成为破译基因组秘密的首要问题。纯粹基于实验方法的基因结构注释代价较高且难以适应基因组数据的迅速增长,因此,需要建立基因组结构
随着互联网技术的发展和接入速度的提高,用户对网络的期望和要求不再满足于单一的静态媒体,流媒体应用成为了用户新的需求。但流媒体对带宽资源要求高且服务时间长,在传统的C
随着WWW技术的日益成熟和互联网应用的逐渐普及,互联网已经发展成为了一个巨大的分布式信息空间。从Web中获取信息已成为个人获取知识的主要方法和重要手段,也成为当前企业获
信息时代人们出于对安全的需求,越来越重视用人的生理特征进行身份认证的生物识别技术。在众多的生物识别技术中,虹膜识别技术有着无可比拟的优越性。虹膜作为重要的身份鉴别
在安全关键系统中,对嵌入式系统持续提供正确服务的要求越来越高。传统的保障手段如安全性、可靠性等已不能满足要求。针对越来越高的需求,将可生存性引入嵌入式系统的设计中
随着视频压缩技术的深入研究,九十年代初出现了一系列视频压缩标准,其中尤以MPEG-2影响圈较大;同时随着集成电路制造技术的进步,许多芯片厂商相继推出了相应专用芯片,这些都
随着以社交网络为典型代表的异构信息网络的迅猛发展,异构信息网络分析已经成为数据挖掘中一个重要且热门的研究方向,被广泛的应用于社交网络、Web数据管理、蛋白质结构预测
随着科学技术的发展以及互联网技术的普及,人们对计算机网络的要求也越来越高。人们已不再满足普通信息的共享,而是要求几乎所有资源都可通过网络实现共享。网格的出现使人们
随着信息技术的发展,尤其是网络技术、通信技术和多媒体技术的应用普及,近来年计算机运行速度、网络带宽及数据压缩技术的显著提高,在Intemet上运行对服务质量要求较高的网络
视频内容的特征提取和过滤是数字视频处理、模式识别等领域的重要组成部分,在民用和军事上均具有广泛的应用。随着互联网的发展和普及,人们可以在网络上获得各种信息,怎么防