素数筛法以及其并行优化(MPI)

1.素数筛法

1.创建一个自然数列表2,3,4……n
2.令k=2,把在列表内的所有k的倍数删去
3.然后找出最小的那个比k大的数
重复2.3步骤,直到k^2>=n

2.并行思想

1.交叉数据分解
即把数组元素进行分解,例如:
进程0负责2+k,2+2k,2+3k
进程1负责3+k,3+2k,3+3k
这个很容易确定哪个进程负责哪个下标,但是他的缺点也是显而易见的,最后还是需要规约化和广播操作,另外也容易引起负载不均衡
2.块状数据分解
将数组分成p个连续的块,每个块平均分到数据,如果不能整除,假如余数是a,前a个进程就多分一个。

等以后我有空了把代码补上。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值