#概述
OpenMP 是一套支持跨平台共享内存方式的多线程并发的编程 API。目前,主流 C/C++ 编译器,如 gcc、Visual C++ 等都已内建支持 OpenMP,如果你使用的是目前主流且较新的 Linux 发行版,那么使用 gcc 即可编译 OpenMP 程序。但是对于未安装 Visual C++ 的 Windows 用户和使用 Apple LLVM Clang 编译环境的 OS X (macOS) 用户,OpenMP 就需要额外安装了。本文即介绍上述两种平台下 OpenMP 配置方法。
#Windows
-
打开 http://tdm-gcc.tdragon.net/download,下载安装 TDM-GCC
-
安装 TDM-GCC。取消勾选
Check for updated files on the TDM-GCC server
,然后点击Create
-
点击下一步并选择安装位置,进入安装组件选择界面。点开
gcc
选项,勾选上openmp
,其他选项保持默认勾选即可开始安装
至此,TDM-GCC 安装完成。现在你可以在命令行中使用gcc
命令并加入-fopenmp
参数来编译运行 OpenMP 程序了,栗如:
|
|
**注:**如果编译时出现
fatal error: omp.h: no such file or directory
,可以尝试检查环境变量 PATH,确保TDM-GCC安装路径\bin
存在,且不存在 MinGW 相关路径。
#macOS
-
打开终端(你可以在 Finder 侧边栏中的
应用程序
中找到它) -
确保已安装 Homebrew。如果你未安装 Homebrew,在终端中粘贴如下命令来安装
1
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
-
粘贴如下命令来安装 gcc5 (时间可能略长,不妨喝杯 Java 放松一下)
1
brew install homebrew/versions/gcc5
至此,gcc5 安装完成。由于 Apple 已将gcc
和g++
作为clang
和clang++
的别名,因此你可以使用gcc-5
和g++-5
并加入 -fopenmp
参数来编译运行 OpenMP 程序,栗如:
|
|
#参考资料
- OpenMP.org
- OpenMP - 維基百科,自由的百科全書
- Paul Macklin’s Math Cancer Lab: Setting up gcc / OpenMP on OSX (Homebrew edition)
原文链接:bLue’s Blog