reduction 子句方法进行求和

// OpenMP3.cpp : 定义控制台应用程序的入口点。

// reduction 子句方法进行求和

#include "stdafx.h"
#include <omp.h>
#include <Windows.h>
#include "time.h"
#define NUM_THREADS 2

int _tmain(int argc, _TCHAR* argv[])
{
    clock_t t1 = clock();
    omp_set_num_threads(NUM_THREADS);
    long long sum = 0;

    #pragma omp parallel for reduction(+:sum)
    for(long i = 1; i <= 1000000000; i += 1) {
        sum = sum + i;
    }

    clock_t t2 = clock();
    printf("sum = %lld
", sum);
    printf("parallel time = %d
", (t2 - t1));

    t1 = clock();
    sum = 0;
    for(long i = 1; i <= 1000000000; i += 1) {
        sum = sum + i;
    }
    t2 = clock();

    printf("sum = %lld
", sum);
    printf("serial time = %d
", (t2 - t1));
    system("pause");

    return 0;
}

  

原文地址:https://www.cnblogs.com/mjn1/p/10893671.html