由买买提看人间百态

topics

全部话题 - 话题: 浮点数
首页 上页 1 2 3 4 5 6 7 8 下页 末页 (共8页)
k**********g
发帖数: 989
1
请看看OpenCV里阵列除法的实现。
传说中的俄罗斯高手写的。在他们面前,我们都是文科生。
https://github.com/Itseez/opencv/blob/master/modules/core/src/arithm.cpp
Look for:
template static void
div_( const T* src1, size_t step1, const T* src2, size_t step2,
T* dst, size_t step, Size size, double scale )
X****r
发帖数: 3557
2
loop unrolling是常见的技术,如果这个是你指的话。
我还以为你要说那个用整数乘法和其它操作代替整数除法的trick呢。
p***o
发帖数: 1252
3
他是说把4个除法换成1个除法加若干乘法把。
t****t
发帖数: 6806
4
这个更谈不上什么高明的东西了, 数值计算哪能这么随意变化的. 都是有一堆前提条件
的.
k**********g
发帖数: 989
5

Sorry, seems you are right. Even though they checked for zeroes, they didn't
consider the underflow of intermediate products.
s*w
发帖数: 729
6
来自主题: Programming版 - 求算法
如果你就是要结果的话,推荐用现成的 package, 比如 matlab 的 optimization tool
box, 或者 c++ 的 gecode 库
自己写的话,貌似不是很容易,考虑到 xi 是浮点数; 得看看那些基本的解法,比如 s
implex, interior-point, 不过很多介绍都是大概念,没足够的细节;找一个好的面向
implementation 的教材不容易。
xi 要是 integer 的话,小问题可以直接 穷举; 大问题也许可以用 dp, 很像 knapsac
k, 我没想清楚怎么用
r*g
发帖数: 3159
7
来自主题: Programming版 - 做题,级数求和
这是面试题考浮点数精度算法的吗?
r*g
发帖数: 3159
8
来自主题: Programming版 - 做题,级数求和
这是面试题考浮点数精度算法的吗?
m****7
发帖数: 69
9
来自主题: Programming版 - int这种类型的存在意义是什么?
俺的代码运行的平台是16位的,只有512 bytes的内存,没有浮点数单元,主频1Mhz。
。。这个时候int的意义就体现出来了
F**p
发帖数: 1046
10
来自主题: Programming版 - 一个dot net浮点运算的问题
缺省的存储方式都是double吧。我不加任何的suffix,程序全部用的double。
我直接做数相乘是对的:比如
double outcome4 = 12.6*0.11985; //1.51011
但是,做变量相乘就不对,比如
double x = 12.6;
double y = 0.11985;
double outcome5 = x * y; //1.5101100206375122
w***g
发帖数: 5958
11
来自主题: Programming版 - 有没有觉得scipy很稀烂的?
浮点数大数+小数会导致精度丧失。加到后来就加不上去了。
D***n
发帖数: 6804
12
来自主题: Programming版 - 请不要盲目崇拜FP语言
科学计算常见是这样的
一个每分钟几个G的采样数据流不停涌过来,然后需要对这些数据流进行各种分解计算
,说白了就是各种卷积啊,解各种方程啊,速度当然是越快越好。比如一个512^4 的64
位浮点数矩阵和一个64^3的核函数求卷积。
优化首先牵涉到各种算法——通常有专门的人在NSF等科研基金会下做,这个你做不了
,做出来也肯定通常是多线程,高度硬件优化的,我以前做过。有时候核心循环多2个
if语句都是犯罪,要想个算法来绕过去。
Python的用途是外围计算,安排数据,调试,界面等等等等,说实话大部分情况下用不
着concurrency,这些任务就算纯汇编写也就提高2%速度,意义不大。
w***g
发帖数: 5958
13
来自主题: Programming版 - 妈的怎么那么多鸡毛语言/软件
最近想搞个神经网络的东西玩玩,你玛就没一个能舒舒服服上的轮子。
有的要lua,有的要很奇怪的python库。有的要用scons编译。
然后无一例外的都要加新的apt源(redhat系的人还有不少好不好!!!)
我已经是一个很能折腾的人了,最近都感觉快抗不住了br />
lua这语言有啥好的地方,用
的同学能给普及普及吗?看了眼语法觉得好糙的说,
连整数和浮点数都不分。
w***g
发帖数: 5958
14
来自主题: Programming版 - 妈的怎么那么多鸡毛语言/软件
最近想搞个神经网络的东西玩玩,你玛就没一个能舒舒服服上的轮子。
有的要lua,有的要很奇怪的python库。有的要用scons编译。
然后无一例外的都要加新的apt源(redhat系的人还有不少好不好!!!)
我已经是一个很能折腾的人了,最近都感觉快抗不住了br />
lua这语言有啥好的地方,用
的同学能给普及普及吗?看了眼语法觉得好糙的说,
连整数和浮点数都不分。
c*****w
发帖数: 50
15
来自主题: Programming版 - 我来科普下深度学习的应用范围吧
代价是无限的浮点数精度
w***g
发帖数: 5958
16
来自主题: Programming版 - 懂deepmind得说说
我不懂底层工艺,假设用相当的工艺,我觉得FPGA能做到更高的集成度,
更省芯片面积更省电,或者在相同的面积上做到更大的数据规模。
一个可能的方向就是把一个卷积的一个窗口加上activation用一个硬件
单元实现。然后在内部就可以做各种龌龊的优化。这样应该能比用浮点
数指令一个乘法一个乘法做能快好几倍。
我其实特别期待Intel的带FPGA的CPU,不知道什么时候能出来。
FPGA的劣势:1.还是无法避免内存带宽瓶颈。
2. 编程序比GPU更底层,开发更慢。
3. 上层算法变动太快,不确定性太高。很可能一个算法优化直接导致
CPU性能急剧上升。
4. 价格下不来。
g****t
发帖数: 31659
17
PDE计算流体力学什么的,估计很多人没
有实际经验。就先不谈。
(实际上ai+pde也是一个方向。尽管不主流。)
ODE也不谈。
就说最简单的,2变量f(x,y)=0
代数方程求根,ai方法我不认为能赢正交函数展开算矩阵。
其实谁也不是傻子,要不然矩阵特征根为啥
不用ai,现有的库不都是cholesky之类的方法。
我再举个例子。不用硬件乘法,来实现浮点数乘法,
AI能赢CORDIC吗?
越是基本的问题,
in near future, 越是long way to go。
x****u
发帖数: 44466
18
来自主题: Programming版 - CNN网络之后一般还要加FNN?
不可以啊
比如说同样都是一条狗,卷积层会有无数种输出的,必须用FC层归纳成抽象概念。
VGG16的卷积层输出了2万5千个浮点数,这个体积比ImageNet原图片小不了太多。
g****t
发帖数: 31659
19
Nim非常好。编译成c, gcc出来exe,秒快。
还可以编译成JavaScript , objective c
编译过程清楚牢固。c code有一定直观意义。
Range,array,slice写起来和python一样快。OO清晰
有威力。metaprogramming, macro清晰强大。整个语言非常实用接地气。
https://news.ycombinator.com/item?id=9049698
因为语法类似python. 1天出活,1周出货完全是可以的。
但是现在没法用,查到浮点数什么的在最近有时候还有人报bug

