首页 > 代码库 > 并行计算__简单并行计算实例
并行计算__简单并行计算实例
本文出自:点击打开链接
计算从1~1E10的和
// paralle.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <omp.h> #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <time.h> #define NUM_THREADS 4 int _tmain(int argc, _TCHAR* argv[]) { omp_set_num_threads(NUM_THREADS); long long sum = 0; long long sumtmp[NUM_THREADS]; clock_t t1 = clock(); #pragma omp parallel { long i; long id = omp_get_thread_num(); long long temp = 0L; #pragma omp for for(i = 1; i <= 1000000000; i++) { temp+=i; } sumtmp[id] = temp; } for(long i = 0; i < NUM_THREADS; i++) { sum += sumtmp[i]; } clock_t t2 = clock(); printf("sum=%lld\n", sum); printf("parallel time = %d\n", (t2-t1)); sum = 0; t1 = clock(); for(long i = 1; i <= 1000000000; i++) sum += i; t2 = clock(); printf("sum=%lld\n", sum); printf("serial time = %d\n", (t2-t1)); system("pause"); return 0; }
并行计算__简单并行计算实例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。