并行计算与IPython交互式shell使用指南
1. 并行计算基础
在并行计算领域,存在一类特殊的算法,被称为易并行算法(embarrassingly parallel algorithms)。对于这类算法,增加处理器数量能够实现线性加速,这正是多处理器机器的优势所在。判断“更多处理器是否更好”,关键取决于具体的算法。幸运的是,许多算法都能通过并行计算实现一定程度的加速,从而解决诸多重要问题。
以Collatz猜想为例,给定函数:
def f(n):
curr = n
tmp = 1
while curr != 1:
tmp = tmp + 1
if curr % 2 == 1:
curr = 3 * curr + 1
else:
curr = curr/2
return tmp
该猜想指出,对于任何正整数,重复应用函数 f(n) 最终都会得到数字1。虽然普遍认为该猜想是正确的,但目前尚无证明。我们关注的是从给定的 n 到1所需的步骤数,即 f(n) 的应用次数,并希望计算1到100所有 n 的平均值。
以下是一个串行Python程序来计算这个平均值:
def main():
sum = 0
for i in range
超级会员免费看
订阅专栏 解锁全文
31

被折叠的 条评论
为什么被折叠?