发帖数: 1
20
来自主题: Programming版 - 为什么C语言很难?
赵岩 http://zhaoyan.website
前两天,有个学校要给高中生开一门编程的课,大家讨论用什么编程语言授课,大部分
人推荐用JAVA, 一部分说用Python,但是几乎所有的人都说:C语言太难了!
作为《C语言点滴》的作者,《C语言新思维》译者,这种语言坑我一般都绕开的,因为
无论我说什么,没私心也显得有私心。但是“C语言太难”这句话太扎心,搞得我有点
伤心。(文章排比对账,我只服自己!)我决定站出来为C语言说两句公道话!首先我
个人必须承认,大家认为的都没错,相比较另外两种语言,C语言确实是最难学的。但
是C语言为什么难?我认为锅不能C语言一个人背!背后还有三个主要的原因,那就是:
面对任务难,开发环境难,底层难。
首先是面对任务难。我不认为用{}就比用缩进难!声明一个变量的类型就比不声明一
个类型难!需要编译一遍就比直接运行难!就像你认为英语难,还分he, she;还有a,
the。老外却不这么想。换位思考一下,下面这个牌匾也会让老外抓狂的。
说到底,这种语法级别的难度比较其实没有任何意义,只是一个使用习惯,一个小程序
python用10行,C语言可能用20行,就因为... 阅读全帖
b***i
发帖数: 3043
21
来自主题: Programming版 - 老年转行工程师问问C++11基本问题
【新问题】
4. boost::format的返回值是string吗,我应该用string&吗?
比如: std::string& str = boost::format(......);
std::cout< throw ... (str);
这样可以省掉一个复制吧?
5. 类UUU的static函数里面
static std::map un= {{c1, &DD:DDDD1()}, {c2, &DD:DDDD2()},};
...
就是说,一个静态变量定义在函数里面。我想可以避免程序启动时各个编译单元启动顺
序的问题。这里的DD:DDDD1()就是一个库里面DD类的static函数,返回一个变量的参考。
今天reviewer说要我改成把un放到类UUU这一层去,而不是在函数里面。这样就不能避
免启动问题了。而且很麻烦,因为不是简单的整数,浮点数等,是不知道怎么实现的类
(有头文件)。大家说我的做法对不对?另外我这样做是照着其他人写的抄的。有一个
人告诉我这样写好
6. 搜索rvalue reference vari... 阅读全帖
b***i
发帖数: 3043
22
来自主题: Programming版 - 老年转行工程师问问C++11基本问题
4. boost::format的返回值是string吗,我应该用string&吗?
比如: std::string& str = boost::format(......);
std::cout< throw ... (str);
这样可以省掉一个复制吧?
5. 类UUU的static函数里面
static std::map un= {{c1, &DD:DDDD1()}, {c2, &DD:DDDD2()},};
...
就是说,一个静态变量定义在函数里面。我想可以避免程序启动时各个编译单元启动顺
序的问题。这里的DD:DDDD1()就是一个库里面DD类的static函数,返回一个变量的参考。
今天reviewer说要我改成把un放到类UUU这一层去,而不是在函数里面。这样就不能避
免启动问题了。而且很麻烦,因为不是简单的整数,浮点数等,是不知道怎么实现的类
(有头文件)。大家说我的做法对不对?另外我这样做是照着其他人写的抄的。有一个
人告诉我这样写好。
p****o
发帖数: 1340
23
来自主题: Programming版 - 两个简单R代码(坑?)求解[factor]
这都不是啥坑。比如第一个就是浮点数比较,直接相等都有问题的。R文档都说让你用
all.equal了。
g****t
发帖数: 31659
24
来自主题: Programming版 - Blackberry的QNX有谁用过么?
你说这些他听不懂的。
著名公司,著名国家,著名程序员的...洗脑效果不是盖的。
一般人十年八年或者一辈子可能都出不来。
高可靠系统必须了解物理或者需求。把软件做死。最好还可以有互补的另一块。轮流重
新启动。工业控制用的浮点数计算,跟浮在表面上的一些商标花名buzz word远不是一
回事。


