如何建立Openmp编程环境
1个回答
展开全部
OpenMP在Windows环境下比较容易实现,只要打开VS2008中的编译选项/openmp,设置一下环境变量OMP_NUM_THREADS就可以了。
一般是新建一个c++项目,以次选择Project -> (alt+f7)属性 -> 配置属性(configuration property) -> c/c++ -> 语言(Language),打开OpenMP支持;
设置环境变量:我的电脑 -> 属性 -> 高级 -> 环境变量,新建一个OMP_NUM_THREADS变量,值设为2,即为程序执行的线程数。
至于其它环境变量,在使用的时候我们再设置就可以了,所以暂时不考虑。这样,就可以进行OpenMP程序设计了。
测试例子1:
#include "omp.h"
int main(int argc, char* argv[])
{
#pragma omp parallel
for(;;)
{
int i = 0 ;
i++;
int y = i;
}
return 0;
}
可以在任务管理器中看到CPU跑到100%。
测试例子2:
#include <stdio.h>
#include <omp.h>
int main()
{
omp_set_num_threads(2);
#pragma omp parallel
printf("Hello from Thread NO.%d\n", omp_get_thread_num());
return 0;
}
程序运行结果为:
Hello from Thread NO.0
Hello from Thread NO.1
一般是新建一个c++项目,以次选择Project -> (alt+f7)属性 -> 配置属性(configuration property) -> c/c++ -> 语言(Language),打开OpenMP支持;
设置环境变量:我的电脑 -> 属性 -> 高级 -> 环境变量,新建一个OMP_NUM_THREADS变量,值设为2,即为程序执行的线程数。
至于其它环境变量,在使用的时候我们再设置就可以了,所以暂时不考虑。这样,就可以进行OpenMP程序设计了。
测试例子1:
#include "omp.h"
int main(int argc, char* argv[])
{
#pragma omp parallel
for(;;)
{
int i = 0 ;
i++;
int y = i;
}
return 0;
}
可以在任务管理器中看到CPU跑到100%。
测试例子2:
#include <stdio.h>
#include <omp.h>
int main()
{
omp_set_num_threads(2);
#pragma omp parallel
printf("Hello from Thread NO.%d\n", omp_get_thread_num());
return 0;
}
程序运行结果为:
Hello from Thread NO.0
Hello from Thread NO.1
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询