我在CLAPACK中测试CBLAS时收到错误。当我运行测试代码
时./xblat2d < dblat2.in
我收到错误输出:
“TransA必须是111,112或113,但设置为-1参数2到例程cblas_dgemv不正确”
有谁知道这表示什么样的问题?
我试图不使用参考CBLAS,而是使用ATLAS CBLAS。所以,我编译了包装器库 libcblaswr.a 并将make.inc中的行更改为
BLASLIB = ../../libcblaswr.a -L/usr/local/atlas/lib -lcblas -L/usr/local/atlas/lib -latlas
CLAPACK安装建议
BLASLIB = ../../libcblaswr.a -lcblas -latlas
但是如果没有我使用-L选项,链接器找不到cblas和atlas,所以我把它包括在内。
我的设置详情:
答案 0 :(得分:0)
这似乎是CLAPACK测试的一个问题,因为它将错误的参数传递给BLAS例程。在调用dgemv时,矩阵有一个选项可以作为自身或转置或共轭转置运行,对应于111,112或113(参见cblas.h的第6行)。 CLAPACK中的代码未正确设置参数。我没有深入了解是否只是测试这个问题或问题是否更深入;但我怀疑这只是测试,因为我没有使用任何CLAPACK代码来解决这个问题。
我忽略了它因为1)我不依赖于CLAPACK来测试ATLAS安装的BLAS例程; 2)如果有更深层次的问题它会导致这样的错误,而不是产生无效的结果,我会然后跟踪它。
是的,链接器在找到正常搜索的地方之前找不到-lcblas和-latlas,这是正常的。