タグ

openmpに関するsigmadreamのブックマーク (2)

  • OpenCLと他の並列化技術との比較雑感 | アールケー開発

    OpenCLの他に、処理の並列化技術はいくつかある。どれを使うのが適切なのか比較してみて感じたことをいくつか挙げて見る。まず、比較したのは次の通り。 OpenMP Intel Threading Building Block (TBB) Grand Central Dispatch (GCD) OpenCL なお、GCDについては、執筆時点ではMac OS X 10.6が発売されていないので、Appleのサイトで一般公開されている情報のみで考える。 OpenMP C/C++のコードでコンパイラレベルで並列処理を行う。並列化したい場所を#pragmaで指定する。#pragmaは専用のものを使って、共有する変数などを指定する。関数内の特定のforループのみ並列化するなどの指定が出来るので小回りが利く。また、既存のコードが並列化を行えるようなアルゴリズムで実装されていれば、#pragmaを追加す

    OpenCLと他の並列化技術との比較雑感 | アールケー開発
  • OpenMPの使い方:tech.ckme.co.jp

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

  • 1