- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于GPU的数字信号论文
1信号处理中的相关函数
信号处理中许多信号都要进行相关性分析,牵涉到信号相关的问题往往都会涉及大型的数据集。互相关,也称为“互协方差”。在智能信号处理相关领域中,是用来表示两个信号之间相似性的一个度量。互相关性可以通过与确定信号比较,来寻找不确定信号的特性,它是确定信号与不确定信号之间相对于时间的一个函数,也可以称为滑动点积。在模式识别以及密码分析学等很多领域,信号的互相关性都有广泛的应用[5]。
1.1相关函数的定义互相关是统计学中用来表示两个随机矢量X和Y之间的协方差cov(X,Y),与矢量X的“协方差”概念相区分,矢量X的“协方差”是X的各标量成分之间的协方差矩阵。自相关是对信号相关程度的一种度量,也就是说自相关可以看作是信号与自身的延迟信号相乘后的乘积进行积分运算,随机信号的自相关函数与其功率谱是傅氏变换对(随机信号无法得到具体的函数表达式,只有其统计信息),通过对接受信号的自相关运算可以进行频谱分析。同时,自相关在信号检测中也有很重要的作用,是在误码最小原则下的最佳接收准则[6]。
1.2信号处理中矩阵的相关性分析一个自适应系统输入的有用信号可以是确定信号或随机信号,而输入信号中不可避免的混有噪声或干扰,在频域考虑可能是窄带的也可能是宽带的[7]。一个自适应系统的输入信号和信号特性,通常对该系统的结构和性能起重要作用,输入信号用向量的形式表示,隐去时间函数,则信号向量X可以表示为。矩阵分析作为一种重要的数学工具,在信号与信息处理领域起着不可替代的作用。由于在现代信号处理、图像处理,以及通信相关领域中的操作和运算中,为了满足性能需要,所以对数据的吞吐量有极高的要求,其中很多操作都必须实时完成,所以对相关算法的实现速度就有了很高的要求。在数字信号处理中,大部分处理信号和图像的算法具有局部化、计算数据密集以及海量的矩阵运算等特点,所以为了提高算法的实现速度,寻找一种高速矩阵运算和高速密集型数据运算的方法对很多在数字信号处理中应用的复杂算法是十分有意义的[8]。
2GPU上大型矩阵快速运算的具体实现
在GPU中实现矩阵的快速乘法时,不仅要保证运算的精度问题,同时,也要保证运算的效率,提高运算的速度。所以,根据GPU的硬件结构,应该设计一种矩阵分块和内存分配方法[9],以便减少内存的访问次数。
2.1运算精度目前对于很多GPU来说,其只支持32b浮点数运算,所以在大量数据累加时,后面的数字位数一定被舍去过多,从而导致了运算结果的精度下降。而CUDA的浮点数运算是符合IEEE754运算精度标准的,因此,可以利用Kahan求和公式来提高运算的精度,具体流程伪代码如下。虽然Kahan求和公式在优化运算结果精度的同时增加了每个线程的运算量,但对于GPU来说,并没有内存存取的动作,所以对整体的运算效率影响很小,并且精度问题是整体运算结果的前提保证,所以这一步骤是十分必要的。
2.2矩阵分块由于CUDA平台一个线程块只同时支持512个线程并行工作,所以只有当内存控制器从某个固定倍数地址开始读取时,工作效率最高。解决这个问题最好的办法就是将大矩阵分解为16×16的小矩阵,这样每一个线程块就同时使用256个线程并行计算。所以小矩阵就可以完全加载到高速共享内存中,同时小矩阵自身乘法也不需要再存取外部内存。为了方便进行线程块的计算,对于两个矩阵A和B,可以分别为每个线程块分配16×16个线程,再建立(m/16)×(n/16)个线程块。但是,由于参加运算的矩阵阶不一定是16的倍数,所以对于最后一次分块,程序可以利用判断语句来控制。即:如果本线程的矩阵块没有超出A、B的阶数,就进行分块;如果超出,则只运算原始矩阵剩下的部分。
2.3内存分配为了使GPU高效率工作,在矩阵A和B的分块矩阵初始内存空间时,直接把内存大小配置成16的倍数,并在复制矩阵到显卡内存之前,将其清零。这种处理方法充分利用了GPU的硬件结构特点,满足GPU高效率读取内存的原则[10]。并且,CUDA提供的cudaMallocPitch()函数就可以满足该要求,它是一种节距分配,可以使分配的内存在硬件中的节距对齐,以提高共享内存的访问速度,并返回指向已分配内存的指针。
3实验结果与分析
在进行信号相关性分析的时候,往往计算量比较大,随着信号处理中矩阵的阶数不断增加,如果仅仅基于CPU的传统的串行算法,大大增加了计算所耗费的时间。在进行矩阵的相关性分析计算的过程中,实验环境配置见表1。分别对不同大小的一维矩阵进行相关性分析计算,矩阵的大小见表2。通过对矩阵A的列两两进行交叉相关性计算,产生一个一个大型矩阵输出,然后分别得出计算不同矩阵大小情况下相关性计
您可能关注的文档
最近下载
- 2024年高中数学同步高分突破讲义(人教A版2019)1.1空间向量及其运算-(选择性必修第一册)(学生版+解析).docx VIP
- 青岛版四年级上册科学新教材全部实验.pdf VIP
- 儿童财商启蒙课课件.pptx
- 2025年职业技能鉴定考试(造林更新工)历年参考题库含答案详解(5卷).docx VIP
- 2025入团考试100题题库(含答案).docx VIP
- 2024年山西对口升学英语考试真题(含答案).pdf VIP
- 新北师大版三年级上册数学(全册)同步随堂练习一课一练.pdf VIP
- 《玫瑰少年》经典音乐曲谱.pdf VIP
- 军队文职思维导图:公共科目基础知识-非法.pdf VIP
- 第4课 用联系的观点看问题-【中职专用】2024年中职思想政治《哲学与人生》金牌课件(高教版2023·基础模块).pptx VIP
文档评论(0)