OpenMPを使いはじめた。
時間計測プログラムをメモ。
https://stackoverflow.com/questions/10874214/measure-execution-time-in-c-openmp-code
time.hのclock()はCPUの費やした時間をかえすのでこの場合は適していないらしい。
そんなときはomp_get_wtime()を使う。戻り値は秒。
時間計測プログラムをメモ。
https://stackoverflow.com/questions/10874214/measure-execution-time-in-c-openmp-code
time.hのclock()はCPUの費やした時間をかえすのでこの場合は適していないらしい。
そんなときはomp_get_wtime()を使う。戻り値は秒。
#include <iostream> #include <omp.h> #include <time.h> using namespace std; int hoge(int x, int y) { return x + y; } int main() { double start, end; clock_t t_start, t_end; long N = 100000000; t_start = clock(); #ifdef _OPENMP start = omp_get_wtime(); #pragma omp parallel for for(int i = 0; i < N; i++) { hoge(1,1); } end = omp_get_wtime(); cout << end - start << endl; #else for(int i = 0; i < N; i++) { hoge(1,1); } #endif t_end = clock(); cout << (double(t_end - t_start)/CLOCKS_PER_SEC) << endl; return 0; }
0 件のコメント:
コメントを投稿