: 你这么大的人不会写程序么?豐田成千上萬個全局變量那是用画框图的方
法写程
序自动

: 生成出来的。只有这几个产业傻逼认为用鼠标写程序比用敲代码写程序靠
谱。和
系统架

: 构有个鸟关系?

: 至于保护,那也不是个事儿。你说说需要几行代码就能实现?

: 问题是,你认为只要保护了,代码跑飞了就不会出人命了么?项目管理跟
不上团
队沟通

: 不好也会出人命。所以我才一直强调know your own shit! 不只限于你自
己写的
代码,

: 而是整个项目所有必须要了解的细节。

: 你说的这些,和OS也没一毛钱关系。我都强调过了,这是专用系统。其实
也没那
么复杂

: 。模拟一下最坏情况下需要多少算力,然后确定需要几个core... 阅读全帖
g****t
发帖数: 31659
25
来自主题: Programming版 - Blackberry的QNX有谁用过么?
你说这些他听不懂的。
著名公司,著名国家,著名程序员的...洗脑效果不是盖的。
一般人十年八年或者一辈子可能都出不来。
高可靠系统必须了解物理或者需求。把软件做死。最好还可以有互补的另一块。轮流重
新启动。工业控制用的浮点数计算,跟浮在表面上的一些商标花名buzz word远不是一
回事。


