我正在尝试使用 PETSC 进行简单的并行稀疏矩阵向量乘法。我的稀疏矩阵是一个简单的三对角拉普拉斯矩阵,它使用 PETSC 分布在多个处理器上。
我的主要问题是,如果我通过简单地迭代向量并更新每个值来执行相同的操作 A[i] = -1*A[i-1] + 2*A[i] + -1*A[i+ 1],它比使用 PETSC SpMV 花费的时间要少得多。为什么会这样?还是我做错了什么?
我正在尝试使用 PETSC 进行简单的并行稀疏矩阵向量乘法。我的稀疏矩阵是一个简单的三对角拉普拉斯矩阵,它使用 PETSC 分布在多个处理器上。
我的主要问题是,如果我通过简单地迭代向量并更新每个值来执行相同的操作 A[i] = -1*A[i-1] + 2*A[i] + -1*A[i+ 1],它比使用 PETSC SpMV 花费的时间要少得多。为什么会这样?还是我做错了什么?
Aconfigure --with-debugging=0(-log_summary