《OpenACC并行程序设计:性能优化实践指南》一 2.1 测试代码:共轭梯度法

  1. 云栖社区>
  2. 华章计算机>
  3. 博客>
  4. 正文

《OpenACC并行程序设计:性能优化实践指南》一 2.1 测试代码:共轭梯度法

华章计算机 2017-09-08 16:20:00 浏览1013
展开阅读全文

2.1 测试代码:共轭梯度法

本章中使用共轭梯度法作为标准测试代码。共轭梯度法是一种迭代算法,常用来逼近一组线性方程组成的大型稀疏系统。由于这种系统通常规模庞大,因此难于使用直接法进行求解。阅读本章不需要理解共轭梯度法的数学含义。提供了共轭梯度法的C和Fortran编码实现供读者参考。简洁起见,本章仅展示了C代码。不过不必担心,C代码的应用方式可以扩展到Fortran代码,两者区别不大。本章使用的代码遵循Apache许可,版本2.0。详情请阅读许可文件。
示例代码包含两种数据结构。第一个是向量结构,结构成员包含指向数组的指针和一个表征数组长度的整型变量。第二个是矩阵,以压缩稀疏行形式存储一个二维稀疏矩阵,该矩阵仅存储各行的非零元素。第二个数据结构还包含一个元数据,用来表示非零元素在原矩阵中的位置。这两种数据结构连同多个用来创建、销毁、

网友评论

登录后评论
0/500
评论
华章计算机
+ 关注
所属云栖号: 华章计算机