【问题标题】:send row and column of a matrix, MPI_SEND发送矩阵的行和列,MPI_SEND
【发布时间】:2013-04-22 13:55:39
【问题描述】:

我可以在一个 MPI_SEND 中发送一个矩阵的行和另一个矩阵的列,我该怎么做?

MPI_SEND (row and column of the matrix ...)

【问题讨论】:

  • 在 C/C++ 中使用 MPI 发送矩阵列在这些问题/答案中进行了描述:1234

标签: c++ mpi send


【解决方案1】:

由于 C/C++ 以行主要顺序工作,因此您可以在 1D 向量中声明 2D 矩阵并使用简单的约定访问其条目。假设 A 的大小为 mxn,B 是一个向量;

A[i][j] = B[i*n+j];

但如果您使用 C++ 进行编码,我建议您定义一个矩阵对象并尝试在 MPI 中发送这些对象。您必须创建自己的 MPI_Data_Type。

【讨论】:

  • 你是说对象?这取决于您对面向对象编程 (OOP) 的了解。尝试查看“C++ 矩阵对象”。如果你赶时间,也许你不应该走这条路。再次阅读您的回复,您可能指的是 MPI_Data_Type。您可以通过 mpi 类型提交创建自己的数据类型。您可能想查看 PETSc link,它可以帮助您隐藏有关通信的所有这些详细信息。
  • 我不着急,我不让你出轨?
  • 如果你不着急,试试看 PETSc。
  • 你有实现的例子吗?
  • PETSc 网站有很好的例子link。正如网站上所说,你很少调用 MPI 函数,大部分工作都是由 PETSc 完成的。
猜你喜欢
  • 1970-01-01
  • 2016-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-03
  • 2021-08-17
  • 2015-03-19
相关资源
最近更新 更多