在 IDE 中 使用 OpenMP 功能

在 IDE 中 使用 OpenMP 功能

简介

  OpenMP是一种用于共享内存并行系统的多处理器程序设计的一套指导性编译处理方案,在多核处理设备上OpenMP提供了对并行算法的高层的抽象描述,程序员通过在源代码中加入专用的pragma来指明自己的意图,由此编译器可以自动将程序进行并行化,并在必要之处加入同步互斥以及通信。
那么,如何在 IDE 中 使用OpenMP功能
在RealEvo-IDE中,需要勾选工程中使能OpenMP编译选项。具体操作如图所示。


示例代码如下: #pragma omp parallel在打开OpenMP的情况下会被编译器识别,生成对应的多线程代码。在单核情况下只会输出一个“Hello World”,在四核机器下会输出四个“Hello World”。
  1. int main()
  2. {
  3.      #pragma omp parallel
  4.      {
  5.          std::cout << "Hello World!\n";
  6.     }
  7. }
以上代码运行与4核x86平台时,会输出四个"Hello World",但输出完进程并没有退出,tp查看发现线程阻塞在信号上,具体如图所示 。
在main函数中添加 vprocExitModeSet(getpid(),  LW_VPROC_EXIT_FORCE) 设置进程退出模式为强制退出可解决相关问题。

    • Related Articles

    • RealEvo-IDE各版本及 Base 功能差异

      SylixOS 开发环境 RealEvo-IDE 体验版、标准版、专业版、旗舰版区别列表。 标配包 体验版 标准版 专业版 旗舰版 (仅面向军工行业) 平台支持 ■标配 □选配 —无 ARM (32/64) ■ ■ ■ ■ RISC-V ■ ■ ■ ■ x86/x64 ■ ■ ■ ■ MIPS □ — ■ ■ PowerPC □ — ■ □ ARM (Cortex-R、M) ■ ■ ■ ■ SPARC □ — ■ □ C-SKY □ ■ ■ ■ TI C66x DSP □ — ■ □ ...
    • RealEvo-IDE 使用手册

      RealEvo-IDE 使用手册 详见:RealEvo-IDE (SylixOS IDE)安装目录如:F:\ACOINFO\RealEvo\doc 中 doc 文件夹下的 《RealEvo-IDE使用手册》 公开链接:SylixOS 手册获取 更多 IDE 配置见: 参考文章:RealEvo-IDE 获取地址 参考文章:IDE 窗口布局介绍 参考文章:IDE 中如何高亮变量 参考文章:IDE 中如何按列编辑 参考文章:IDE 中如何显示特殊字符 参考文章:IDE 中如何屏蔽单个工程文件 ...
    • HTTPS 中间件使用手册

      1. 适用范围 本文档主要用于指导 sylixos 设备使用 libcurl 及 libopenssl 实现 https 网址等访问。 2. 原理概述 curl 作为一个使用 URL 语法实现文件传输的工具,其本身支持多种通信协议,其中就包含 http 及 https,而 https 的支持需要 openssl 来辅助保证安全通信要求。 3. 准备工作 3.1 网络环境准备 https 中间件主要用于嵌入式设备与公网网站或 IP 地址的访问及交互,因此在使用 https ...
    • RealEvo-QtSylixOS 使用手册

      RealEvo-QtSylixOS 使用手册 详见:RealEvo-IDE (SylixOS IDE)安装目录如:F:\ACOINFO\RealEvo\doc 中 doc 文件夹下的 《RealEvo-QtSylixOS使用手册》 公开链接:SylixOS 手册获取
    • SylixOS 功能介绍及版本差异

      SylixOS功能介绍及版本差异 SylixOS 标准版 SylixOS 标准版是 SylixOS 的基础版本,具备如下功能: 兼容 IEEE 1003(ISO/IEC 9945)操作系统接口规范; 兼容 POSIX 1003.1b(ISO/IEC 9945-1)实时编程标准; 支持国军标 GJB7714-2012 操作系统接口规范; 优秀的实时性能(任务调度与切换算法时间复杂度为 O(1)); 支持无限多任务; 抢占式调度支持 256 个优先级; 支持虚拟进程; ...