查看文章 |
OpenMP标准是共享存储体系结构上的一个编程模型。首先,OpenMP是基于线程的并行编程模型(Parallel Programming Model),一个共享存储的进程由多个线程组成,OpenMP就是基于已有线程的共享编程模型;其次,OpenMP是一个外部的编程模型,而不是自动编程模型,它能够使程序员完全并行化。 OpenMP使用Fork-Join并行执行模型。下面是一个HelloWorld的并行程序: /* HelloWorld.c */ #include <omp.h> int main(int argc, char *argv[]) /* 并行域 */ #pragma omp parallel private(nthreads,tid) 然后用SSH远程登陆HPC(高性能计算机),将HelloWorld.c复制到某一目录下,用命令: icc -openmp -o HelloWorld HelloWorld.c 进行编译,然后运行: ./HelloWorld 显示如下: [pengwh@hpc OpenMP]$ ./Helloworld
OpenMP语句格式是: #pragma omp directive-name [clause, ...] newline 其中,“#pragma omp”是制导指令前缀,directive-name是OpenMP制导指令(上例是parallel),clause是子句,newline是回车。 |