[解決済み] PthreadsとOpenMPの比較
2022-03-04 19:27:14
質問
Linuxを使用してC言語でマルチスレッドアプリケーションを作成しています。
POSIXスレッドAPIとOpenMP APIのどちらを使用すべきか迷っています。
どちらを使うのが良いのか、悪いのか、教えてください。
編集する。
両方のAPIが カーネルレベル または ユーザーレベル のスレッドですか?
解決方法は?
PthreadsとOpenMPは、全く異なるマルチプロセッシングパラダイムを表しています。
Pthreads は、スレッドを扱うための非常に低レベルなAPIです。したがって、スレッド管理 (create/join/etc) やミューテックスなどに対して非常にきめ細かい制御が可能です。かなり素っ気ないです。
一方 オープンエムピー は 大いに また、pthreadsよりもはるかに簡単に拡張することができます。具体的な例としては、OpenMPのワークシェアリングコンストラクトがあり、比較的容易に複数のスレッドに作業を分割することができます。(ウィキペディアの 長所と短所一覧 .)
とはいえ、あなたが実装しようとしている具体的なプログラムや、それをどのように使用する予定なのかについて、本当に詳しく書かれていないので、一方のAPIを他方より推奨するのはかなり無理がありますね。
関連
-
[解決済み】式は、単純なポインタ演算を使用して完全なオブジェクト型へのポインタでなければなりません【重複】。
-
[解決済み】エラー:'for'ループの初期宣言はC99モードでしかできない【重複
-
[解決済み】 error: too few arguments to function `printDay' (C言語)
-
[解決済み】 strcpyとstrdupの比較
-
[解決済み】警告:引数「互換性のないポインタ型から」を渡す[デフォルトで有効]。
-
[解決済み】なぜか。"エラー: 配列型を持つ式への代入"
-
[解決済み] エラー: `itoa` はこのスコープで宣言されていません。
-
[解決済み] Cプログラムで「配列の添え字が整数でない」。
-
[解決済み】whileループの時間複雑性(Big O)はどうやったらわかるの?
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「無効なイニシャライザー」と表示されるのですが、何が間違っているのでしょうか?
-
[解決済み] clang: error: linker command failed with exit code 1が表示されるのはなぜですか?
-
[解決済み】cudamalloc()の使用。) なぜダブルポインタなのか?
-
[解決済み】式は変更可能なL値でなければならない
-
[解決済み】MB/sとMiB/sを計算する方法は?
-
[解決済み】Linuxでexeclp()がどのように動作するのか理解できません。
-
[解決済み】サイズ8の無効な読み取り - Valgrind + C
-
[解決済み】「複数の定義」「最初に定義されたのはここです」エラーについて
-
[解決済み】宣言指定子で2つ以上のデータ型がある場合のエラー【非公開
-
[解決済み】Makefile:1: ***セパレータがありません。停止します。