如何并行化稀疏矩阵的反演
How to parallelize inversion of a sparse matrix?
本文关键字:并行化 更新时间:2023-10-16
我在 c++ 中使用 eigen3 包来反转一些大型稀疏矩阵(例如 12000*12000),我需要这些矩阵进行后续操作; 但是,这真的很耗时,我无法将其扩展到更大的矩阵。是否可以并行执行此操作,例如使用 openmp?
提前谢谢。
您可以使用特征矩阵
作为稀疏矩阵容器,并使用 MKL 并行稀疏求解器函数来计算反演。
https://software.intel.com/node/521676
尽管 Eigen 不提供 MKL 备用求解器的 API。您仍然可以在低级界面中使用它们。
相关文章:
- 如何使用OpenMP并行化此矩阵时间矢量运算
- 如何使用 MPI 的远程内存访问 (RMA) 功能并行化数据聚合?
- 在C++中使用并行化的预期速度是多少(不是 OpenMp,而是 <thread>)
- 如何使用 OpenMP 并行化最近邻搜索
- Malloc 在使用线程并行化 SSH 调用时存在问题
- 如何使用 OpenMP 正确并行化 for 循环?
- 如何将矩阵的行随机复制到内存中的另一个矩阵的过程并行化?
- 如何使用 Pthreads 并行化图像翻转?
- MPI:反复并行化缓冲区
- 是否可以使用OpenMP并行化一个列表,该列表可以在每次迭代中添加新元素
- 如何在Visual Studio中并行化armadillo
- 嵌套循环 OpenMP 并行化、私有索引还是公共索引?
- 如何并行化增加循环的大小
- 在 C++ 中使用 OpenMP 并行化两个 for 循环不会提供更好的性能
- OpenMP C++:并行化 for 循环的负载不平衡
- OpenMP 条件并行化 - 并行部分中 if 子句的语法
- C++ 犰狳和OpenMp:外积求和的并行化 - 定义犰狳矩阵的约简
- 将 for 循环与嵌套的 while 循环并行化时出现 OpenMP 分段错误
- 迭代卡拉苏巴算法在C++中使用OpenACC并行化和矢量化
- 如何在 OpenACC 中并行化内部具有"min"功能的循环