在CLABACK中测试CBLAS时出错。当我运行测试代码时
./xblat2d < dblat2.in
我得到错误输出:
"TransA必须是111、112或113,但设置为-1例程cblas_dgemv的参数2不正确"
有人知道这意味着什么样的问题吗?
详细信息
我尽量不使用参考CBLAS,而是使用ATLAS CBLAS。因此,我编译了包装器库libcblaswr.a,并将make.inc中的行更改为
BLASLIB = ../../libcblaswr.a -L/usr/local/atlas/lib -lcblas -L/usr/local/atlas/lib -latlas
CLABACK安装建议进行
BLASLIB = ../../libcblaswr.a -lcblas -latlas
但是链接器在没有我使用-L选项的情况下找不到cblas和atlas,所以我包含了它
我的设置细节:
- Ubunty Lycid Lynx 10.04
- 粘土包-3.2.1
- 至少.3.9.51
这似乎是CLABACK测试的一个问题,因为它将错误的参数传递给BLAS例程。在调用dgemv时,有一个选项可以让矩阵作为自身、转置或共轭转置进行操作,对应于111、112或113(参见cblas.h的第6行)。CLABACK中的代码没有正确设置参数。我还没有深入研究,不知道这是测试的问题,还是问题更深;但我怀疑这只是测试,因为我还没有使用任何CLABACK代码来解决这个问题。
我忽略了它,因为1)我不依赖CLABACK来测试ATLAS安装的BLAS例程;2)如果有更深层次的问题,它会导致这样的错误,而不是产生无效的结果,然后我会跟踪它。
是的,链接器不会找到-lcblast和-latlas,直到你把它们安装在正常搜索的地方,这是正常的。