python - 更新 numpy 矩阵的并行化函数
问题描述
假设我有一个函数,它接收一个 4D 矩阵和 4 个其他数组并更新矩阵条目:
@njit
def func(matrix, A, B, C, D):
for i in range(len(A)):
for j in range(len(B)):
for k in range(len(C)):
for l in range(len(D)):
matrix[i][j][k][l] = another_func(A[i], B[j], C[k], D[l])
的一个例子another_func
是下面的形式:
def another_func(a, b, c, d)
if c <= 5:
return b
else:
return 1 + d * (c - a) + (b - d)
有没有办法并行化这些更新或加快速度?
我尝试使用 numba 的 @njit,但加速不够好。
解决方案
推荐阅读
- node.js - SyntaxError:位置 3 处 JSON 中的意外标记 b
- java - 在 JavaParser 中查找 Super 关键字的类名
- authentication - 验证我的 SP 元数据时出现错误“SP 排除了两种 SAML 2 名称标识符格式”
- django - 网站和手机app:如何结合这2个IT支持?
- android - 从图库中选择图像时如何裁剪图像?
- xcode - Azure Pipelines iOS Fastlane beta 因超时而挂起并失败
- java - Flink SerializationSchema:无法序列化行错误
- python - 根据其他字段在序列化程序中添加一个字段:django
- vuejs2 - Vue2基于数据创建组件
- sql - SQL 透视窗口函数