avatar
我写的CUDA屏保软件# Hardware - 计算机硬件
h*1
1
李小璐和嘻哈歌手万万被拍到两个一起过夜了,后来就被媒体报道出轨了。后来李小璐
解释了说他们只是谈剧本,那个男方也解释了。李小璐的老公贾乃亮相信老婆,李小璐
的好朋友马苏出来作证。但是,很多人还是不相信李小璐没有出轨。
这件事发生以后,网上把李小璐出轨的证据全部挖出来了,说她和马苏两个人的口供对
不上。还有贾乃亮不知道她晚上去哪里了,直播还说老婆去做头发了。还有人把李小璐
最近几年的事情翻出来了,说她网红脸,整容脸。从一个明星变成了网红。作为一个妈
妈,一点都不稳重。还有其他的黑料!而贾乃亮对她很好的事情,那些细节也被翻出来
了,所以大家都很同情贾乃亮。他追了李小璐那么久,对她那么好。可是他的老婆却做
了对不起他的事情。并且,到现在还相信她。为了李小璐,贾乃亮努力工作,把她们母
女宠成公主,李小璐结婚以后还像一个少女。李小璐喜欢什么就给她买什么,因为她喜
欢嘻哈,贾乃亮才喜欢那个嘻哈歌手,并且把他当成弟弟。现在这两个人背着自己做了
对不起自己的事情。真的让人心疼。你们相信李小璐没有出轨吗?她到底出轨了吗?
avatar
O*d
2
前段时间在研究CUDA,写了一个练习用的屏保。下边是截屏图。 图形是动画的。 根据
你的显卡的能力,在1920x1080屏幕上,图像帧频可以自动从15赫兹到60赫兹变换。我
用的GeForce8600GTS,图像每秒可以更新15次。 最近换了GeForce460 图像更新每秒50
次。 图形是低频的Perlin Noise。 以前写过一个CPU的类似屏保,但QuadCore的CPU
计算一幅图像要1.5秒左右,还是用了OpenMP,但也无法实现实时动画。 用GPU计算,
只需要20毫秒即完成。 现在这个屏保只能在NVidia显卡上运行,准备过段时间把这个
屏保改成OpenCL的,就可以在NVidia和ATI的显卡上运行了
下载链接
http://www.mediafire.com/?7cgkd6kn374941h
avatar
a*e
3
u try to get a screensaver that
consume more power than you are play video game?
it sounds more last a screenburner.

50
CPU

【在 O*******d 的大作中提到】
: 前段时间在研究CUDA,写了一个练习用的屏保。下边是截屏图。 图形是动画的。 根据
: 你的显卡的能力,在1920x1080屏幕上,图像帧频可以自动从15赫兹到60赫兹变换。我
: 用的GeForce8600GTS,图像每秒可以更新15次。 最近换了GeForce460 图像更新每秒50
: 次。 图形是低频的Perlin Noise。 以前写过一个CPU的类似屏保,但QuadCore的CPU
: 计算一幅图像要1.5秒左右,还是用了OpenMP,但也无法实现实时动画。 用GPU计算,
: 只需要20毫秒即完成。 现在这个屏保只能在NVidia显卡上运行,准备过段时间把这个
: 屏保改成OpenCL的,就可以在NVidia和ATI的显卡上运行了
: 下载链接
: http://www.mediafire.com/?7cgkd6kn374941h

avatar
c*l
4
哈哈,我也觉得是
不过楼主的技术值得称赞!

【在 a***e 的大作中提到】
: u try to get a screensaver that
: consume more power than you are play video game?
: it sounds more last a screenburner.
:
: 50
: CPU

avatar
M*y
5
有64位版么?

50
CPU

