资源简介
并行计算三种方式计算π:概率法,积分法,级数法,代码中包括计算量和线程个数设置。
使用时进行编译后输入相应提示的数值即可,例如N=100000 t=8
使用时进行编译后输入相应提示的数值即可,例如N=100000 t=8

代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include
#include
double pi = 0.0;
long long m = 0;
long long N; //投的点的个数
int t; //线程数量
pthread_mutex_t lock;
void *thread(void *ID){
long id = (long) ID;
long long i;
long long length = N/t;
long long mi = 0;
for(i = 0;i < length;i++){
float x = rand()/(RAND_MAX + 1.0);
float y = rand()/(RAND_MAX + 1.0);
if ((x*x + y*y) <= 1.0)
mi++;
}
pthread_mutex_lock(&lock);
m += mi;
pthread_mutex_unlock(&lock);
}
int main(){
int i; //用于遍历
pthread_mutex_init(&lockNULL);
pthread_t *threads;
threads=(pthread_t *)malloc(sizeof(pthread_t)*t);
//获取输入
printf(“Please enter the number of N: “);
scanf(“%ld“&N);
printf(“Please enter the number of threads (t): “);
scanf(“%d“&t);
printf(“\n“);
for(i=0;i pthread_create(&threads[i]NULLthread(void*)i); // 创建t个线程,并将线程标记为i
}
for(i=0;i {
pthread_join(threads[i]NULL);
}
pi = 4.0 * m/N;
printf(pi);
pthread_mutex_destroy(&lock);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1090 2020-03-22 22:20 积分法.c
文件 1348 2020-03-22 22:18 级数法.c
文件 1250 2020-03-22 22:18 概率法.c
相关资源
- 西安电子科技大学 并行计算 霍红卫
- 基于Spark的PSO并行计算
- 整理最全资料:并行计算大作业:矩
- 一种并行计算通信优化策略
- 有限元结构分析并行计算.pdf
- 高性能并行计算.zip
- R并行编程实战
- 并行计算——结构·算法·编程修订版
- 中科院课程 高性能并行计算课件,程
- 中科大并行计算经典课件
- 《GPU高性能计算之CUDA》书中源代码
- 陈国良并行计算机体系结构
- _CPU_GPU协同并行计算研究综述_cuda_op
- 基于OpenCL并行加速算法研究及其FPGA实
- 并行计算mpi与openmp之蒙特卡洛求不规
- [并行计算——结构·算法·编程].陈国
- 天津大学并行计算一二次实验报告
- MPI与OpenMP并行计算的实验报告及源程
- 并行计算 结构·算法·编程 第3版
- 并行计算多线程求π以及矩阵转置
- 并行算法实践+源码--陈国良.rar
- Cuda C 编程指南程润伟
- Introduction to Parallel Computing 2nd 英文原
- 天津大学并行计算
- 陈国良院士的并行计算系列丛书全四
- 中科大-陈国良-并行计算PPT课件全
- 并行计算课程PPT
- CUDA 高性能并行计算.pdf
- CUDA by example 中文:GPU高性能编程CUD
- 并行编程模式
评论
共有 条评论