我使用用 python/numpy/cython 编写的模拟。由于我需要对许多模拟运行进行平均,因此我使用多处理模块批量运行所有单独的模拟运行。
在办公室,我有一个带 HT 的 i7-920 工作站。在家里,我没有 i5-560。我认为我可以在办公室的每批中运行两倍的模拟实例,并将运行时间缩短一半。令人惊讶的是,与在我的家庭工作站上花费的时间相比,每个单独实例的运行时间增加了一倍。也就是说,在家里并行运行 3 个模拟实例需要 8 分钟,而在办公室运行 6 个实例大约需要 15 分钟。使用 'cat /proc/cpuinfo' 我验证了 'siblings' = 8 和 'cpu cores' = 4,因此启用了 HT。
我不知道任何“总运行时间守恒”定律(尽管从科学的角度来看,它可能非常有趣:)),在这里跳出某人可能会对这个难题有所了解。