【在 O*******d 的大作中提到】
: 前段时间在研究CUDA,写了一个练习用的屏保。下边是截屏图。 图形是动画的。 根据
: 你的显卡的能力,在1920x1080屏幕上,图像帧频可以自动从15赫兹到60赫兹变换。我
: 用的GeForce8600GTS,图像每秒可以更新15次。 最近换了GeForce460 图像更新每秒50
: 次。 图形是低频的Perlin Noise。 以前写过一个CPU的类似屏保,但QuadCore的CPU
: 计算一幅图像要1.5秒左右,还是用了OpenMP,但也无法实现实时动画。 用GPU计算,
: 只需要20毫秒即完成。 现在这个屏保只能在NVidia显卡上运行,准备过段时间把这个
: 屏保改成OpenCL的,就可以在NVidia和ATI的显卡上运行了
: 下载链接
: http://www.mediafire.com/?7cgkd6kn374941h

avatar
O*d
6
还没有。 这个32位版可以在64位机器上运行。

【在 M********y 的大作中提到】
: 有64位版么?
:
: 50
: CPU

avatar
O*d
7
这个屏保相当不环保。 基本把显卡的GPU潜力挖尽。

【在 a***e 的大作中提到】
: u try to get a screensaver that
: consume more power than you are play video game?
: it sounds more last a screenburner.
:
: 50
: CPU

avatar
M*y
8
提示说cudart_32.dll missing

【在 O*******d 的大作中提到】
: 还没有。 这个32位版可以在64位机器上运行。
avatar
O*d
9
你需要下载cudart_32.dll。 这个dll是CUDA的runtime。 最简单的就是下载全套CUDA
SDK

【在 M********y 的大作中提到】
: 提示说cudart_32.dll missing
avatar
l*e
10
有意思.
这个冬天用合适,显卡当小电暖气使.
avatar
O*d
11
运行开始后,有一个叫test2.txt的文件被产生或更新。 其内容如下
15.518912 18.481120
15.595360 18.413234
18.680639 24.259508
15.684287 19.304968
15.714080 21.223647
15.708960 19.361958
timer 22, TimerScaleFactor 2.666667
前六排的第一个数字是计算一幅图像GPU运行时间,单位是毫秒。 第二个数字是一幅图
像的总时间,包括图像的后处理和显示。 timer 22的意思是刷屏一次要用22毫秒。用
的是上边6次的平均值区间化。 这个数字可以用来判断你的显卡的GPU能力。
avatar
N*w
12
这个是不是比较耗电...hehe

50
CPU

【在 O*******d 的大作中提到】
: 前段时间在研究CUDA,写了一个练习用的屏保。下边是截屏图。 图形是动画的。 根据
: 你的显卡的能力,在1920x1080屏幕上,图像帧频可以自动从15赫兹到60赫兹变换。我
: 用的GeForce8600GTS,图像每秒可以更新15次。 最近换了GeForce460 图像更新每秒50
: 次。 图形是低频的Perlin Noise。 以前写过一个CPU的类似屏保,但QuadCore的CPU
: 计算一幅图像要1.5秒左右,还是用了OpenMP,但也无法实现实时动画。 用GPU计算,
: 只需要20毫秒即完成。 现在这个屏保只能在NVidia显卡上运行,准备过段时间把这个
: 屏保改成OpenCL的,就可以在NVidia和ATI的显卡上运行了
: 下载链接
: http://www.mediafire.com/?7cgkd6kn374941h

avatar
O*d
13
是的。GPU计算都比较费电。 在我的系统上,要多费电100瓦。

【在 N****w 的大作中提到】
: 这个是不是比较耗电...hehe
:
: 50
: CPU

avatar
h*o
14
这是保屏爆卡的利器啊,就看哪个抗得久了
avatar
a*a
15
。。。。。。。

【在 O*******d 的大作中提到】
: 是的。GPU计算都比较费电。 在我的系统上,要多费电100瓦。
avatar
d*o
16
牛啊...
我这两天也在想用GPU写一个数值积分的算法...
GPU编程太伤脑筋了.

50
CPU

