分布式稀疏矩阵的数据结构(data structure for distributed sparse matrix)

本文介绍了如何在分布式环境中构建稀疏矩阵的数据结构,包括Geometry、全局和局部变量、MPI通信系数等关键组件。文章通过代码展示了如何分配内存、填充矩阵元素以及进行MPI通信协调。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


          研究下sparse matrix, 最近正好看了一个项目: hpcg。 一周多时间,感觉蛮有意思的。rebuild the wheel.

  1 struct SparseMatrix

  2 {

  3         /* geometry data structure associated with this sparsematrix */

  4         Geometry*  geom;

  5 

  6         /* global variable */

  7         global_int_t totalNumberOfRows;

  8         global_int_t totalNumberOfNonzeros;

  9 

 10         /*local variable */

 11         local_int_t localNumberOfRows;

 12         local_int_t localNumberOfColumns;

 13         local_int_t localNumberOfNonzeros;

 14         global_int_t** mtxIndG;

 15         global_int_t** mtxIndL;  //some index in local is from external procs 

 16         double** matrixValues;

 17 

 18         char* nonzerosInRow;

 19 

 20         /* global/local map define */

 21         std::map<global_int_t, local_int_t> globalToLocalMap;

 23         std::vector<local_int_t, global_int_t> localToGlobalMap;

 25 

 26 

 27         /* MPI communication coefficients */

 28         local_int_t numberOfExternalValues; // number that need receving from external procs

 29         int numberOfSendNeighbors;

 30         local_int_t totalToBeSent; // total elements to be send to all required neigbhors 

 31         local_int_t* elementsToSend; //an array, store all elements that need to be sent to differnt neighbors

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值