OpenMP (Open Multi-Processing) is an application programming interface
(API) that supports multi-platform shared memory multiprocessing
programming in C, C++, and Fortran, on most platforms, processor
architectures and operating systems.
例如,请参见这部分代码:
int i;
for (i=0;i<10;i++)
{
printf("%d ",i);
}
结果:
0 1 2 3 4 5 6 7 8 9
我们可以在for语句块之前使用#pragma omp parallel for编译器指令使其并行:
int i;
#pragma omp parallel for
for (i=0;i<10;i++)
{
printf("%d ",i);
}
也许太迟了,但希望能帮助别人:)
并行执行C扩展的最简单方法是使用OPENMPAPI。从wikipedia:
例如,请参见这部分代码:
结果:
我们可以在
for
语句块之前使用#pragma omp parallel for
编译器指令使其并行:结果:
要在gcc中启用openmp,您需要指定
-fopenmp
编译时标志。示例:您可以从HERE学习openmp。你知道吗
OpenMP与PThread之比较: 例子从HERE写在C++中。你知道吗
< P><强>序列C++代码:p线程解决方案:
OpenMP解决方案:
相关问题 更多 >
编程相关推荐