タグ付けされた質問 「parallel-computing」

複数のプロセッサの同時使用を利用して計算問題を解決する研究。

1
OpenMPなどの共有メモリモードでMPI-3.0を実行する方法
5次元の人口バランスモデルを数値的に解くためにコードを並列化します。現在、FORTRANには非常に優れたMPICH2並列化コードがありますが、パラメーター値を大きくすると、配列が大きくなりすぎて分散メモリモードで実行できなくなります。 15ノードのクラスターにアクセスできます。各ノードには2つの8コアCPUと128GBのRAMがあります。共有メモリモードでMPI-3.0を使用してプログラムを実行し、各プロセスが各アレイの独自のコピーを生成しないようにしたいと思います。 クラスターで何かを実行する前に、Ubuntuを実行しているデスクトップでテストする必要があります。2つの8コアCPUと128 GBのRAMを備えているという点で、本質的にクラスターの1つのブレードです。コードを書いてテストしますので、Ubuntuコンピューターでプログラムを実行するように応答してください。 MPI-3.0をデフォルトの分散メモリモードの代わりにOpenMPのような共有メモリモードで実行する方法があることを読みました。 質問: コードを変更するにはどうすればよいですか?次のような他のMPI関数への呼び出しを追加する必要がありMPI_WIN_ALLOCATEますか? 共有メモリモードでMPI-3.0を実行するようにコードをコンパイルするにはどうすればよいですか?複数のノードにまたがる場合、これは異なりますか? 可能な場合は、サンプルのコンパイルスクリプトを提供してください。また、GNUコンパイラしかありません。私が使用しているクラスターは、Intelコンパイラーをサポートしていません。

5
空間と時間の両方で並列処理を使用したPDE計算の例
初期境界値PDEの数値解法では、空間で並列処理を使用することが非常に一般的です。時間離散化で何らかの形式の並列処理を使用することはあまり一般的ではなく、通常、並列処理ははるかに制限されています。時間的並列性を示すコードと公開された作品の数が増えていることは承知していますが、空間的並列性を含むものはありません。 空間と時間の両方に並列性を含む実装の例はありますか?出版物と入手可能なコードの両方に興味があります。

4
MPIを使用するコード/ライブラリと互換性のある単体テストフレームワークに関する推奨事項はありますか?
通常、シリアルコードを記述し、その際に、xUnitスタイルのテストフレームワーク(MATLAB xUnit、PyUnit / nose、またはGoogleのC ++テストフレームワーク)を使用してユニットテストを記述します。 Googleの大まかな検索に基づいて、実務家がMPIを使用するコードを単体テストする方法についてはあまり見ていません。そのためのベストプラクティスはありますか? ユニットテストとテスト駆動開発の戦略と比較して、テストフレームワークに使用するソフトウェアに関する答えを探しています(存在する場合-答えは「独自のコードをロール」することができます)カスタムテストコードの事例が参考になります)。 私がテストしようとしているもののほとんどは、右側の関数評価と半離散化PDEを統合するタイムステッパーのヤコビ行列アセンブリルーチンです。私はPETScを使用するので、PETSc固有のものがあれば、より一般的なテストフレームワークに加えて役立ちます。 明確化の編集: 例はにあり${PETSC_DIR}/src/ts/examples/tutorials/ex2.c、ここでRHSFunction(右側の関数評価)などのテストを行います。RHSJacobian(ヤコビ行列の評価)。私は、組み立てられた右側と組み立てられたヤコビ行列の既知の値に対してテストします。いくつかの単純な問題の場合、これらの値を分析的に取得できます。これらの関数は、他のアプリケーションレベルの関数を実行しないアプリケーション固有の関数ですが、関数内でベクトルまたは行列のアセンブリが実行されると、MPIを呼び出すことができます(上記のリンクされたPETScの例のように)。プロセッサにローカルなベクトルまたは行列の一部のみを計算する関数を作成する場合、可能な場合はグローバルなアセンブルバージョンに対してテストする必要があります。これは、パラレルプログラミングが初めてなので、グローバルなベクトルとグローバルについて考える方が直感的だからです。マトリックス。これらのテストは、小さな問題サイズと少数のプロセッサーで実行されます。 これを行うためのいくつかの戦略を考えることができます。 このトピックで行ったGoogleの検索に基づいて、おそらくうまく機能しない戦略は、既知の出力を構築し、相対/絶対エラーを並行して見つけ、単純な比較を行うことです。MPIを使用して「Hello、world」プログラムを作成した人なら誰でも、出力が文字化けする可能性があります。これは、単体テストの実行の有用性を制限します。(これが質問をするきっかけになりました。)単体テストフレームワークの呼び出しには、潜在的なトリッキーさもあるようです。 出力をファイルに書き込み(たとえば、PETScでVecViewand を使用してMatView)、ndiffまたはのような既知の出力と比較しnumdiffます。ファイル比較を使用して単体テストを行った以前の経験から得たこのメソッドの直感は、細心の注意が必要であり、フィルタリングが必要になるということです。ただし、上記のユーティリティをプレーンdiffに置き換えることができ、テキスト形式の一致を心配する必要がないため、この方法は回帰テストに優れているようです。この戦略は、WolfgangBangerthとandybauerが提案しているものと多かれ少なかれだと思いました。また、PETScは、一部のテストで同様のアプローチを使用しているようです。 単体テストフレームワークを使用して、MPIランク0のプロセッサにすべてを収集し、プロセッサランクが0の場合にのみ単体テストを実行するように依頼します。標準で同様のことができます(おそらく、その方が簡単です)返されたエラーは、計算に問題があることを示しますが、どの要素にエラーがあるかはわかりません。そうすれば、ユニットテストの出力が文字化けすることを心配する必要はありません。単体テストフレームワークを正しく呼び出すことだけを心配する必要があります。PETScは、正確なソリューションが利用可能な場合、サンプルプログラム内で標準的な比較を使用するように見えますが、それらの比較を行うときにユニットテストフレームワークを使用しません(必ずしもそうする必要はありません)。

