タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

openmpに関するsleepy_yoshiのブックマーク (3)

  • 並列処理 OpenMP と pthread を比較してみた - ますぽんの雑記

    プログラム並列処理はいくつか方法がある。有名所を挙げれば Boost、Java、pthread、OpenMP、MPI、NSOperation、Windows Thread などなど…. その中で、OpenMP と pthread が使えるようになったので比較してみた。今回は円周率πを両手法で効率良く計算することを目指す。使用する並列化の理論の元となる数式は で、積分範囲をスレッド毎に分割することで高速化を実現する。まずは OpenMP を用いたコード #include #include #include #define F(X) 4.0L/(1.0L+(X)*(X)) #define THREAD 2 #define ITERATION 100000000 int main(int argc, char *argv[]) { long double x0, x1, h, sum =

  • C++ 開発者が陥りやすい OpenMP* の 32 の罠 | iSUS

    この記事は、インテル® ソフトウェア・ネットワークに掲載されている「32 OpenMP traps for C++ developers」 (http://software.intel.com/en-us/articles/32-openmp-traps-for-c-developers/) の日語参考訳です。 はじめに マルチコアシステムが急速な広がりをみせており、並列プログラミングへの早急な対応が求められています。しかしながら、経験豊富な多くの開発者にとってもこれは新しい分野です。既存のコンパイラーとコード・アナライザーでも、並列コードの開発中に一部の問題を発見することはできますが、多くの問題は検出できません。この記事では、OpenMP* を使用する並列プログラムが正しく動作しない原因となるさまざまな問題について説明します。 概要 並列プログラミングが登場したのはかなり以前のことです

    C++ 開発者が陥りやすい OpenMP* の 32 の罠 | iSUS
  • OpenMPの使い方:tech.ckme.co.jp

    OpenMPは複数のCPU(複数コアを含む)を持った計算機上での並列化に威力を発揮する。 OpenMPを使う最大の利点は、OpenMPに対応したコンパイラであれば、非常に簡単に並列化できる点である。 現在、gcc、Visual C++、およびIntelコンパイラなど主要なコンパイラはOpenMPに対応している。 習得も他の並列化技法に比べて比較的容易である。 なお、速度を最優先にする場合、単一コンピュータ上で動かした場合でも、メモリのローカリティのためかOpenMPよりMPIの方が効率のよいことが多い。MPIに関してはこちらを参照。 なお、インテルがOpenMP初心者向けに非常にわかりやすい文書を公開している。 OpenMPプログラムのコンパイル OpenMPの各種関数を使わない場合、#pragma ompで始まる指示をソースコード内に書き込み、下記のコンパイルスイッチをつけてコンパイルす

  • 1