我有一些在Cython中运行的长时间运行,紧密循环,数字运算的OpenMP代码,但是我要回到python / numpy来编写检查点。我也在检查点中可视化中间结果,因此它们不会完全浪费。
我的壁钟时间经历了“Amdahl定律”减速,因为我无法弄清楚如何让numpy.savez(或它的堂兄,numpy.savez_compressed)进行非阻塞I / O.
我玩弄了尝试使用“多处理”或“多线程”与数字运算并行执行压缩和I / O的想法。 (我将剩下几个核心免费,因为这个盒子是我的主工作站。)
在我进入“曲折的迷宫之前,所有类似的:D”之前,我想我会问是否有人已经从(I)Python / Numpy / Cython生态系统中找到了解决此类问题的干净解决方案。 / p>
提前感谢您提供的任何建议!
Frank Horowitz