4
非同期セルオートマトン用の並列(GPU)アルゴリズム
非同期セルラーオートマトンと呼ばれる計算モデルのコレクションがあります。これらのモデルはイジングモデルに似ていますが、少し複雑です。このようなモデルは、CPUではなくGPUで実行することでメリットが得られるようです。残念ながら、そのようなモデルを並列化することは非常に簡単ではなく、どのように実行するかはまったくわかりません。私は主題に関する文献があることを知っていますが、それはすべて、私が実装できるものの説明を望んでいる私のような人ではなく、アルゴリズムの複雑さの詳細に興味がある筋金入りのコンピュータ科学者を対象にしているようです、その結果、私はそれをかなり浸透していません。 明確にするために、私はCPU実装を大幅に高速化する可能性があるCUDAで迅速に実装できるものほど最適なアルゴリズムを探していません。このプロジェクトでは、プログラマーの時間はコンピューターの時間よりもはるかに制限要因です。 また、非同期セルオートマトンは同期セルオートマトンとはかなり異なるものであり、同期CA(Conwayの生活など)を並列化する技術はこの問題に簡単に適応できないことを明確にする必要があります。違いは、同期CAはすべてのセルをタイムステップごとに同時に更新するのに対して、非同期CAはランダムに選択されたローカルリージョンをタイムステップごとに更新することです。 並列化したいモデルは、〜100000セルからなる格子(通常は六角形)に実装されています(さらに使用したいのですが)、それらを実行するための非並列化アルゴリズムは次のようになります。 隣接するセルのペアをランダムに選択します 「エネルギー」機能計算これらの細胞の周囲の局所近傍に基づきますΔ E△E\Delta E 依存確率で(とβ Aパラメータ)、いずれか2つのセルの状態を入れ替えるか、何もしません。e- βΔ Ee−β△Ee^{-\beta \Delta E}ββ\beta 上記の手順を無期限に繰り返します。 境界条件にはいくつかの複雑な問題もありますが、並列化にそれほど困難はないと思います。 ちょうど平衡状態ではなく、これらのシステムの過渡的なダイナミクスに興味があることに言及する価値があるため、同じ平衡分布に近づくだけではなく、上記と同等のダイナミクスを持つものが必要です。(したがって、チェッカーボードアルゴリズムのバリエーションは、私が探しているものではありません。) 上記のアルゴリズムを並列化する際の主な困難は衝突です。すべての計算はラティスのローカル領域のみに依存するため、近傍が重複していない限り、多くのラティスサイトを並行して更新できます。問題は、このような重複を回避する方法です。いくつかの方法を考えることができますが、実装するのに最適な方法があるかどうかはわかりません。これらは次のとおりです。 CPUを使用して、ランダムグリッドサイトのリストを生成し、衝突をチェックします。グリッドサイトの数がGPUプロセッサの数と等しい場合、または衝突が検出された場合、座標の各セットをGPUユニットに送信して、対応するグリッドサイトを更新します。これは簡単に実装できますが、おそらくCPUでの衝突のチェックはCPUで更新全体を行うよりもそれほど安くないので、おそらく速度をあまり上げません。 ラティスをリージョン(GPUユニットごとに1つ)に分割し、そのリージョン内のグリッドセルをランダムに選択および更新するGPUユニットを1つ用意します。しかし、このアイデアには解決方法がわからない多くの問題があります。最も明白なのは、ユニットがその領域の端に重なる近傍を選択したときに正確に何が起こるかです。 システムを次のように近似します。時間を個別のステップで進めます。格子を上に分割します別のものに事前に定義されたスキームに従ってタイムステップごとに領域のセットを作成し、各GPUユニットが、領域の境界と重なり合わないグリッドセルのペアをランダムに選択および更新します。境界はタイムステップごとに変化するため、領域が比較的大きい限り、この制約はダイナミクスにあまり影響しません。これは簡単に実装でき、高速であるように見えますが、ダイナミクスをどれだけ近似するか、または各タイムステップで領域境界を選択するための最適なスキームはどれかわかりません。「ブロック同期セルオートマトン」への参照をいくつか見つけましたが、これはこの考えと同じである場合とそうでない場合があります。(メソッドの説明はすべてロシア語であるか、アクセスできないソースにあるようですので、わかりません。) 私の具体的な質問は次のとおりです。 上記のアルゴリズムのいずれかは、非同期CAモデルのGPU並列化にアプローチする賢明な方法ですか? もっと良い方法はありますか? このタイプの問題に対応する既存のライブラリコードはありますか? 「ブロック同期」メソッドの明確な英語の説明はどこにありますか? 進捗 適切な非同期CAを並列化する方法を考え出したと思います。以下に概説するアルゴリズムは、私のように隣接するセルのペアではなく、一度に1つのセルのみを更新する通常の非同期CA用です。私の特定のケースにそれを一般化することにはいくつかの問題がありますが、私はそれらを解決する方法を考えていると思います。ただし、以下で説明する理由により、どれだけの速度のメリットが得られるかはわかりません。 考え方は、非同期CA(以降ACA)を、同等に動作する確率的同期CA(SCA)に置き換えることです。これを行うには、まずACAがポアソンプロセスであると考えます。つまり、時間は継続的に進み、各セルは、他のセルとは無関係に、その更新機能を実行する単位時間あたりの一定の確率として進行します。 バツ私はjバツ私jX_{ij}t私jt私jt_{ij}t私はj( 0 )〜経験(λ)t私j(0)〜Exp⁡(λ)t_{ij}(0) \sim \operatorname{Exp}(\lambda)λλ\lambda 値を任意に選択できるパラメーターです。) 各論理タイムステップで、SCAのセルは次のように更新されます。 k 、lk、lk, li 、j私、ji,jtk l&lt; t私はjtkl&lt;t私jt_{kl}<t_{ij} バツ私はjバツ私jX_{ij}バツk lバツklX_{kl}Δ トン〜経験(λ )△t〜Exp⁡(λ)\Delta t \sim \operatorname{Exp}(\lambda)t私はjt私jt_{ij}t私はj+ Δ …

