OpenMP
OpenMP 概述
它是可用于 Fortran 或 C/C++ 、Cython 等编程语言的所有指令的子集,所以 OpenMP 用于编写多线程应用程序的 API。它是一组编译器指令和库例程,使并行编程比使用显式线程更容易它实际上大大简化了用 Fortran 、C/ C++ 编写多线程编程程序,并在实践中标准化了过去 20 年的共享内存多处理器 这里的定义没问题。
现在我将向你们展示,它是如何开放的,在硬件系统软件栈中,所以在底部,我们假设我们有一台机器,它有许多处理器或内核。在多核处理器中,这些处理器共享内存地址空间。这些处理器上有一个共享地址空间,上面有操作系统和一个运行库,OpenMP 支持 OpenMP 程序,除此之外,我们还有指导编译器如何编译 OpenMP 程序的指令,还有一个 OpenMP 程序库。
整个执行是由环境变量的使用来控制的,然后你就有了应用程序,它是这样显示的,因为最终用户可以通过改变环境变量来控制应用程序的运行方式,这将改变应用程序与 OpenMP 库交互的行为,尤其是在 OpenMP 编译器中的所有或大部分构造指令。