スポンサーサイト [Edit]
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


スポンサー広告 | 【--------(--) --:--:--】 | Trackback(-) | Comments(-)
OpenMP & HT [Edit]
VC2005 Professionalを使ってれば,OpenMP2.0がサポートされるというので,Pentium4 3.8GのHT状態を使い,MSDNのサンプルコード(下の続きを見てね)をコピペして繰り返し回数を1千万にし,/openmpを有効にして実行したら・・・

OpenMP無効の時と変化なしorz

なぜ?なぜなの??


// cpp_compiler_options_openmp.cpp
#include
#include
#include
#include

volatile DWORD dwStart;
volatile int global = 0;

double test2(int num_steps) {
int i;
global++;
double x, pi, sum = 0.0, step;

step = 1.0 / (double) num_steps;

#pragma omp parallel for reduction(+:sum) private(x)
for (i = 1; i <= num_steps; i++) {
x = (i - 0.5) * step;
sum = sum + 4.0 / (1.0 + x*x);
}

pi = step * sum;
return pi;
}

int main(int argc, char* argv[]) {
double d;
int n = 10000000;

if (argc > 1)
n = atoi(argv[1]);

dwStart = GetTickCount();
d = test2(n);
printf("For %d steps, pi = %.15f, %d milliseconds\n", n, d, GetTickCount() - dwStart);

dwStart = GetTickCount();
d = test2(n);
printf("For %d steps, pi = %.15f, %d milliseconds\n", n, d, GetTickCount() - dwStart);
}

スポンサーサイト
[プログラム]C言語 | 【2007-05-25(Fri) 18:05:07】 | Trackback:(0) | Comments:(0)
コメントの投稿
管理者にだけ表示を許可する

FC2カウンター
現在の閲覧者数:
リンク
RSSフィード
ブログ内検索
フリーエリア

カテゴリー
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。