OpenMP配置

Posted on   Capterlliar  阅读(233)  评论(0编辑  收藏  举报

我迟早把概率论笔记也放上来 

1. About OpenMP

OpenMP是由OpenMP Architecture Review Board牵头提出的,并已被广泛接受,用于共享内存并行系统的多处理器程序设计的一套指导性编译处理方案(Compiler Directive) 。OpenMP支持的编程语言包括C、C++和Fortran;而支持OpenMp的编译器包括Sun Compiler,GNU Compiler和Intel Compiler等。OpenMP提供了对并行算法的高层的抽象描述,程序员通过在源代码中加入专用的pragma来指明自己的意图,由此编译器可以自动将程序进行并行化,并在必要之处加入同步互斥以及通信。当选择忽略这些pragma,或者编译器不支持OpenMP时,程序又可退化为通常的程序(一般为串行),代码仍然可以正常运作,只是不能利用多线程来加速程序执行。线程粒度和负载平衡等是传统多线程程序设计中的难题,但在OpenMP中,OpenMP库从程序员手中接管了部分这两方面的工作。线程粒度和负载平衡等是传统多线程程序设计中的难题,但在OpenMP中,OpenMP库从程序员手中接管了部分这两方面的工作。

懂了,C++里的thread是吧。

2. VS2013配置OpenMP

项目->属性->配置属性->C/C++->支持OpenMP->是

#pragma后如果有大括号要换行。

示例程序:

复制代码
#include "omp.h"
#include <stdio.h>
int main()
{
    int id, numb;
    omp_set_num_threads(10);
#pragma omp parallel private(id, numb) 
    {
        id = omp_get_thread_num();
        numb = omp_get_num_threads();
        printf("I am thread %d out of %d \n", id, numb);
    }
}
复制代码

从ppt里复制过来说是mac版本,开个txt复制黏贴一下就好了。

蛮方便的。

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示