3
並列有限要素計算でメッシュを管理するための最良の方法論?
現在、散乱の問題を解決するためのドメイン分解法を開発しています。基本的に、ヘルムホルツBVPのシステムを反復的に解いています。三角形または四面体メッシュ上の有限要素法を使用して方程式を離散化します。私は博士論文に向けてコードを開発しています。deal.iiやDUNEなど、既存の有限要素ライブラリのいくつかを知っています。インスピレーションに満ちたデザインとAPIを備えたすばらしいものだと思いますが、学習目的で、自分の小さなアプリケーションをゼロから開発したいと考えました。 私はシリアルバージョンを実行している時点で、それらを並列化したいと思っています。結局のところ、少なくとも原則として並列化が容易なアルゴリズムを策定することは、ドメイン分解フレームワークの強みの1つです。しかし実際には、考慮しなければならない多くの詳細があります。メッシュ管理もその1つです。アプリケーションが多くのCPUに適切にスケーリングしながら高解像度を実現する場合、すべてのCPUでのメッシュ全体の複製は非効率的です。 高性能コンピューティング環境で同様のアプリケーションに取り組んでいる開発者に、この問題への対処方法を尋ねたいと思いました。 分散メッシュ管理用のp4estライブラリがあります。私はAMRを必要としないので、均一なメッシュの使用にのみ関心があり、三角形メッシュを洗練できるかどうかはわかりません。また、単純に均一なメッシュを作成し、それをメッシュパーティショナーの1つに供給して、出力の後処理を行うこともできます。 最も単純なアプローチは、特定のパーティションのみに関連するメッシュ情報を含むパーティションごとに個別のファイルを作成するようです。このファイルは、メッシュのその部分で個別のシステムを組み立てる単一のCPUによって読み取られます。もちろん、プロセス間通信のために、一部のグローバルパーティションの接続性/近隣情報も、すべてのCPUが読み取るファイルに保存する必要があります。 他にどのようなアプローチがありますか?皆さんが共有できる場合、業界で一般的に使用されている方法論や、この問題の処理に関連する政府研究機関は何ですか?並列有限要素ソルバーをプログラミングするのは初めてで、この問題について正しく考えているかどうか、他の人がどのように近づいているのかを知りたいと思いました。関連する研究記事へのアドバイスやポインタは大歓迎です! 前もって感謝します!

