有人研究过GPU整数乘法的运算法则运算吗

整数乘法运算定律推广到小数练习题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
<span class="g-ico g-ico-star g-ico-star-on" style="width:%">
<span class="g-ico g-ico-star g-ico-star-on" style="width:%">
<span class="g-ico g-ico-star g-ico-star-on" style="width:%">
整数乘法运算定律推广到小数练习题
上传于||文档简介
&&整&#8203;数&#8203;乘&#8203;法&#8203;运&#8203;算&#8203;定&#8203;律&#8203;推&#8203;广&#8203;到&#8203;小&#8203;数&#8203;练&#8203;习&#8203;题
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢擂台:超大整数高精度快速算法-4 (快速计算千万阶乘),该怎么处理(2) - 数据结构与算法当前位置:& &&&擂台:超大整数高精度快速算法-4 (快速计算千万阶擂台:超大整数高精度快速算法-4 (快速计算千万阶乘),该怎么处理(2)&&网友分享于:&&浏览:91次
------解决方案--------------------都是高手,占个楼学习
------解决方案--------------------mark
------解决方案--------------------ren guo liu ming
------解决方案--------------------建议楼主把阶乘化为幂运算,其公式随便一本数论书上都有,我曾经做过,速度能极大幅度的提高
------解决方案--------------------
现在的显卡上的GPU运算性能超过CPU很多;不知道有没有人研究一下大整数乘法移植到GPU的实现;
当前快速傅立叶变换(FFT)已经有人移植到了GPU上(见《GPU精粹2》或者http://gamma.cs.unc.edu/GPUFFTW/ 等等),那么大整数乘法运
算移植到GPU也就有了可能;
但也有一些问题待求证:
1.当前GPU支持的最高的精度是32bit单精度浮点数运算,对于大整数乘法是否精度足够;
2.GPU是否能够正确计算(按精度要求,或者符合IEEE标准),GPU计算颜色时如果有小的误差,不会有什么问题,但对于大整数乘法
运算却可能有很大的问题(问题2应该不严重,因为GPU厂商也正在争夺通用计算领域);
3.是否能减小输入的数据的值域范围使32bit浮点计算也精度足够;
或者能否开发一个算法来用多次单精度浮点运算模拟出更高精度的浮点运算;
另外,把数论变换移植到GPU不知道是否可行
(瞎扯:随着能够集成的晶体管越来越多,而CPU频率提升的停滞不前,流式计算一定会在CPU里占有重要地位;对于性能提升,流式核心比多x86核心能更好地利用晶体管)
------解决方案--------------------曾经有人给我一个网站,专门研究计算的,可惜忘记了,速度就超快。
------解决方案--------------------n!=(p1^[n/p1])*(p2^[n/p2])*.....*(pm^[n/pm]),公式大致是这个样子,p1,....,pm依次为小于n的素数,用这个公式算很快,乘法的次数会大幅度的减少
------解决方案--------------------Y___Y(一叶障目) ( ) 信誉:100
建议楼主把阶乘化为幂运算,其公式随便一本数论书上都有,我曾经做过,速度能极大幅度的提高
==哪个公式?
------解决方案--------------------据我所知,搂主在很早以前,就提到了Y___Y(一叶障目) 的那个算法,即将n!分解质因素再相乘.这个算法能够提升的速度大约在2倍以上,但应该不超过4倍.
------解决方案--------------------学习
------解决方案--------------------我在《千分求汇编优化:UInt96x96To192(...)》帖子回复了一段,这里拷贝过来,希望有用:
====================================================================================================
这里的函数还没有考虑优化内存预读和禁止写缓存;
这两个优化对于大数乘法应该有用(我没有测试过);对于这里的简单测试缓存优化几乎没有
用,因为这里的测试方式CPU默认缓存策略很适合,但在操作大量内存的大数乘法中,应该
考略缓存策略;
具体实现方法:
预读: 在真正使用到源数据之前几百个CPU周期之前(时间由内存和CPU的速度差异
决定)手工读一次其内存数据,也就是将间隔64字节(当前CPU的缓存行大小)内存数据
其中的一个加载一次;
实现方式: a: 手工预读伪代码 (假设源数据在esi寄存器)
for (i;i &BestBufSi+=64) //预读数据总大小应该小于CPU的缓存
eax,[esi+i]
开始处理esi到esi+BestBufSize的源数据
b:使用专用CPU预读指令prefetch*替换mov
eax,[esi+i]
这类指令prefetchnta、prefetcht0、prefetcht1、prefetcht2等作
用是让CPU默认预读、或者指定预读数据到一级缓存或二级缓存...
a的方案比较通用,不需要CPU支持专用的预读指令,而且在我以前的P4核心赛扬
上a方案比b方案还快;
b方案对后来的CPU更友好一些,在我的AMD64X2上b比a快;
禁止写缓冲:当需要写入内存的数据比较多,或不需要立即再次访问写的数据的时候;可
以使用禁止写缓冲优化策略,减少缓冲区污染;
实现方式:使用CPU提供的流式写内存指令MOVNT*
这些指令包括:MOVNTQ、MOVNTI(SSE3)、MOVNTDQ、MOVNTPD,MOVNTPS,
(MOVNTSD、MOVNTSS在SSE4指令集支持)等等
这些指令针对了不同的寄存器类型或者寄存器里的不同数据类型
(sfence指令配合用于刷新写缓存,一般在处理完一块数据以后使用)
完整的缓存优化还包括 把函数内的局部数据布局到64byte的缓存行,寄存器不够用时可以使用
局部堆栈变量(局部变量)来代替(特别是对于常量)
不建议使用各处分布的全局变量,建议可以集中放到一个结构里,从而使他们占用相同的缓存行。。。
(对于内存地址数值给缓存时造成的hash碰撞(CPU的缓存行路数有限),如果发生也要考略避过(发生的情况比较少),...)
大整数运算中乘法是最核心的部分,而大整数乘法复杂度为O(N*log(N)),缓存优化所能起的效果需要楼主测试一下
======================================================================================================
另外,对于动态内存,建议自己写一个内存池的内存分配器
看了楼主的程序,发现还没有针对多核CPU做优化,可以考略加进去 (简单实现的话我的blog里有一个把任务动态分配到多CPU并行执行的C++类)
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于GPU的稀疏矩阵运算优化研究.pdf48页
本文档一共被下载:
次 ,您可免费全文在线阅读后下载本文档
文档加载中...广告还剩秒
需要金币:150 &&
你可能关注的文档:
··········
··········
学号 M学校代码10487 ___密级
硕士学位论文
基于 GPU 的稀疏矩阵运算优化研究
学位申请人:
计算机应用技术
指导教师:章 勤
答辩 日期: 2012 年 2 月 8 日
A Thesis Submitted in Partial Fulfillment of the R equirements
for the Degree of Master of Engineering
The Research on Optimizing Sparse Matrix
Computation Based on GPUCandidate : Tian Liang
Major : Computer ApplicationSupervisor : Professor Zhang QinHuazhong University of Science and Technology
Wuhan 430074, na
Feb., 2012
独创性 声明
本 人 声 明 所 呈 交 的 学 位 论 文 是 我 个 人 在 导 师 指 导 下 进 行 的 研 究 工 作 及 取 得 的 研
究 成 果 。 尽 我 所 知 , 除 文 中 已 经 标 明 引 用 的 内 容 外 , 本 论 文 不 包 含 任 何 其 他 个 人 或
集 体 已 经 发 表 或 撰 写 过 的 研 究 成 果 。 对 本 文 的 研 究 做 出 贡 献 的 个 人 和 集 体 , 均 已 在
文中以明确方式标明。本人完全意识到,本声明的法律结果由本 人承担。
学位论文作者签名:
学位论 文版权 使用授 权书
本 学 位 论 文 作 者 完 全 了 解 学 校 有 关 保 留 、 使 用 学 位 论 文 的 规 定 , 即 : 学 校 有 权
保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查 阅 和 借
阅 。 本 人 授 权 华 中 科 技 大 学 可 以 将 本 学 位 论 文 的 全 部 或 部 分 内 容 编 入 有 关 数 据 库 进
行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。保密□ ,在_____年解密后适用本授权书。
本论文属于
不保密□ 。
(请在以上方框内打“√” ) 学位论文作者签名:
指导教师签名:
日期: 年月日日期: 年月 日
华 中 科 技 大 学 硕 士 学 位 论 文
大 规 模 稀 疏 矩 阵
正在加载中,请稍后...

我要回帖

更多关于 整数乘法运算定律 的文章

 

随机推荐