0

だから私は現在、平行グリッド構造を含むプロジェクトに取り組んでいます。私が抱えている問題は、通信方式に関連しています。このマトリックスの各要素について私が持っている情報の量は、それがどのプロセッサ ランクであるかです。これにより、グローバルスキームのどこにあるかを計算できます。

視覚的な例を挙げてみます。

このマトリックスは、ノードの番号付けの全体像を表しています。

| | 0| 1| 2| 3|

| | 4| 5| 6| 7|

| | 8| 9|10|11|

|12|13|14|15|

ローカルでは、そのプロセッサ ランクと通信内のプロセッサの総数が与えられた任意の (i,j) を見つけることができます。

私が解決しようとしている問題は、任意のサイズの正方形のメッシュについて、どの要素が対角線上にあるか、対角線上にあるかをどのように知るかです。

私が見ているもののより良い写真を以下に掲載します。異なる黒/白スキームは処理されました。プロセッサ ランクとノード座標を考慮して、対角線と反対角線を見つける方法を知る必要があるだけです。

インフォグラフィック

4

1 に答える 1

0

私は問題を解決するために何かを考え出しました。

最初に行ったのは、各プロセッサの座標系 (i,j) を確認することでした。次に、abs(i - j) を取ると、奇数または偶数のいずれかが得られることに気付きました。これはかなり明白でしたが、元の質問の画像のように各サブディビジョンに適用すると、同じ動作が見られ、主対角線と反対角線が区別されます。そこで、(i,j) 座標を使用して、その座標が象限 (I または III) と (II または IV) のどちらにあるかを決定し、フラグを 0 にするか 1 にするかを決定するルールを設定しました。これにより、私が探していたソリューションが得られました。

于 2012-07-25T17:32:38.267 に答える