Ope*_*nMP 6 c c++ parallel-processing openmp
什么是OpenMP的高级描述?
在维基百科的文章指出,"OpenMP的(开放式多处理)是一种应用程序编程接口(API),支持多平台共享内存在很多平台上,包括Unix和Microsoft Windows平台上的C,C++和Fortran多处理程序,它由一组影响运行时行为的编译器指令,库例程和环境变量." 什么?
它与其他并发方法(如线程,线程池和工作窃取)相比如何?
它是一组扩展,使C / C ++能够并行运行代码的某些部分,而无需显式管理(创建,销毁,分配)线程。
通过允许您声明性地并行运行代码的某些部分,它基本上使您摆脱了自我管理线程的复杂性。代码示例总是有帮助的:
# pragma omp parallel \
shared ( n, x, y ) \
private ( i ) \
reduction ( + : xdoty )
# pragma omp for
for ( i = 0; i < n; i++ )
{
xdoty = xdoty + x[i] * y[i];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1982 次 |
| 最近记录: |