POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 4061|回复: 11
打印 上一主题 下一主题

一些常见动作的浮点操作数量

[复制链接]
跳转到指定楼层
1#
发表于 2006-2-1 21:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
texture interpolation(FP16 on NV G60/G70):
Bilinear interpolation per one component takes 4 multiplies, 3 adds and 2 subs: 9 ops, x4 channels = 36 flops.

blend operation (FP16  on G60/G70/X1000buffer) 12 flops.

vec4 add/mul/sub(?)/div(?): 1flop*4 = 4flops

vec4 mad: 2 flops*4 = 8 flops

nrm:

squareRootOfTheSum = (src0.x*src0.x + src0.y*src0.y + src0.z*src0.z)1/2;
dest.x = src0.x * (1 / squareRootOfTheSum);
dest.y = src0.y * (1 / squareRootOfTheSum);
dest.z = src0.z * (1 / squareRootOfTheSum);
dest.w = src0.w * (1 / squareRootOfTheSum);
"在計算「平方根倒數」的時候,通常是用查表(假設不需要高的精確度),因此,它通常不算成一個浮點咚恪
carl319 该用户已被删除
2#
发表于 2006-6-26 20:23 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

3#
发表于 2006-7-16 11:50 | 只看该作者
去看看定点DSP怎么产生足够精度的小数(比如Ti的一堆数学运算库函数),就知道大部分pc平台的程序员在算法优化方面差距还太远。
回复 支持 反对

使用道具 举报

RacingPHT 该用户已被删除
4#
发表于 2006-7-16 15:16 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

5#
发表于 2006-7-16 18:47 | 只看该作者
我没有贬低通用库函数,我的意思是在游戏这类对精度要求不高的运算上,可以在某些时候采用定点算法来取代浮点算法。而定点算法的典型应用就是Ti在其定点DSP上写的库函数,可以作为参考。而PC程序员由于几乎不会考虑浮点和定点有什么区别(谁让PC有FPU呢),因此很多人甚至不知道定点小数为何物。定点算法基本等同于整数运算,因此比浮点运算需要的指令周期更少。但是其精度有限,需要更长的位数来保证精度,同时容易出现溢出等问题,因此需要程序员对其精心设计,一般PC程序员是不会干这种脏活累活的,只有定点DSP开发者才会专心于这些算法。
回复 支持 反对

使用道具 举报

RacingPHT 该用户已被删除
6#
发表于 2006-7-16 21:48 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

7#
发表于 2006-8-7 19:33 | 只看该作者
原帖由 carl319 于 2006-6-26 20:23 发表
reciprocal square roots在游戏中vector normalization的计算很有必要,的确查表可以换来速度提升,这也是一般游戏所采用的方法。但如果看看quake3的源代码,你就会发现carmark确实很强。
给出purdue unversity某 ...


如果用 SSE, 一条汇编 sqrtss 就差不多了
回复 支持 反对

使用道具 举报

8#
发表于 2006-9-4 16:55 | 只看该作者

回复 #2 carl319 的帖子

这个反sqrt的技巧在ICC编译器面前就是笑话,轻易就能干掉。 一大悲剧。
回复 支持 反对

使用道具 举报

9#
发表于 2006-9-4 17:03 | 只看该作者

回复 #5 vp 的帖子

TI的C62/64浮点库,DSP若要达到float基本精度来计算,是要付出毁灭性的性能倒退的代价。 性能上, 能不能干过被淘汰了好几年的CPU都是大问题,将被轻易摧毁。

一些DSP开发人员, 根本不了解 CPU的性能优化 已经能够深入到什么地步, 或者对DSP性能限制并不了解,太不知深浅了。
回复 支持 反对

使用道具 举报

10#
发表于 2006-9-20 21:14 | 只看该作者
回忆起当年ps没有fpu,不得不手写并且维护一个定点库的惨痛经历。
无论如何不想再回到那个时代了,代码维护的噩梦啊。
回复 支持 反对

使用道具 举报

RacingPHT 该用户已被删除
11#
发表于 2006-9-20 21:40 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

RacingPHT 该用户已被删除
12#
发表于 2006-9-25 11:11 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-5 06:53

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

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