intel超线对一些CPU任务没有性能提升
本帖最后由 PiscesXP 于 2016-1-17 14:51 编辑前段时间开始在一台平板教学机上跑BOINC
大略配置如下:
CPU: i3-3110M 2C4T 2.4GHz
内存:DDR3 1600 4GB
系统:Win7 32 Pro
平时挂着BOINC跑EAH的CPU任务
总感觉开着超线程可以多一些性能,所以一直开着四个线程(不然i7怎么会比i5贵出这么多呢?←_←)
四线程同时跑,每个任务大都耗时15-17小时(好久啊)
某天心血来潮,去网上查了一下,超线程到底可以提升多少性能呢?
看了一下评测,用许多跑分软件,开/关超线程跑出的分数竟没有差别!
有差别的貌似就只有国际象棋了吧。。。
然后在教学机上限制两个线程运行,结果出乎预料!
每个任务的时间变成了7-8小时,效率和四线程不相上下(甚至更高)
由此可见,超线程对一些任务是没有提升的(尤其是CPU已经满载时)
大家不妨试试看,同时少跑一些任务,也许效率不会下降,还能省下很多内存呢!(EAH每线程400MB!)
对那些动不动就32线程的服务器,也许可以省下几条内存
(当然,超出的线程留给GPU任务是极好的)
这个东西要具体测算一下,E@H开超线程还是好一点的。intel的超线程最多也就提高20%左右,没有多厉害。 本帖最后由 PiscesXP 于 2016-1-17 15:21 编辑
vardrag 发表于 2016-1-17 15:00
这个东西要具体测算一下,E@H开超线程还是好一点的。intel的超线程最多也就提高20%左右,没有多厉害。 ...
查了一下最近的任务时间(秒):
四线程:
53,099
46,100
49,552
双线程:
29,342
29,234
27,215
29,830
貌似还是四线程效率比较高。。。就是占内存有些多
GPU计算有时也面临这种选择。
蓝框以上是GPU单任务,蓝框以下是GPU双任务。
freestman 发表于 2016-1-17 15:39
GPU计算有时也面临这种选择。
蓝框以上是GPU单任务,蓝框以下是GPU双任务。
...
GPU怎么跑双任务。。。新人求教
freestman 发表于 2016-1-17 15:39
GPU计算有时也面临这种选择。
蓝框以上是GPU单任务,蓝框以下是GPU双任务。
...
这个主要看GPU占用,多线程可以提高利用率,但是超过一定值增加线程就没用了。
也有例外,比如E@H,A卡GCN1.1及以后架构用旧版本驱动或者最开始的几个深红驱动会出现多线程效率不如单/少线程的问题,虽然表观占用更高。
PiscesXP 发表于 2016-1-17 15:45
GPU怎么跑双任务。。。新人求教
改成0.5就是跑双任务了。
freestman 发表于 2016-1-17 15:53
改成0.5就是跑双任务了。
目前改第一个就够了
要看什么程序。一般来说,优化得不好的或者用整数运算和分支比较多的程序,超线程就会有好处,因为超线程实际上就是把超标量流水线里用不完的部分废物利用了。通过计算的性质和算法可以猜什么程序用超线程好,但是最靠谱还是实测。 那上按摩店的U是不是好一点?毕竟核心多。可惜手上没有,试不了。 horst1981 发表于 2016-1-20 23:19
那上按摩店的U是不是好一点?毕竟核心多。可惜手上没有,试不了。
核心多并不能算是优势。
都怪按摩店成天不作为一天到晚靠放PPT过日子,整出来的U和MTK一样喜欢堆核心,功耗高。
把GT630改成同时跑两个GPU包,原先一个GPU包298xx秒,现在两个GPU包58xxx秒,算是进步了一些些吧
超线程对于操作系统调度用户进程有好处,现在的系统的系统进程是浮动在多个核心之间运行的。
简单来说就是操作系统会在切换进程上下文的时候加快一点点速度,而这个操作几乎是时刻进行的。
这就是为什么满载的时候i7比起i5、i3更加流畅的原因。
页:
[1]