3
C ++の並列動的グラフライブラリを探しています。
こんにちは、scicompコミュニティ、 NetworkX(Python)、JUNG、YFiles(Java)などのフレームワークを使用して、グラフアルゴリズムの分野で働いてきました。現在、並列コンピューティングと高性能コンピューティングの分野に参入しています。新しいプロジェクトでは、次の機能を備えたC ++グラフライブラリを探しています。 アルゴリズム開発を可能にする直感的なインターフェースを備えています 動的な操作をサポートします。たとえば、任意のノード/エッジの挿入と削除 並列化をサポートします。たとえば、マルチスレッドで発生する問題からプログラマを保護します メモリオーバーヘッドが低く、高性能コンピューティングに適しています いくつかのライブラリを提案し、これらの基準と賛否両論について議論してください。

2
共有メモリ並列プログラミング向けのPythonガイド
共有メモリマシン用のOpenMPをコーディングして(CとFORTRANの両方で)行列加算、乗算などの単純なタスクを実行した経験があります(LAPACKと競合する方法を確認するだけです)。OpenMPは、ドキュメントを見なくても簡単なタスクを実行できるほど十分に知っています。 最近、私は自分のプロジェクトでPythonに移行しましたが、絶対的な基本を超えるPythonの経験はありません。 2つの質問があります。 Pythonの共有メモリパラレルコンピューティングについて説明するための優れたガイド(オンラインPDF)はありますか? それを達成する最良の方法は何ですか?私は少し見ましたがctypes、それが最良の方法であるかどうかはわかりません。(最良の意味で言うと、プログラマー時間とシステム時間の間に良いトレードオフがあるものを意味します。コーディングが面倒にならないようにし、実行が遅くならないようにしてください)

1
線形連立方程式を解くためのマルチグリッド法をどのように並列化できますか?
私が理解しているように、マルチグリッド法は、同じ問題のより粗いバージョンを解決することで線形システムを解決し(低周波誤差を除去することにより)、高精度誤差を滑らかにするために細かいグリッドに投影し直します。大規模なシステムの場合、各グリッドレベルで反復法を並列に実装する方法を確認できます。このアプローチは並行してうまく拡張できますか?アルゴリズムに並行して利用できる並行性の他のソースはありますか?

