OpenMP for指令并行【高性能编程】

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a19990412/article/details/85157841

简述

for指令

用了for指令之后,就不需要指定线程数了,通过for的循环次数就可以指定好了对应的线程数目。

实例

#pragma omp parallel for
	for (int j = 0; j < 4; j++)
	{
		printf("Hello, World!, ThreadId = %d, j = %d \n", omp_get_thread_num(), j);
	}

效果:

PS D:\C++\VS\repo\OpenMP-TEST\Debug> ./OpenMP-TEST
Hello, World!, ThreadId = 0, j = 0
Hello, World!, ThreadId = 2, j = 2
Hello, World!, ThreadId = 1, j = 1
Hello, World!, ThreadId = 3, j = 3
  • 注意到,线程index和j的数值是一样的。

完整代码:

#include <iostream>
#include <omp.h>
using namespace std;
#pragma warning(disable : 4996)
void Hello();
int main(int argc, char **argv) {
#pragma omp parallel for
	for (int j = 0; j < 4; j++)
	{
		printf("Hello, World!, ThreadId = %d, j = %d \n", omp_get_thread_num(), j);
	}
}

猜你喜欢

转载自blog.csdn.net/a19990412/article/details/85157841