POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
楼主: 紫色
打印 上一主题 下一主题

那位编程举个例子, 把sse的"威力"释放一下?

[复制链接]
41#
 楼主| 发表于 2007-9-29 23:37 | 只看该作者
但是利用了双核优化?随便一个计算量大点的lapack程序,只要开了双核优化,速度上去个百分之几十很容易的。他所说的sse优化对速度提高的贡献大概多少?
谈到双核优化,到目前为止我的感觉是: 大多数情况下还不如关闭双核优化而使用openmp,速度提升更大。intel的c/fortran早就支持openmp甚至还改进为所谓cluster openmp。

[ 本帖最后由 紫色 于 2007-9-29 23:49 编辑 ]
回复 支持 反对

使用道具 举报

42#
发表于 2007-9-29 23:39 | 只看该作者
原帖由 紫色 于 2007-9-29 23:37 发表
但是利用了双核优化?随便一个计算量大点的lapack程序,只要开了双核优化,速度上去40%很容易的。sse3对速度提高了多少还是未知?

你去那个网站看看详细的优化报告,每一个步骤提高了多少都清清楚楚
可以看到单独SSE提高了多少.
看看这个http://blog.csdn.net/flyingdog/archive/2007/01/21/1489183.aspx

[ 本帖最后由 Ricepig 于 2007-9-29 23:41 编辑 ]
回复 支持 反对

使用道具 举报

43#
发表于 2007-9-29 23:57 | 只看该作者
虽然像基于SSE2这样的double precision指令集的运算器能透过特定的方法来跑quadruple precision,但是速度只怕会下降到1/30~1/300。
回复 支持 反对

使用道具 举报

44#
发表于 2007-9-30 00:01 | 只看该作者
原帖由 Ricepig 于 2007-9-29 23:19 发表

IA-32 Intel Architecture Optimization Reference Manual 2-56页
"x87 supports 80-bit precision, double extended floating point.
Streaming SIMD Extensions support a maximum of 32-bit
precisio ...

你不会连最基本的概念都没有吧
cell怎么处理dp的?
还不是32l,32h,最多效率下来一大截罢了
MULPD xmmreg1, xmmreg2
随便拿条乘法出来说说嘛
xmm能是两个dp为什么不是一个128?
64l,64h不就是128:huh:
谁说不能做了
回复 支持 反对

使用道具 举报

45#
发表于 2007-9-30 00:05 | 只看该作者
原帖由 Dr.BT 于 2007-9-30 00:01 发表

你不会连最基本的概念都没有吧
cell怎么处理dp的?
还不是32l,32h,最多效率下来一大截罢了
MULPD xmmreg1, xmmreg2
随便拿条乘法出来说说嘛
xmm能是两个dp为什么不是一个128?
64l,64h不就是128:huh:  ...

SPE有专门的非流水线SI2D FP64 IEEE754单元。
回复 支持 反对

使用道具 举报

46#
发表于 2007-9-30 00:54 | 只看该作者
原帖由 Dr.BT 于 2007-9-30 00:01 发表

你不会连最基本的概念都没有吧
cell怎么处理dp的?
还不是32l,32h,最多效率下来一大截罢了
MULPD xmmreg1, xmmreg2
随便拿条乘法出来说说嘛
xmm能是两个dp为什么不是一个128?
64l,64h不就是128:huh:  ...

两个64bit拼的128位浮点运算,属于偏软件实现,和本贴讨论的内容无关,而且拼起来的效率很低,不信你自己想想一个比较著名的问题"大数乘法"
Intel的文档说不支持128bit精度,某些人就是要嘴硬~~~
回复 支持 反对

使用道具 举报

47#
 楼主| 发表于 2007-9-30 02:31 | 只看该作者
看来也没有人来提供程序和数据,那就这样结束。感谢ricepig提供了对sse2优化的一个例子。非图形图像程序,simd如真能贡献10%的性能提升就令人刮目相看了。

顺便反驳一下前面3位高手:
1) p3/p4依靠sse压倒k7肯定是图形图像领域,数值计算领域这不可能。不要忘记p4中运行一条128位sse指令是两个周期,而x87是一个周期。考虑到simd的使用限制,科学计算程序在p4上舍x87而对sse优化只能吃亏。
2) 同样的理由,有人说athlonXp 1600+对athlon 1.4G的spec的相关部分测试性能提高是sse的功劳,不令人存疑吗?谁能解释sse哪里来的那种能耐?
3) 只有对core2/barcelona,数值计算程序才有进行sse优化的价值。“高手”们真要从网上拉程序拉数据,也要从这里入手吧?呵呵。那位拉了一个2001年中山大学bbs的程序,估计你也没有跑过从而不能提供运行时间等对比,大概只能在概念上对我有说服力吧?

sse提供了理论上2倍于x87的速度,但是simd的使用受数据关联和编译器优化能力的限制,也要受simd指令在整个计算量中的比重的影响。最终是什么结果,我会慢慢去测试。讨论到这里就可以了。封帖。

[ 本帖最后由 紫色 于 2007-9-30 03:35 编辑 ]
回复 支持 反对

使用道具 举报

48#
发表于 2007-9-30 03:23 | 只看该作者
http://www1.ap.dell.com/content/topics/topic.aspx/ap/topics/power/zhcn/ps3q02_arrian?c=cn&l=zh&s=lca
图7及其文字说明,他们比较了p4处理器使用两种atlas的效率。



原帖由 紫色 于 2007-9-30 02:31 发表

