タグ

openmpに関するmogwaingのブックマーク (9)

  • Programming NUMA-architectures: Windows (4) - Windows Live

  • Momma's Wiki: OpenCV/OpenMP/ループ構文 - forループを並列化 #pragma omp parallel for [...

    ルール #pragma omp parallel for [schedule(スケジューリング法)] をfor文の直前に入れる。 サンプルソース 100x100の画像をcvSet2Dで塗り潰すのをx, yについて並列化 dynamic, static, guidedの3種を順次y, xについて行なう スレッド数はプロセッサ数*4 #include <cv.h> #include <highgui.h> #include <omp.h> int main(void){ IplImage *src = cvCreateImage(cvSize(100,100),IPL_DEPTH_8U,3); cvSetZero(src); int y,x; cvNamedWindow("src",1); int nProc = omp_get_num_procs(); int nTh = nProc * 4

    mogwaing
    mogwaing 2010/12/19
    schedule
  • Brief Introduction to OpenMP

  • Microsoft PowerPoint - OpenMP_100610_usui_0608

  • ビルドのコマンドとプロパティのマクロ

    Download Visual Studio 2005 Retired documentation from Official Microsoft Download Center Internet Explorer was retired on June 15, 2022IE 11 is no longer accessible. You can reload Internet Explorer sites with IE mode in Microsoft Edge.

    mogwaing
    mogwaing 2010/11/15
    ディレクティブや句の例が豊富
  • 並列アプリケーションを作ってみよう | OSDN Magazine

    インテルのCoreシリーズCPUが登場して以来、マルチコアCPUは爆発的に普及している。現在では比較的低価格なCPUでも複数のコアを搭載するようになり、現在販売されているPCのほとんどはマルチコアに対応しているといっても過言ではない。しかし、まだマルチコアCPUの性能を生かす、並列処理を行っているアプリケーションは多くない。 並列処理は、一般には実装が難しい、という印象があるようだ。確かにスレッドを駆使して処理を並列化する場合、スレッドの管理やスレッド毎の連携など、考慮しなければならないことが増え面倒ではある。しかし、プログラムを並列化するための言語規格「OpenMP」や、C++用の並列化ライブラリ「Threading Building Blocks」といった並列化支援技術を利用することで、プログラムの並列化へのハードルは大幅に低くなる。また、インテルの開発製品「Parallel Stud

    並列アプリケーションを作ってみよう | OSDN Magazine
  • OpenMP 入門

    OpenMP は共有メモリ並列プログラミングの標準 API である。ここでは C/C++ 版を紹介する。Fortran 版もある。 OpenMP は 2008 年 5 月現在バージョン 3.0 が公開されているが,あまり新しい機能は多くのコンパイラで実装されていないと思われる.以下の説明は,かなり古いバージョンに従っているので,たいてい動いてくれると思う. OpenMP は自動並列化ではない。依存性の分析と解決はプログラマに任されている。使い方を間違えば、当然正しくない結果を出す。 以下の説明は OpenMP を使うにあたって最低限の中身に絞ってある.説明も相当簡略なので,この資料だけで OpenMP のプログラミングができるとは思わないほうがよい(もうしわけないが).OpenMP の仕様書は最近はずいぶん分厚くなったが,仕様の理解を助けるサンプルプログラムがたくさんあるおかげである.あの

  • OpenMPの使い方:tech.ckme.co.jp

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

  • OpenMP 入門

    OpenMP は共有メモリ並列プログラミングの標準 API である。ここでは C/C++ 版を紹介する。Fortran 版もある。 OpenMP は自動並列化ではない。依存性の分析と解決はプログラマに任されている。使い方を間違えば、当然正しくない結果を出す。 #include <omp.h> OpenMP を使うときにはインクルードする。 _OPENMP OpenMP コンパイラが define するマクロ。 #pragma omp parallel 節 次の行から始まるブロックを並列に(重複して)実行する。 スレッドの数は num_threads 節か、omp_set_num_threads 関数か、環境変数 OMP_NUM_THREADS で指定する。 Parallel 指示行の時点で既に定義されている変数と、ブロック内でもstatic 宣言されている変数は

  • 1