Python中For循环多核并行优化问题:改写函数陷入无限循环
多核加速矩阵计算函数问题
示例输入
C0x = [[2.969129, 3.065011, 3.294439], [3.087682, 1.674345, 2.930011], [3.355765, 2.863887, 2.588477]] C0y = [[6.748940, 9.673919, 7.662236], [9.527495, 11.328892, 10.147356], [7.738452, 10.280770, 7.684719]] C0xy = [[0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 0.0]] C0yx = [[0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 0.0]] Cxx1 = [[2.970383, 3.065395, 3.295505], [3.088111, 1.674282, 2.930299], [3.356823, 2.864131, 2.589346]] Cyy1 = [[6.733786, 9.656677, 7.646381], [9.510379, 11.309615, 10.129516], [7.722598, 10.262803, 7.668157]] Cxy1 = [[0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 0.0]] Cyx1 = [[0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 0.0]] dCx = [array([[-0.88391347, -0.9165879 , -1.00445679], [-0.9102315 , -0.94390882, -1.03437531], [-0.99567547, -1.03249243, -1.13146452]]), array([[-0.93911752, -0.49819029, -0.88115751], [-0.51945798, -0.2755809 , -0.48739065], [-0.87413297, -0.46370905, -0.82018765]])] dCy = [array([[4.54319981, 6.52256593, 5.20680836], [6.38565572, 9.16779592, 7.31840445], [5.19995576, 7.46547485, 5.95950073]]), array([[ 9.36071422, 11.09190807, 9.94111537], [10.98180048, 13.0128158 , 11.66270877], [ 9.93855597, 11.7766108 , 10.55478873]])] dCxy = [array([[0., 0., 0.], [0., 0., 0.], [0., 0., 0.]]), array([[0., 0., 0.], [0., 0., 0.], [0., 0., 0.]])] dCyx = [array([[0., 0., 0.], [0., 0., 0.], [0., 0., 0.]]), array([[0., 0., 0.], [0., 0., 0.], [0., 0., 0.]])]
原函数输出
A = [[26.203265, 17.026796], [17.026796, 11.763451], [1138.015961, 1913.702747], [1913.702747, 3238.589801], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]] B = [-0.016327, -0.011957, -2.966823, -5.028449, 0.0, 0.0, 0.0, 0.0]
问题描述
需通过multiprocessing模块加速适用于大输入的矩阵计算函数,已将原函数defineMatrices改写为多核版本defineMatrices_mp,但程序陷入无限循环,且未实现B矩阵的计算。要求最终得到与原函数完全一致的A、B矩阵结果。
内容的提问来源于stack exchange,提问作者Accelerator
相关产品推荐
相关产品推荐