: 你这么大的人不会写程序么?豐田成千上萬個全局變量那是用画框图的方
法写程
序自动

: 生成出来的。只有这几个产业傻逼认为用鼠标写程序比用敲代码写程序靠
谱。和
系统架

: 构有个鸟关系?

: 至于保护,那也不是个事儿。你说说需要几行代码就能实现?

: 问题是,你认为只要保护了,代码跑飞了就不会出人命了么?项目管理跟
不上团
队沟通

: 不好也会出人命。所以我才一直强调know your own shit! 不只限于你自
己写的
代码,

: 而是整个项目所有必须要了解的细节。

: 你说的这些,和OS也没一毛钱关系。我都强调过了,这是专用系统。其实
也没那
么复杂

: 。模拟一下最坏情况下需要多少算力,然后确定需要几个core... 阅读全帖
g****t
发帖数: 31659
26
来自主题: Programming版 - Blackberry的QNX有谁用过么?
就算走现有架构,你也可以用cuBLAS对不对。你的知识基础差的太远了。跟你说你也听
不懂。浮点数计算,微处理器这些是神经网络发明之后很多年的东西。完全沒有必然的
因果關係的。你堆積這些東西無關的商標。毫無意義。
你听谁说的
inference一定要用MKL。乘法,exp我都可以手寫更快的。


: 視覺識別的基礎是Inference,推斷必須用BLAS庫,Intel的BLAS庫靠MKL
,MKL的
核心是

: AVX512,AVX512的重點在VNNI,VNNI裡面最重要的是bfloat16,這是
Intel和
Google最

: 近五年搞的大項目,軟硬通吃。

: guvest號稱做過視覺識別,連這個都不知道,就很能說明問題了。我不是
做視覺
的都知

: 道。

g****t
发帖数: 31659
27
你的思路不对。技术革新的道路,有一种是新的代替旧的。而是开创了新的market,旧
的market被边缘化成为一个无关紧要的组建部分,被边缘化。
零和思维在考虑x86这样的庞然大物的时候我认为是没用的。
现在CPU的spec一多半都是intc定的,连Ieee浮点数也是intc找人开发的。你在它自己
画的圈里面,问这个问题我不认为有很大意义。
现在有新的软件和计算需求。其实我认为是有可能出现当初Sun那样的公司的。Sun当初
是web需求驱动起来的。软件硬件的协作运动,即使放在今天也让人赞叹。但这个知识
和品味一般公司掌握资源的managers不具备。


: 怎麼辦?server領域還有希望10年後幹掉intel xeon嗎?

: QCT

