-1

我正在使用 c++ 为我的有限分析代码编写一个新算法,假设我正在处理一个 64*64 方形网格并且它有四个表面(表面 A、B、C、D),然后我将其分解为四个子域,并且表面 A 中的表面细胞也可能是分散的。

我的问题有点笼统,我想在这个64*64的网格中计算一个变量,但是这个变量依赖于整个曲面A的坐标信息,那我该怎么办呢?因为我发现在一些子域中,根本就没有A。所以我发现我的代码和新算法在串行上运行得非常好并且成功,但是并行时它立即失败了。

处理这种情况的任何建议或策略?

4

1 回答 1

1

并行处理可能很棘手,如果您使用基于共享内存范例的算法,您需要保护此内存区域,否则您将遇到竞争条件

其他范例,如分布式内存,有其他类型的策略来处理这个问题,主要是消息传递。

于 2013-05-01T15:32:15.473 回答