Numpyベクトル演算の並列化

user1475412:

たとえば、使用してみましょう numpy.sin()

次のコードは、配列の各値の正弦の値を返しますa

import numpy
a = numpy.arange( 1000000 )
result = numpy.sin( a )

でも私のマシンには32コアあるのでそれを活用したいです。(オーバーヘッドのようなものには価値がないかもしれませんnumpy.sin()が、私が実際に使用したい機能はかなり複雑であり、大量のデータを扱うことになります。)

これは最良の(読み取り:スマートまたは最速)メソッドですか?

from multiprocessing import Pool
if __name__ == '__main__':
    pool = Pool()
    result = pool.map( numpy.sin, a )

またはこれを行うより良い方法はありますか?

ホルヘカ:

そこである:より良い方法numexprは、

彼らのメインページから少し書き直した:

これはCで記述されたマルチスレッドVMであり、式を分析し、より効率的に書き換え、その場でコンパイルしてコードにコンパイルし、メモリとCPUの両方の制限付き演算の最適な並列パフォーマンスを実現します。

たとえば、私の4コアマシンでは、正弦波の評価はnumpyの4倍よりわずかに高速です。

In [1]: import numpy as np
In [2]: import numexpr as ne
In [3]: a = np.arange(1000000)
In [4]: timeit ne.evaluate('sin(a)')
100 loops, best of 3: 15.6 ms per loop    
In [5]: timeit np.sin(a)
10 loops, best of 3: 54 ms per loop

ここにサポートされている機能を含むドキュメントより複雑な関数をnumexprで評価できるかどうかを確認するために、詳細情報を確認または提供する必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Numpyのベクトル化

分類Dev

OpenMPによる動的計画法の並列化/ベクトル化

分類Dev

算術演算のベクトル化

分類Dev

多くの論理ベクトルに対する並列 'または'演算

分類Dev

postgresの配列のベクトル演算

分類Dev

行列-ベクトル演算のPythonベクトル化

分類Dev

3D配列のNumPy共分散のベクトル化

分類Dev

外積とベクトル演算で平坦化-numpy

分類Dev

OpenMPの並列化はベクトル化を阻害します

分類Dev

NumPy配列の反復加算をベクトル化する

分類Dev

numpy配列を使用した関数のベクトル化

分類Dev

Numpy配列のベクトル化された計算

分類Dev

相互依存配列のnumpyベクトル化

分類Dev

numpyでインデックスベースの行列演算をベクトル化する

分類Dev

NumPy配列全体での文字列フォーマットのベクトル化

分類Dev

numpy.einsumのベクトル化

分類Dev

numpyコードのベクトル化

分類Dev

単純なNumpyのベクトル化

分類Dev

ベクトル化/並列化GEKKO方程式

分類Dev

numpyの2つの配列に依存する関数のベクトル化

分類Dev

NumPyでのペアワイズ列要素ワイズ積のベクトル化

分類Dev

Rのベクトル化された関数内の演算

分類Dev

ファイル作成時のイベント通知の並列化

分類Dev

画像処理:numpy配列要素の置換をベクトル化する

分類Dev

スライス/ベクトル化表記でのNumpy配列集約

分類Dev

ベクトル化されたバージョンのnumpy配列

分類Dev

この行列演算をベクトル化する方法は?

分類Dev

オクターブまたはMATLABで列ごとの演算をベクトル化する

分類Dev

ベクトルのベクトルへの並列プッシュバック

Related 関連記事

  1. 1

    Numpyのベクトル化

  2. 2

    OpenMPによる動的計画法の並列化/ベクトル化

  3. 3

    算術演算のベクトル化

  4. 4

    多くの論理ベクトルに対する並列 'または'演算

  5. 5

    postgresの配列のベクトル演算

  6. 6

    行列-ベクトル演算のPythonベクトル化

  7. 7

    3D配列のNumPy共分散のベクトル化

  8. 8

    外積とベクトル演算で平坦化-numpy

  9. 9

    OpenMPの並列化はベクトル化を阻害します

  10. 10

    NumPy配列の反復加算をベクトル化する

  11. 11

    numpy配列を使用した関数のベクトル化

  12. 12

    Numpy配列のベクトル化された計算

  13. 13

    相互依存配列のnumpyベクトル化

  14. 14

    numpyでインデックスベースの行列演算をベクトル化する

  15. 15

    NumPy配列全体での文字列フォーマットのベクトル化

  16. 16

    numpy.einsumのベクトル化

  17. 17

    numpyコードのベクトル化

  18. 18

    単純なNumpyのベクトル化

  19. 19

    ベクトル化/並列化GEKKO方程式

  20. 20

    numpyの2つの配列に依存する関数のベクトル化

  21. 21

    NumPyでのペアワイズ列要素ワイズ積のベクトル化

  22. 22

    Rのベクトル化された関数内の演算

  23. 23

    ファイル作成時のイベント通知の並列化

  24. 24

    画像処理:numpy配列要素の置換をベクトル化する

  25. 25

    スライス/ベクトル化表記でのNumpy配列集約

  26. 26

    ベクトル化されたバージョンのnumpy配列

  27. 27

    この行列演算をベクトル化する方法は?

  28. 28

    オクターブまたはMATLABで列ごとの演算をベクトル化する

  29. 29

    ベクトルのベクトルへの並列プッシュバック

ホットタグ

アーカイブ