【在 O*******d 的大作中提到】
: 前段时间在研究CUDA,写了一个练习用的屏保。下边是截屏图。 图形是动画的。 根据
: 你的显卡的能力,在1920x1080屏幕上,图像帧频可以自动从15赫兹到60赫兹变换。我
: 用的GeForce8600GTS,图像每秒可以更新15次。 最近换了GeForce460 图像更新每秒50
: 次。 图形是低频的Perlin Noise。 以前写过一个CPU的类似屏保,但QuadCore的CPU
: 计算一幅图像要1.5秒左右,还是用了OpenMP,但也无法实现实时动画。 用GPU计算,
: 只需要20毫秒即完成。 现在这个屏保只能在NVidia显卡上运行,准备过段时间把这个
: 屏保改成OpenCL的,就可以在NVidia和ATI的显卡上运行了
: 下载链接
: http://www.mediafire.com/?7cgkd6kn374941h

avatar
g*g
17
这个耗的也太狠了
你看看有没有优化的办法

【在 O*******d 的大作中提到】
: 是的。GPU计算都比较费电。 在我的系统上,要多费电100瓦。
avatar
j*g
18
好啊
现在一提并行就是cuda
楼主 有没有想过opencl什么的
avatar
O*d
19
准备把这个屏保改成OpenCL。

【在 j*******g 的大作中提到】
: 好啊
: 现在一提并行就是cuda
: 楼主 有没有想过opencl什么的

avatar
O*d
20
这个没有办法。 GPU有几十个到几百个处理器平行计算。 只要计算,就会耗电。
越快的显卡,耗电越大。 其实同样的计算量,GPU比CPU省电。因为GPU硬件
优化了浮点数计算。 比如说我这个程序,在100瓦的计算功率下,每20毫秒即可
计算出一幅图像,而使用4核CPU,耗电50瓦,计算一幅图像需要1.5秒。 使用
GPU的目的是为了大量快速计算,大量计算就费电了。现在的GPU计算速度已经
和80年代的超级计算机相当了。

【在 g*******g 的大作中提到】
: 这个耗的也太狠了
: 你看看有没有优化的办法

avatar
O*d
21
平行计算,需要理解两个概念。 一个是数据平行,每一个点数据的计算和
其他点数据无关。我用的就是数据平行。 图形中的每一个点的计算都是独
立的,由该点的x,y,z来决定的。 另一个概念是任务平行,就是把一个大任
务分割成几个互相独立的小任务,送到多个处理器平行处理。 比如说,
memcpy这个C函数,如果copy的数据巨大,可以分成几个小区间的memcpy,
分给几个处理器去平行操作。

【在 d**o 的大作中提到】
: 牛啊...
: 我这两天也在想用GPU写一个数值积分的算法...
: GPU编程太伤脑筋了.
:
: 50
: CPU

avatar
t*o
22
楼主很在行。
avatar
D*i
23
对于液晶屏,所谓的ScreenSaver都是ScreenBurner
但楼主这个是Video Card Burner

【在 a***e 的大作中提到】
: u try to get a screensaver that
: consume more power than you are play video game?
: it sounds more last a screenburner.
:
: 50
: CPU

avatar
m*p
24
sigh, 不知道是哪国的教育失败
avatar
T*n
25
牛,能显示帧数吗?可以作为测cude的软件

50
CPU

【在 O*******d 的大作中提到】
: 前段时间在研究CUDA,写了一个练习用的屏保。下边是截屏图。 图形是动画的。 根据
: 你的显卡的能力,在1920x1080屏幕上,图像帧频可以自动从15赫兹到60赫兹变换。我
: 用的GeForce8600GTS,图像每秒可以更新15次。 最近换了GeForce460 图像更新每秒50
: 次。 图形是低频的Perlin Noise。 以前写过一个CPU的类似屏保,但QuadCore的CPU
: 计算一幅图像要1.5秒左右,还是用了OpenMP,但也无法实现实时动画。 用GPU计算,
: 只需要20毫秒即完成。 现在这个屏保只能在NVidia显卡上运行,准备过段时间把这个
: 屏保改成OpenCL的,就可以在NVidia和ATI的显卡上运行了
: 下载链接
: http://www.mediafire.com/?7cgkd6kn374941h

