快速入门
示例
邮件列表
获取Cusp
主页面
模块
课程
文件夹
全部
课程
文件夹
功能
变量
组
页码
对角线.cu
#包括<
尖角/预拱/对角线。
小时
>
#包括<
尖点/krylov/cg。
小时
>
#包括<
尖点/csr矩阵.h
>
#包括<
尖点/io/matrix_market。
小时
>
#包括<iostream>
整数
主要(
空隙
)
{
//在哪里执行计算
类型定义
cusp::设备内存空间;
//要使用哪种浮点类型
类型定义
浮动
ValueType;
//创建空的稀疏矩阵结构(HYB格式)
cusp::csr_matrix<int,ValueType,MemorySpace>
A;
//加载以MatrixMarket格式存储的矩阵
尖点::io::read_matrix_market_file
(A,
“A.mtx”
);
//注:A的行和列缩放效果不佳
//设置停止条件(iteration_limit=100,relative_tolerance=1e-6,absolute_tolerance=0,verbose=true)
cusp::array1d<值类型,内存空间>
x0(A.num_rows,0);
cusp::array1d<值类型,内存空间>
b(A.num_rows,1);
尖点::监视器<ValueType>
监视器(b,100,1e-6,0,
真的
);
//无需预处理即可求解
{
标准::cout<<
“\n不使用预处理程序解决”
<<标准::endl;
//为解决方案分配存储空间(x)
cusp::array1d<值类型,内存空间>
x(x0);
//解决
尖点::krylov::cg
(A、x、b、监视器);
}
//用对角预条件求解
{
标准::cout<<
“用对角线预条件(M=D^-1)求解”
<<标准::endl;
//为解决方案分配存储空间(x)
cusp::array1d<值类型,内存空间>
x(x0);
//重置监视器
监视器。
重置
(b) ;
//设置预处理程序
cusp::precond::对角<ValueType,MemorySpace>
M(A);
//解决
尖点::krylov::cg
(A、x、b、监视器、M);
}
返回
0;
}
为CUSP生成
1.8.6
©2014英伟达公司