看来也没有人来提供程序和数据,那就这样结束。感谢ricepig提供了对sse2优化的一个例子。非图形图像程序,simd如真能贡献10%的性能提升就令人刮目相看了。

顺便反驳一下前面3位兄弟:
1) p3/p4依靠sse压倒 ...
回复 支持 反对

使用道具 举报

49#
发表于 2007-9-30 07:38 | 只看该作者
原帖由 紫色 于 2007-9-30 02:31 发表
看来也没有人来提供程序和数据,那就这样结束。感谢ricepig提供了对sse2优化的一个例子。非图形图像程序,simd如真能贡献10%的性能提升就令人刮目相看了。

顺便反驳一下前面3位高手:
1) p3/p4依靠sse压倒 ...


晕倒,看了你这套理论,AMD都得给活活笑死!谁告诉你而x87能够一个周期搞完一条128位精度运算的?还有,128位是寄存器的宽度,不是指令的精度,你喷出的这套理论来看,你完全从根本上都不知道SSE为何物!SSE的能耐是定义了8个全新的128位寄存器,每个寄存器可以同时存放和处理4个单精度浮点数(每个32位长),进行128位精度运算时,在软件上完全可以利用这些寄存器和SIMD方式来高速实现,而不必再象X87那样去压堆栈,寄存器的操作是最省时最快的,特别是4个数一起做完的时候。所谓的SSE优化就是怎样让在这些寄存器的四个数,或者两个数通过一条指令同时做完运算,这样才能把原来需要4步的运算在一步内弄完。我拉那个程序给你看,是因为那个东西写得比较简单明白,画公仔都画出肠了,没想到你还是看不懂。
回复 支持 反对

使用道具 举报

头像被屏蔽
50#
发表于 2007-9-30 07:58 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

51#
发表于 2007-9-30 09:08 | 只看该作者
我现在才知道AMD绝对是可以死而无憾了,以前我一直是认为AMD可以坚持下去

AMD的国内人士都能说出SSE无用论,并且是好几天的刷版,既然SSE无用,就无用好了,这有什么好争的呢?
回复 支持 反对

使用道具 举报

52#
发表于 2007-9-30 09:11 | 只看该作者
还是说AMD中国在搞SSE无用论调查,不知道是不是全球同步

看来K11是打算不支持SSE,专心来搞SSE5的
回复 支持 反对

使用道具 举报

头像被屏蔽
53#
发表于 2007-9-30 09:12 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

54#
发表于 2007-9-30 09:16 | 只看该作者
原帖由 晶晶守护神 于 2007-9-30 09:12 发表

乱说 从p3的  SSE 就是128bit

这个128bit是寄存器位宽。实际上sse不支持64位以上的操作数----------当然也没什么必要支持。
128位精度的浮点只在很小范围内有用,多数cpu也不直接提供支持。
回复 支持 反对

使用道具 举报

头像被屏蔽
55#
发表于 2007-9-30 09:17 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽
56#
发表于 2007-9-30 09:19 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

57#
发表于 2007-9-30 09:27 | 只看该作者
额...
被Interlife给忽悠住了~~~
回复 支持 反对

使用道具 举报

58#
发表于 2007-9-30 09:39 | 只看该作者
原帖由 紫色 于 2007-9-30 02:31 发表
看来也没有人来提供程序和数据,那就这样结束。感谢ricepig提供了对sse2优化的一个例子。非图形图像程序,simd如真能贡献10%的性能提升就令人刮目相看了。

顺便反驳一下前面3位高手:
1) p3/p4依靠sse压倒 ...

东西都有了,非要其他人给你详细指出吗?
Spec的189.lucas是fortran99编的质数判定,标准的数值运算,P4 1.4执行时间269,P3-s 1.4执行时间517,AthlonXP 1.4G执行时间369,Athlon 1.4G执行时间654,论X87性能肯定是Athlon=AthlonXP>P3>p4,你觉得这个结果的是如何产生的。
回复 支持 反对

使用道具 举报

59#
 楼主| 发表于 2007-9-30 11:53 | 只看该作者
原帖由 Intelife 于 2007-9-30 07:38 发表


晕倒,看了你这套理论,AMD都得给活活笑死!谁告诉你而x87能够一个周期搞完一条128位精度运算的?还有,128位是寄存器的宽度,不是指令的精度,你喷出的这套理论来看,你完全从根本上都不知道SSE为何物!SS ...


行了行了,别YY了。
x87是80位的。x87浮点计算是使用堆栈。128位sse指的当然是数据位, 一个指令操作4个32位或者2个64位。ok?

[ 本帖最后由 紫色 于 2007-9-30 12:16 编辑 ]
回复 支持 反对

使用道具 举报

60#
 楼主| 发表于 2007-9-30 12:05 | 只看该作者
原帖由 acqwer 于 2007-9-30 09:39 发表

东西都有了,非要其他人给你详细指出吗?
Spec的189.lucas是fortran99编的质数判定,标准的数值运算,P4 1.4执行时间269,P3-s 1.4执行时间517,AthlonXP 1.4G执行时间369,Athlon 1.4G执行时间654,论X87性 ...


我没有看到那个程序的源码,不敢说更多。
质数判定可能是整数编程吧?判定质数需要解析数论的知识从而引入浮点计算么?who knows?
我说了,最好有源码编一遍跑一遍,否则你只能去猜。

[ 本帖最后由 紫色 于 2007-9-30 12:17 编辑 ]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2025-8-6 10:35

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表