如何利用GPU来跑程序?以及一些相关问题..

某大一菜鸟 2012-08-01 01:10:50
最近在帮同学做他的C++大作业,一个遗传算法的演示demo..
在查资料的时候发现了一篇很有价值的帖子,奈何有许多不解之处,故到此一问..
http://blog.csdn.net/yang3wei/article/details/7704056

主要问题:

文中“貌似大部分计算都放在GPU里了”利用GPU进行运算是怎么实现的?


次要问题:
1.
“还需要在CPU里将每个像素的差值加到一起,不要小看这个简单的浮点数加法,在我的初始版本里,大量的浮点数加法竟然占用了90%的CPU,后来我用了一个比较有意思的技巧,先在GPU里将每个像素的差值放在[1.0,2.0)之间,根据IEEE标准,这个区间的浮点数的二进制格式的符号以及指数部分是相同的,所以可以直接通过一个and运算就可以得到尾数部分,然后转换为整数加法,速度就快多了”

那个根据IEEE标准的and运算是神马原理?求实例解释..

2.
“首先是通过GPU合成图像,比起使用GDI或者Canvas速度当然快许多,不过代价就是只能使用三角形”
求做法..

3.
用QImage实现文中的三角形绘图操作时,所绘三角形是直接覆盖先前的图案(也就是没有“图层”叠加)呢,还是说会有图层叠加现象出现?

这是所谓的“叠加”现象,不知道这个术语是不是这样表述的..


谢谢各位大神指导...


...全文
1512 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
IVERS0N 2012-08-01
  • 打赏
  • 举报
回复
cuda
tongzhipeng5699 2012-08-01
  • 打赏
  • 举报
回复
呵呵,不懂
以前网上查WPA2无线破解的时候,碰到一个软件EWSA(Elcomsoft Wireless Security Auditor),这个就是用GPU来破解的,极大的提高了运算速度。
zqz981 2012-08-01
  • 打赏
  • 举报
回复
GPU计算 相关的问题 可以参考 NvidiA的cuda或者 AMD的OpenCL 具体实现方式不是很清楚。
某大一菜鸟 2012-08-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

这个真不懂

不过大量浮点运算很容易用SIMD,可以试试SSE或intel的一些开发库
[/Quote]

谢谢!
jackyjkchen 2012-08-01
  • 打赏
  • 举报
回复
这个真不懂

不过大量浮点运算很容易用SIMD,可以试试SSE或intel的一些开发库
某大一菜鸟 2012-08-01
  • 打赏
  • 举报
回复
自己顶一下..

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