A**u
发帖数: 2087
28
【 以下文字转载自 Programming 讨论区 】
【 原文由 Aliu 所发表 】
谁知道 sscanf 这个东东? 为什么读浮点数总有问题? 比如:
sscanf(char_array, "%d %f", &i, &f);
其中char_array是从文件或屏幕上读入的一行. f值好象总有问题, 为什么??
谢谢先!
t********n
发帖数: 71
29
研究方向:
以分子动力学为主要手段的蛋白质构象动力学研究
蛋白质机构预测及设计
计算资源:吉大新建的计算中心是国内高校最快的(每秒40万亿次浮点数计算),我们
学院正在建设一个计算平台,具体由我负责。
待遇:房补18W(一次付清),安家费4W(一般分期付以避税)。启动经费25W。其余按
学校副教授标准。
22(18+4)W的购房和安家补贴加25W的启动经费当然不算什么,但相比其他内地985高
校也差不多。在长春的房价水平也可以首付100平米的住房了,即使没有多少积蓄,两
个人的公积金也可以应付月供了。至于说待遇落实到不是问题,我回去承诺的是100平
米的实验室空间,实际上拿了140平米。购房安家补贴均是一次到位。我没有任何关系
。大家可以翻翻以前我在海龟版的帖子,就应该了解我发文都是实实在在。我自己就是
一个千老LOSER,请各位牛人手(口)下留情。
实事求是讲,任何一个目前能够在美国找到一份永久性工作的都看不起这样的待遇。我
们想找的是的确有回国意向,并需要一个稳定和有一定前景工作的候选者。我们学院目
前编制不紧张,副教授只要有不错的文章和一两个基金就可以上教授了。招聘到的人到
校后... 阅读全帖
s******y
发帖数: 28562
30
来自主题: Biology版 - R软件存在重大bug
呵呵,好像以前我们学编程的时候就说过这种事情,要比较两个浮点数 a>b 的时候最
保险的方法是检查 (a-b) > zero, 然后把zero 定义成一个该系统里最小的数字。
s******s
发帖数: 13035
31
来自主题: Biology版 - R软件存在重大bug
这个很正常啊。大多数程序都是这样的,除非你调用特别的方法。
浮点数二进制当然不是正好的,不仅是R,你试一下最基本的bash awk
也一样,不值得大吃一惊
G***G
发帖数: 16778
32
来自主题: Biology版 - R软件存在重大bug
不知道。按道理
0.05*10=0.5仍然是浮点数
e*******o
发帖数: 4654
33
来自主题: Biology版 - R软件存在重大bug
精确到一定的位数。不是都不准,也不是都准,所以不要比较浮点数。非得比较艳阳天
的答案靠谱,具体我记不到了。
给你说的matlab讲数值计算的书看了么?专门有一节讲这个。
比如,打开browwer console
0.1 + 0.2 === 0.3
> false
0.05 + 0.25 === 0.3
>true
t*****o
发帖数: 74
34
来自主题: Computation版 - 请教各位大下, MPI并行计算的问题
1。 在FORTRAN下
MPI能不能传输一个COMMON BLOCK的数据, 里面有整数,浮点数, 用什么语句了?
2。 如果几个NODE想对同一个文件同时进行读和写的操作, MPI下能实现吗?
谢谢! 谢谢!
j**u
发帖数: 6059
35
来自主题: Computation版 - [合集] 举个例子:每天一题
☆─────────────────────────────────────☆
jzxu (自然) 于 (Mon Apr 16 17:27:31 2007) 提到:
matlab要输出一个数据文本文件给C程序使用,里面的数据都是整数。
如果简单的使用save -ascii,文件里面都是浮点数,如何用matlab
将一个整数矩阵写入一个文本文件?
☆─────────────────────────────────────☆
jzxu (自然) 于 (Mon Apr 16 17:30:22 2007) 提到:
一个可能的解答。
fid = fopen('datafile','w') ;
fprintf(fid, [repmat('%d ', 1, size(dataarray,2)), '\n'], dataarray) ;
fclose(fid) ;

☆─────────────────────────────────────☆
jzxu (自然) 于 (Mon Apr 16 17:31:35 2007) 提到:
用其他任何方法解答此问题者,皆有包子,长
k**********g
发帖数: 989
36
FFT. Keep only the top N coefficients with largest magnitudes.
How many significant bits do you need to keep?
t***s
发帖数: 4666
37
too slow bah. why not keep the data on the disk.
w*******x
发帖数: 489
38
会不会太慢?。。并且data的结构是5唯的小格子。fft估计效果也不好,压缩不了多少
。。
我需要至少4位有效数字吧。。。
放硬盘上反复读取不可行,因为我的是大型并行计算,(数据)内存总量》1000G,io
太慢了
t***s
发帖数: 4666
39
SSD? or just get more memory?

io
c****p
发帖数: 6474
40
量化然后霍夫曼?
或者增量压缩?
k**********g
发帖数: 989
z*****n
发帖数: 7639
42
来自主题: EE版 - 飞机起飞为啥要关机?
这是扯淡,如果股票价格在传输过程中
产生了误码,那结果会是在整个浮点数
范围内的随机值。不可能只小范围波动。
c****p
发帖数: 6474
43

