2017-02-08 6 views
0

配列の要素ごとの乗算やnp.sumやnp.averageのような基本的なnumpy関数のような、基本的なnumpy演算の自動並列化を有効にする方法はありますか?ネイティブなnumpyの並列化 - 乗算と和/平均

私はこのスレッドでscipy.linalg.solveのために説明したように、それは、BLAS/LAPACK機能のために可能であることを知っている:

Is it possible to know which SciPy/NumPy functions run on multiple cores?

そして、私はMKLを介して並列にネイティブにこのコードを実行するために管理:

import numpy 

def test(): 
    n = 5000 
    data = numpy.random.random((n, n)) 
    result = numpy.linalg.inv(data) 

test(); 

しかし、私は並行して、このような何かを実行する必要があります:

N = 1024  
    A = np.zeros((N,N,N),dtype='float32')  
    B = np.zeros((N,N,N),dtype='float32') 
    C = np.zeros((N,N,N),dtype='float32') 

    A[:,:,:] = 1 
    B[:,:,:] = 2 

    # this is the part I want parallel 
    C[:,:,:] = A[:,:,:]*B[:,:,:] 

    # also this: 
    avgC = np.average(C) 

それ以外の場合は、これらのターゲット操作をパラレル化する最も簡単な方法は何ですか?

答えて