ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

並列化してくれるOpenMPをUbuntuで使う その1 使えるか?

2012-10-23 10:34:10 | トピックス
複数のCPU,複数コアあるときの並列処理計算をさせるときに使う
OpenMPをしてみむとて、するなり。
Virtual Box上のUbuntuで実行しています。
(ということは、GCCを使っています)

今日は、その1 OpenMPが使えるかどうか確認




■使えるかどうか

#ifdef _OPENMP

で確認する。

<<サンプル>>
以下のプログラムをHelloOpenMP.cというファイル名で記述する
#include <stdio.h>
#include <omp.h>

int main()
{
#ifdef _OPENMP
        printf("OpenMP\n");
#else
        printf("no use\n");
#endif

        return 0;
}





■コンパイル

gccの場合は、-fopenmpをつけると、OpenMPになる。
したがって、こんなかんじ。

xmldtp@ubuntu-vbox:~$ gcc HelloOpenMP.c
xmldtp@ubuntu-vbox:~$ ./a.out
no use
xmldtp@ubuntu-vbox:~$ gcc -fopenmp HelloOpenMP.c
xmldtp@ubuntu-vbox:~$ ./a.out
OpenMP


-fopenmpをつけないとno useになり、つけると、OpenMPと、OpenMP使用モードになる。




■参考サイト

OpenMPの使い方
http://tech.ckme.co.jp/openmp.shtml



OpenMP 入門
http://olab.is.s.u-tokyo.ac.jp/~reiji/openmp.html



OpenMP チュートリアル
http://www.hpcs.cs.tsukuba.ac.jp/~taisuke/EXPERIMENT/openmp-txt.pdf



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

10月22日(月)のつぶやき

2012-10-23 03:45:25 | AI・BigData

「危険なメソッド」って書いてあったら、どう思います?publicでstaticな変数があって、synchronizeもしてないのに、並列で操作されるJavaのメソッドとか想像しませんか?・・・映画なんだって(^^;)

1 件 リツイートされました


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする