由于CPU的摩尔定律已经不再适用目前加速程序的最佳选择就是通过GPU并行。经过几天的摸索后完成了这个利用GPU加速积分算法的小实验。
数值积分中最常用的方法之一就是辛普森积分法首先我们写出一段三阶辛普森积分的小程序:
其中device函数就是我们要计算的被积函数,而global声明的就是被积函数对应的kernel函数
鈳能会问为什么要运行10遍。其实是因为第一次运行时和原来利用CPU计算时做个了个比较发现GPU计算速度在步数取时居然还没有CPU算的快,大惊の下感觉又运行了几次发现一个很奇怪的现象,GPU做第一次计算时的速度是比较慢的但第二次开始就十分快了,难道GPU和汽车一样还有一個起步加速阶段
前面是用了一个GPU的程序,因为手边可利用的GPU有4个所以重新写了一下:
注意其中在运行kernel函数时初始值不再是,而是
就運行结果来说,使用4个GPU后第一次加速很明显但随后的几次用时和1个GPU加速后用时相差不大,但都只有CPU用时的十分之一左右总体来说还算昰理想的。可能更负责的计算才能体现出GPU加速的优越性吧
§1/(2+5cosx)dx该如何积分?要求要详细的求解過程.能给出这一类积分的求法更好
这是高等数学上册一元积分的一道课后题.请求高手指导!
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。