c言語でポアソン方程式を差分法で解くプログラムを作成し、それをOpenMPで並列化して、スレッド数を1,2,4,8と増やしながら処理時間の計測をしました。
スレッド数が2の時は処理時間が短くなったのですが、4,8と増やしていくごとに処理時間が逆に増えてしまいました。デュアルコア4プロセッサなのでコア数以上のスレッド数ではないはずなのですがこれはなぜなんでしょうか?
計測した解析領域は
48×48
72×72
の二つです。どちらも4、8スレッドの時は遅くなってしまいました。以下に並列化部分のソースを載せます。並列化した場所は、連立方程式を解く部分で、求解には、ガウス・ジョルダン法を用いています。並列化でまずいところがあればそちらも指摘お願いします。
for(k=0;k<=size-1;k++) {
pivot=a[k][k];
#pragma omp parallel for
for(j=0;j<=size-1;j++) {
a[k][j]=a[k][j]/pivot;
}
b[k]=b[k]/pivot;
#pragma omp parallel for private(j,tmp)
for(i=0;i<=size-1;i++) {
tmp=a[i][k];
if(i!=k) {
for(j=0;j<=size-1;j++) {
a[i][j]=a[i][j]-(tmp*a[k][j]);
}
b[i]=b[i]-(tmp*b[k]);
}
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# LU分解法のピボッティングについて(C言語/gcc-9) 3 2022/07/11 23:10
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) vba 重複データ合算 5 2023/07/05 18:55
- C言語・C++・C# 変数のスコープ 5 2023/05/27 17:50
- C言語・C++・C# LU分解法のピボット選択機能実装について(C言語・gcc-9) 1 2022/07/22 15:20
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DoEvents関数って何?
-
win10で、正確な待ち時間の作り方
-
VBS でプログラムを先頭から再試行
-
実行時のCPU使用率を増やしたい
-
VB 電卓 メモリー機能
-
ノットイコールを教えて下さい
-
小数点を含む数値かどうか判断...
-
c言語。 組み合わせ最適化問題...
-
DLLで初回呼び出しと最後の...
-
numpyスライス機能を使った数値...
-
テキストファイルの空行をスキ...
-
Excel(VBA)でSetTimer関数を使...
-
C言語 時刻差分の算出方法
-
ExcelのVBAで再帰処理を使って...
-
ナップザック問題?をエクセル...
-
EXCELが高速に動く、PCを教えて...
-
VBでの簡易電卓の作成(減算方...
-
Excel VBA での処理時間計測結...
-
C言語:関数を使うメリットとデ...
-
キャッシュNFPについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelでのセル内容の高速消去方法
-
DoEvents関数って何?
-
SQLの速度をあげるには・・・
-
小数点を含む数値かどうか判断...
-
win10で、正確な待ち時間の作り方
-
Excel(VBA)でSetTimer関数を使...
-
絶対パスの取得について
-
WebBrowserの読み込み待ちの処...
-
Excel VBAにて、2GB超の点群デ...
-
VBでの簡易電卓の作成(減算方...
-
テキストファイルの空行をスキ...
-
ノットイコールを教えて下さい
-
ナップザック問題?をエクセル...
-
If Not c Is Nothing Then ~延...
-
プログラム上のCPU稼働率低減に...
-
逆ポーランド記法における単項...
-
符号付きにすべきか、符号なし...
-
C言語 時刻差分の算出方法
-
C言語:関数を使うメリットとデ...
-
Excel VBA データ削除の高速化
おすすめ情報