avatar
M*y
26
这个建议好,同顶一下。

【在 T****n 的大作中提到】
: 牛,能显示帧数吗?可以作为测cude的软件
:
: 50
: CPU

avatar
j*g
27
牛呀 等待opencl 我也最近正研究 message passing 类的 learning 算法如何并行实
现 不知道选 cuda 还是 opencl

【在 O*******d 的大作中提到】
: 准备把这个屏保改成OpenCL。
avatar
t*t
28
我能不能问一下你这感叹是从哪里来的?

【在 m*p 的大作中提到】
: sigh, 不知道是哪国的教育失败
avatar
z*c
29
挺好,有没有计划公开源代码?
avatar
O*d
30
运行开始后,有一个叫test2.txt的文件被产生或更新。 其内容如下
15.518912 18.481120
15.595360 18.413234
18.680639 24.259508
15.684287 19.304968
15.714080 21.223647
15.708960 19.361958
timer 22, TimerScaleFactor 2.666667
前六排的第一个数字是计算一幅图像GPU运行时间,单位是毫秒。 第二个数字是一幅图
像的总时间,包括图像的后处理和显示。 timer 22的意思是刷屏一次要用22毫秒。用
的是上边6次的平均值区间化。 这个数字可以用来判断你的显卡的GPU能力。 记录的
刷屏时间范围从15毫秒到60毫秒, 超出范围的都收在范围的边界上, 不是真实值。 但GPU时间是真实的。

【在 T****n 的大作中提到】
: 牛,能显示帧数吗?可以作为测cude的软件
:
: 50
: CPU

avatar
O*d
31
CUDA只能在NVidia显卡上运行。 OpenCL应该可以在NVidia和ATI的显卡上运行。

【在 j*******g 的大作中提到】
: 牛呀 等待opencl 我也最近正研究 message passing 类的 learning 算法如何并行实
: 现 不知道选 cuda 还是 opencl

avatar
O*d
32
可以公开。 等我把我的个人信息去掉再公开。 整个计算稍微复杂。分三步, 首先计
算Perlin Noise。 然后做Bicubic Interpolation进行插值。 一共插4个值,然后赋予
颜色,再把4个颜色值平均,就是最后的像素颜色。 做三次方插值是为了antialiase。
但计算时间多了一倍。 你可以注意到图形曲线是非常平滑没有锯齿的。 按空格键可
以截屏存成jpg文件。

【在 z****c 的大作中提到】
: 挺好,有没有计划公开源代码?
avatar
m*s
34
memcpy实际上还是数据并行,而且这个受memory bandwidth局限,不是最能体现GPU加
速的任务。
任务并行应该是多核cpu的意思,不同的核干不同的活,有的画图,有的算物理这样。
不过gpu在任务并行上也有局限,不是所有的核都能完全独立干活的,不管n家还是a家
,都是16/32个核得干一样的事情。gpu最佳的任务还是数据并行,并且要有足够大的计
算/读内存比来饱和核计算量

【在 O*******d 的大作中提到】
: 平行计算,需要理解两个概念。 一个是数据平行,每一个点数据的计算和
: 其他点数据无关。我用的就是数据平行。 图形中的每一个点的计算都是独
: 立的,由该点的x,y,z来决定的。 另一个概念是任务平行,就是把一个大任
: 务分割成几个互相独立的小任务,送到多个处理器平行处理。 比如说,
: memcpy这个C函数,如果copy的数据巨大,可以分成几个小区间的memcpy,
: 分给几个处理器去平行操作。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。