从单行c++添加omp框架,试图进行并行。却发现,线程越多,竟然时间以接近倍数的程度增加。
经查询,发现是计时函数的问题……
clock_t是记录cpu的滴答数的,并行时多个进程同时计算,自然cpu滴答数成倍增加,错误。
换成double omp_get_wtime();就OK啦!
从单行c++添加omp框架,试图进行并行。却发现,线程越多,竟然时间以接近倍数的程度增加。
经查询,发现是计时函数的问题……
clock_t是记录cpu的滴答数的,并行时多个进程同时计算,自然cpu滴答数成倍增加,错误。
换成double omp_get_wtime();就OK啦!