タグ

TBBに関するfumikonyのブックマーク (2)

  • 構造化『並列』プログラミング - どらの日記

    構造化プログラミング。 といえば、順次、分岐、ループのパターンからなる、シリアルプログラミングにおける基スタイルですね。(これらだけしか使わなくてもシリアルプログラムは書けますっていうね) C++にはあらかじめこれらのパターンを簡単に使えるようにシンタックスが用意されています。 分岐はifやswitch、ループはwhile、for、doといったかんじで。 もちろんこれらのパターンは並列プログラミングでも使えます。 しかし並列プログラミングにおいては、これらのパターンだけで実装を行うことはほぼ不可能です。 そこで、並列プログラミングにおけるパターンとなる構造が考えられてきました。 これらを使うことで、よりパワフルかつ簡潔に並列プログラムのコードを書けるようになります。 1.マップ もっとも基的な並列パターンです。 まず、コードを見てください。 template <class T> voi

    構造化『並列』プログラミング - どらの日記
  • 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と他の並列化技術との比較雑感 | アールケー開発
  • 1