gpt4 book ai didi

cblas_dgemm - 仅在 (beta) 为二次幂时有效

转载 作者:太空宇宙 更新时间:2023-11-04 02:18:55 26 4
gpt4 key购买 nike

我完全被难住了。我有一个相当大的用 c 语言编写的递归程序调用 cblas_dgemm()。结果由运行正常的程序独立验证。

C = alpha*A*B + beta*C 

在使用随机矩阵和所有可能的参数组合进行重复测试时,程序仅在 abs(beta) = 2^n (1,2,4,8..) 时给出正确答案。任何值都适用于 alpha。 beta 的任何其他正/负、奇数/偶数值都会在 10-30% 的时间内给出正确答案。

我使用的是 Ubuntu 10.04,GCC 4.4.x,我尝试过系统安装 blas/cblas/atlas 以及手动编译的图集。

如有任何提示或建议,我们将不胜感激。我对潜伏在这个网站上的非常慷慨(和聪明)的人感到惊讶。

先谢谢大家

拉斯

最佳答案

两个完全不相关的错误共同产生了一幅虚幻的画面。这让我在错误的地方寻找问题。

(1) 函数调用dgemm 的逻辑有一个简单的错误。如果我没有追错问题,本来可以很容易地解决的。

(2) 我的双重比较函数:AlmostEqual2sComplement() (http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm) 的双重版本使用了不正确大小的整数——在某些罕见情况下会导致不正确的 TRUE。这是我第一次遇到错误!

再次感谢您在尝试调试程序时使用科学方法的有用建议。

俄罗斯人

关于cblas_dgemm - 仅在 (beta) 为二次幂时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3747720/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com