我正在为我的GPU加速代码使用CUSP。我需要从一个尖点矩阵C中提取对角线,它应该在下面的代码中放入对角线。
cusp::extract_diagonal(C, diagonal);
然而,在编译时,我得到"cusp“没有成员"extract_diagonal”
如果我有:
#include <cusp/format_utils.h>
正如我在示例中得到的那样,找不到format_utils.h。如果我在中插入详细信息以完成标题的路径,如下所示:
#include <cusp/detail/format_utils.h>
编译能够找到format_utils.h,但仍然说没有"extract_diagonal“
我正在查看的示例是:
// include cusp array1d header file
#include <cusp/array1d.h>
#include <cusp/coo_matrix.h>
#include <cusp/print.h>
#incldue <cusp/gallery/poisson.h>
#include <cusp/format_utils.h>
int main()
{
// initialize 5x5 poisson matrix
cusp::coo_matrix<int,float,cusp::host_memory> A;
cusp::gallery::poisson5pt(A, 5, 5);
// allocate array to hold diagonal entries
cusp::array1d<float, cusp::host_memory> diagonal(A.num_rows);
// extract diagonal of A
cusp::extract_diagonal(A, diagonal);
// print diagonal entries
cusp::print(diagonal);
}
版本如下:
The following libraries were found:
CUDA v6.0
Thrust v1.7.1
Cusp v0.4.0
我是否遗漏了一些包含内容或其他内容?作为最后的手段,我包含了主cusp目录中的所有头文件,但都无济于事。
任何建议都是很棒的。
发布于 2017-03-26 21:13:32
你找不到cusp/format_utils.h
,因为它在你正在使用的CUSP版本中不存在,这个版本已经有4年的历史了,而且从那以后代码库已经被重构了。如果您升级到CUSP 0.5.1 (您正在使用的示例是为其编写的),您会发现它可以工作。
或者,如果您将include更改为cusp/format.h
,您可能会发现它也可以工作,尽管我不能保证这一点,而且我太懒了,不愿提取一个旧版本的CUSP并进行检查。
https://stackoverflow.com/questions/43028547
复制相似问题