Add members and methods denoting comm ownership for Matrix and Vector methods
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 45/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- cpp
调研方向
首先定位 CAROM::Vector 和 CAROM::Matrix 的类定义及其构造函数,然后检查现有的 communicator 或分布式索引工具。添加所请求的 communicator 成员、访问器和自由函数,并通过满足所列出的行范围、维度和进程所有权后置条件来表明已完成。
由索引模型根据 Issue 内容生成。
描述
Specifically, add the following to each class T, where T is a CAROM::Vector or CAROM::Matrix, a CAROM::Vector is treated as a single column matrix, and none of the functions below should be templated:
- a private
MPI_Comm d_commmember - initialize that member in the constructor of each object
- include a
MPI_Comm getComm() constgetter method - a free function of the form
std::vector<int> GetDimensionOnEachProcess(T &input), that returns the number of rows of the object on each process - a free function of the form
std::vector<int> GetRowSpanOnEachProcess(T &input), whereTis aCAROM::MatrixorCAROM::Vectorthat returns the range of row indices of the object on each process. Letstd::vector<int> resultbe the value returned by this function. The following postconditions should be satisfied: (1)result.size()should be one plus the number of processes ond_comm, and (2) if a disjoint contiguous index span ofinputresides on each process such that index 0 is owned by process 0, and the lowest index owned by each process is an increasing sequence when ordered by increasing process number, then processpcontains rowsresult[p]throughresult[p + 1] - 1 - a free function of the form
int GetProcessContainingRow(T &input, int row)such that ifint resultis returned by this function, then rowrowis on process numberresult
These utility functions come up frequently in implementing linear algebraic operations. I suspect that if data objects are associated with communicators, the operations like matrix decompositions will not need to have communicators associated with them.
- 主要语言
- C++
- 星标
- 236
- 派生
- 47
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
llnl/libROM 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 45/100
-
难度 4/5 3-5 天 新手友好度 35/100
-
难度 4/5 3-5 天 新手友好度 35/100
-
bug
-
bug
难度 4/5 3-5 天 新手友好度 28/100
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 86/100
ArthurSonzogni/FTXUI#1363 ·
-
难度 2/5 1-3 小时 新手友好度 88/100
-
难度 1/5 1 小时以内 新手友好度 90/100
ginkgo-project/ginkgo#2108 ·
-
bug build
难度 1/5 1 小时以内 新手友好度 91/100
facebookincubator/velox#19194 ·
-
JIT-compiled number -> Decimal conversion silently overflows instead of raising DECIMAL_OVERFLOW 未关闭fuzz
难度 2/5 1-3 小时 新手友好度 82/100
ClickHouse/ClickHouse#122114 ·