在听说科学计算项目(碰巧是这里描述的随机牵引成像方法)后,我目前正在为一名调查员竞选需要 4 个月的时间在我们的 50 节点集群上,调查员要求我检查其他选项。该项目目前正在使用并行 python 将 4d 数组的块分配给不同的集群节点,并将处理后的块重新组合在一起。
我目前正在处理的工作可能过于粗粒度,(5 秒到 10 分钟,我不得不增加并行 python 中的超时默认值),我估计我可以通过重写它来加快 2-4 倍的过程为了更好地利用资源(拆分和重新组合数据花费的时间太长,也应该并行化)。大部分工作由 numpy 数组完成。
假设 2-4 次是不够的,我决定从我们的本地硬件中获取代码。对于像这样的高吞吐量计算,我的商业选择是什么?我需要如何修改代码?