由于网上关于使用cusolver库的介绍比较少,今天就简单地根据samples写了一个LU分解,来解决稠密矩阵Ax=b的例子
需要安装CUDA
首先使用VS建立工程
1.导入库
第一步 右键项目 添加依赖性 生成自定义
第二步 项目属性 链接器 输入 添加三个依赖项cudart.lib,cusolver.lib,cublas.lib。这是使用cusolver需要的库。
下文代码中调用了matrix.h,mat等库来读取MATLAB生成的.mat文件。这还需要另外添加几个lib,设置一下环境变量,这部分参考http://blog.csdn.net/left_la/article/details/8206645
linearSolverLU这个函数是来自于CUDA 的sample cuSolverDn_LinearSolver。这里包含了RQ分解LU分解等稠密矩阵的GPU实现。
在LAPACK和 cblas, cusolver等库中 都会有 lleading dimension 的概念 参考博文
http://blog.csdn.net/sunmenggmail/article/details/38696381
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <assert.h>
#include<time.h>
#inclu