5
数学や計算の勉強に集中することが望ましいですか?
クリロフ部分空間法に関する私の研究と並行して、HPCの背後にある数学を一歩前進させるか、計算の理論(ハードウェア、OS、コンパイラなど)を探索するオプションがあります。現在、私は両方ともちょうど得るために十分に知っています。たとえば、CGの方程式と反復法の基本をどのように導出するかは知っていますが、詳細や、PreconditionersやConvergenceなどのより複雑なものについてはわかりません。同様に、有限要素法の基本(弱形式、非弱形式、コドメインやガラーキンなど)は知っていますが、その深さはわかりません。計算の面では、可能なすべての言語でシリアルにコーディングする方法を知っており、OpenMPとMPIを十分に使用できます。私はハードウェアとキャッシングをそれほどよく理解していません。 私の質問は次のとおりです。何に集中すべきか:数学または計算?それらはHPCで分離不可能ですか?一方について学習することを推奨しますが、他方については学習しませんか? 編集:私は現在機械工学を専攻しており(後悔しています)、工学と計算(流体、熱伝達など)のコースをたくさん持っています。私は今年HPCの大学院に入学する予定で、卒業研究を始める前に何らかの側面(Math / Comp / Hybrid)を強化したいと考えています。私は数学とコンプが同じように好きです(だから「もっと楽しむことをする」は冗長です)。

1
Parareal、PITA、PFASSTの違いは何ですか?
Parareal、PITA、およびPFASSTアルゴリズムはすべて、時間に依存する問題の解を並列化するドメイン全体の手法です。 これらの方法の背後にある基本原則は何ですか? それらの主な違いは何ですか? あるものが別のものに基づいていると言えますか?どうやって? 彼らのアプリケーションはどうですか? 「どちらが良いですか」という質問には答えられないことはわかっていますが、それらのアプリケーション領域と検証条件をよく理解しておくと役に立ちます。

1
陰的時間離散化を用いたcudaおよび数値解法
(時間の離散化のために)IMPLICIT形式の有限体積法によって偏微分方程式(PDE)のセットを解決するコードを移植したいと考えています。 その結果、ADI / TDMAスキームで処理されるx、y、z方向の3重対角方程式系があります。 CUDAを使用したPDEの暗黙的な解決策については、何も見つからないようです。 ADI / TDMAスキームはCUDAで実装できますか?2D熱拡散方程式のような例はどこかにありますか? 私が見つけることができるのは、有限差分であるがEXPLICIT形式(ケンブリッジ大学)の2D熱拡散方程式のCUDAサンプルコードだけです。 ヒント/リファレンスをいただければ幸いです。

2
科学計算におけるタスクベースの共有メモリ並列ライブラリ
近年、何らかの形式の汎用データ駆動型共有メモリ並列処理を提供するいくつかのライブラリ/ソフトウェアプロジェクトが登場しています。 主なアイデアは、明示的にスレッド化されたコードを書く代わりに、プログラマーがアルゴリズムを相互依存タスクとして実装し、共有メモリーマシン上の汎用ミドルウェアによって動的にスケジュールされるというものです。 そのようなライブラリの例は次のとおりです。 QUARK:もともとはMAGMA並列線形代数ライブラリ用に設計されましたが、並列高速多重極法にも使用されているようです。 Cilk:もともとはMITベースのプロジェクトで、現在Intelでサポートされています。Cの言語/コンパイラー拡張として実装され、Cilkchessコンピューターチェスソフトウェアで使用され、FFTWで実験的に使用されました。 SMPスーパースカラー:バルセロナスーパーコンピューティングセンターで開発されました#pragma。拡張機能に基づいて、多くの点でCilkに似ています。 StarPU:GPUを含むいくつかの異なるアーキテクチャ用にコンパイルおよびスケジュールできる、同様のライブラリベースの「コードレット」。 OpenMPタスク:バージョン3.0以降、OpenMPは非同期にスケジュールできる「タスク」を導入しました(仕様のセクション2.7を参照)。 Intelのスレッディングビルディングブロック:C ++クラスを使用して非同期タスクを作成および起動します。チュートリアルのセクション11を参照してください。 OpenCL:マルチコアでのタスクベースの並列処理をサポートします。 これらのライブラリ/言語拡張の内部動作と特定の問題への適用について説明している文献はたくさんありますが、科学計算アプリケーションで実際に使用されている例はほとんどありません。 だからここに質問です:誰かが共有メモリ並列処理のためにこれらのライブラリ/言語拡張、または同様のものを使用する科学計算コードを知っていますか?

