一連のCPUを集中的に使用する操作がある場合、プログラムをマルチスレッド化すると、必然的に実行時間が短縮されますか?そうすることのトレードオフは何ですか?この場合、私は非常に大きな行列の零空間を計算しようとしています。私はPythonを使用しており、具体的には、numpyパッケージを使用しています。
def nullspace(A, eps=1e-15):
"""Computes the null space of the real matrix A."""
n, m = shape(A)
if n > m :
return nullspace(transpose(A), eps)
_, s, vh = linalg.svd(A)
s = append(s, zeros(m))[0:m]
null_mask = (s <= eps)
null_space = compress(null_mask, vh, axis=0)
return null_space.tolist()
また、そのような関数をマルチスレッド化する方法を知りたいと思います。前もって感謝します。