Tim*_*Tim 5 c++ performance openmp
我正在使用OpenMP与嵌套循环进行多线程处理.由于对这些东西不熟悉,我不确定我是否以正确的方式使用OpenMP,以便它实际上可以进行并行编程.所以我想知道我是否可以测量使用OpenMP的C++程序的性能,所以我可以告诉它实际上有效并且我在正确的轨道上?就像并行运行的线程数以及每个线程完成所需的时间一样.感谢致敬!
#include <omp.h>
...
int target_thread_num = 4;
omp_set_num_threads(target_thread_num);
unsigned long times[target_thread_num];
// Initialize all the times
#pragma omp parallel
{
int thread_id = omp_get_thread_num();
times[thread_id] = start_time();
std::cout << "Thread number: " << omp_get_thread_num() << endl;
times[thread_id] = end_time();
}
...
Run Code Online (Sandbox Code Playgroud)
显然你需要提供两个计时器功能,但这就是要点.OMP功能非常明显.还要确保您的环境已正确设置,并且您正在使用正确的机制进行编译.g ++选项是-fopenmp.在Visual Studio上,转到项目设置,C++,语言,并启用"OpenMP支持".
| 归档时间: |
|
| 查看次数: |
6344 次 |
| 最近记录: |