is
static
1. 文件内可见?
2. 在全局变量区分配空间?
3. 文件内可见?
them?
理论上函数传参都是对实参的数据拷贝(而不是实参本身)进行操作。因而对函数参数
的任何修改在函数返回后都不会影响实参的值。传值不说;传址实际是传递某变量所在
的内存地址,通过修改该地址指向的内存空间就可以实质上修改该变量的值。一般情况
下,需要在函数中修改变量值的行为都会使用传址。
const,不可修改,一般放在只读数据区(.rodata),尝试对其修改可能会引发段错(好
像编译器实现决定的);volatile,访问被其限定的变量时必须从内存中获取,实质上
使该变量成为non-cachable,常见于被I/O访问的内存空间。
大多数十进制小数转化成二进制存储时会有截断误差,表面上相等的两个浮点数实际并
不相等,一般用误差小于某阈值来判定相等。
not at all
stack:FILO,可重入式函数必须的结构;heap,memory pool,由OS管理,用户通过
malloc/free和new/delete实现动态内存的申请和释放。
pree
这个不懂,猜下:task不可打断当前in... 阅读全帖
c****p
发帖数: 6474
44

is
static
1. 文件内可见?
2. 在全局变量区分配空间?
3. 文件内可见?
them?
理论上函数传参都是对实参的数据拷贝(而不是实参本身)进行操作。因而对函数参数
的任何修改在函数返回后都不会影响实参的值。传值不说;传址实际是传递某变量所在
的内存地址,通过修改该地址指向的内存空间就可以实质上修改该变量的值。一般情况
下,需要在函数中修改变量值的行为都会使用传址。
const,不可修改,一般放在只读数据区(.rodata),尝试对其修改可能会引发段错(好
像编译器实现决定的);volatile,访问被其限定的变量时必须从内存中获取,实质上
使该变量成为non-cachable,常见于被I/O访问的内存空间。
大多数十进制小数转化成二进制存储时会有截断误差,表面上相等的两个浮点数实际并
不相等,一般用误差小于某阈值来判定相等。
not at all
stack:FILO,可重入式函数必须的结构;heap,memory pool,由OS管理,用户通过
malloc/free和new/delete实现动态内存的申请和释放。
pree
这个不懂,猜下:task不可打断当前in... 阅读全帖
g****t
发帖数: 31659
45
楼主说的"c写的code",说的是哪种c?
谁家的编译器,有没有硬件乘法,有没有浮点数,有没有时钟,memory是哪几种?
这些都没说,严格讲他的问题没法回答.

俺如果是楼主,同样关心的是楼主题目里面的有什么不同,而不是什么标准不标准的。
c****p
发帖数: 6474
46
把浮点数转成定点数格式,做完运算再转换回去。
个人谨慎怀疑精度。
a**a
发帖数: 416
47
来自主题: Mathematics版 - 用matlab如何避免出现奇异矩阵啊?
如果你的数据范围没有超过浮点数的动态范围,那么你可以考虑数据放大。否则,
就那样了。
h****f
发帖数: 24
48
来自主题: Mathematics版 - 用matlab如何避免出现奇异矩阵啊?
浮点数的动态范围是多少?我发现exp(-800)就是0了,这样可没法处理数据。
不知道你说的数据放大什么意思?
k****f
发帖数: 3794
49
来自主题: Mathematics版 - 这种数值的问题怎么办呢
【 以下文字转载自 Programming 讨论区 】
发信人: kukutf (五脚蟹★酷酷豆腐), 信区: Programming
标 题: 这种数值的问题怎么办呢
发信站: BBS 未名空间站 (Fri Aug 10 12:22:32 2007), 转信
做laplace逆变换
中间结果是一堆浮点数求和:有大有小,有正有负
大的能够到10^40,小的能小到10^(-40),
求和结果是应该在10^(-40)附近。
现在程序写出来,可是不稳定。。
经常变成负的(应该是正的结果)。
有谁给推荐一个数值稳定的laplace变换软件包
不能用bignum,速度实在是太慢了。
j******u
发帖数: 30
50
来自主题: Mathematics版 - 一个问题,想了好几天了。。。。
我有一个实对称矩阵,sparse而且非零元素都大于零,需要求其无穷次幂。 按照power
method,最后结果应该收敛到dominant eigenvector.可是我用matlab算之后,发现
dominant eigenvector里面有很多负数。。。大牛们知道是哪里出了问题吗?难道是
matlab浮点数越界了?谢谢:)
首页 上页 1 2 3 4 5 6 7 8 下页 末页 (共8页)