3
GPUプログラミングの推力
私はGPGPUプログラミングに非常に慣れていないので、質問が特に適切でない場合はご容赦ください。私が理解していることから、GPUプログラミングは、通常のCPUプログラミングと比較すると、非常に複雑なエンジニアリング作業です。分岐の問題、タイリング、固定されたメモリ割り当て、およびホストとデバイスの通信/デバイスの計算のオーバーラップについては、非常に注意する必要があります。 少し調べたところ、C ++ STLを模倣しようとしているように見えるスラストライブラリが見つかりました。これはかなりいいです。ただし、私の非常に限られた経験と、優れたパフォーマンスを得るために必要なすべてのマイクロ管理を見てきたので、私はパフォーマンスについて少し懐疑的です。推力は、すべての複雑なプログラミング部分を内部で効率的に処理できますか?PETScなどのいくつかの非常に有名なライブラリは、このパッケージを使用しているようです。 低レベルのCUDAプログラミングと比較した場合、CUDAの経験が豊富で推力のある人がパッケージのパフォーマンスについて一言、または二言言うことができるかと思いました。いつ推力を使用できますか?いつCUDAに戻す必要がありますか?

2
密で不良な条件付き行列の対角化
いくつかの密で悪条件の行列を対角化しようとしています。マシン精度では、結果は不正確です(負の固有値を返す、固有ベクトルには期待される対称性がありません)。MathematicaのEigensystem []関数に切り替えて、任意の精度を利用しましたが、計算が非常に遅くなっています。私はいくつもの解決策を受け入れます。悪条件の問題に適したパッケージ/アルゴリズムはありますか?私はプレコンディショニングの専門家ではないので、これがどれだけ役立つかわかりません。それ以外の場合は、並列化された任意精度の固有値ソルバーしか考えられませんが、Mathematica、MATLAB、およびC ++以外には何も知りません。 問題の背景を説明するために、行列は大きくはありますが、巨大ではありません(最大で4096x4096〜32768x32768)。それらは実数で対称であり、固有値は0から1(排他的)の範囲にあり、多くの固有値は0に非常に近く、1に近いものはありません。行列は本質的に畳み込み演算子です。すべての行列を対角化する必要はありませんが、大きくできるほど良いです。多くのプロセッサと分散コンピューティング機能を備えたコンピューティングクラスタにアクセスできます。 ありがとうございました

1
異なるプロセッサで生成された値から行列システムを並列に組み立てて解決する方法は?
異種マルチスケール法(HMM)を使用してマルチスケール問題を解決しています。基本的に、私の特定の手順では、次の反復プロセスを使用します。 多くのローカル行列システムを解きます。 ローカルシステムのソリューションから関心のある値を計算します。 ローカルの「関心のある値」からグローバルマトリックスシステムを組み立てる グローバルマトリックスシステムを解く グローバルマトリックスシステムの解を使用して、新しいローカルマトリックスシステムを形成します。 いくつかの収束基準が満たされるまで繰り返します。 ローカルの(独立した)線形連立方程式は多数あり、複数のシステムがローカルRAMメモリに収まるので、複数の「ローカル」システムを各プロセッサにロードし、各システムを順番に解くことをお勧めします(この投稿された質問を参照)。 私の質問は、グローバルマトリックスシステムを組み立てて解決するための最良の戦略に関するものです。私の特定のケースでは、グローバルマトリックスシステムは、プロセッサのRAMメモリに完全に収まるほど小さいです。さらに、ローカル行列とグローバル行列は、反復の間にサイズを変更しません。したがって、私は3つの可能な戦略の1つを予測します。 「関心のある価値」を単一のプロセッサーに収集し、グローバルマトリックスシステムを1つのプロセッサーで順次アセンブル/解決します。 目的の値をすべてのプロセッサにコピーし、同じグローバルマトリックスシステムをすべてのプロセッサで順番にアセンブル/解決します。 各プロセッサがグローバルマトリックスの連続したブロックを生成するために必要な「関心のある値」を持っていると仮定すると、グローバルマトリックスのパーティションをローカルに組み立て、それらを並列に解くことができます。 各方法にはいくつかの利点/欠点があります。方法1では、解決フェーズで通信は必要ありませんが、ルートプロセッサとの通信がボトルネックになる可能性があります(特に大規模な場合)。方法2では、最初の方法よりもグローバルマトリックスをアセンブルするために、より多くのプロセッサ間通信が必要になる場合がありますが、解決フェーズまたはその後のローカルマトリックスアセンブリ段階では通信は必要ありません。方法3では、ローカルマトリックスまたはグローバルマトリックスのアセンブリにプロセッサ間通信は必要ありませんが、解決フェーズで必要です。 10310310^310310310^310310310^310310310^310310310^310310310^3

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.