numba

    2

    2答えて

    numbaではnumpy.resizeがサポートされていないようです。 numba.jitで動的に成長するアレイをnopythonモードで使用する最良の方法は何ですか? これまでのところ私ができることは、jitted関数の外側で配列を定義してサイズを変更することでしたが、より良い(そしてより良い)オプションがありますか?

    -1

    1答えて

    私はNVIDIA GPUでPythonコードを実行しようとしていて、グーグルがnumbaproが私が探しているモジュールだと言われたようです。しかし、thisによれば、numbaproはもはや継続されませんが、numbaライブラリに移動されました。私はnumbaを試してみました。それは@jitデコレータは、私のコードのいくつかを非常にスピードアップするようです。しかし、もっと読むと、jitは、実行

    1

    1答えて

    ループのパフォーマンスを向上させるために、Numbaベクトル化メソッドを使用しました。 s1 = pd.Series([1,3,5,6,8,10,1,1,1,1,1,1]) s2 = pd.Series([4,5,6,8,10,1,7,1,6,5,4,3]) ding=pd.DataFrame({'A':s1,'B':s2}) @numba.vectorize(['float64(int

    0

    1答えて

    TL; DR:でクラスをデコレートするときは、__add__などの特殊メソッドはクラスのインスタンスには表示されず、他のメソッドは正常に動作します。なぜこれが起こるのですか?クラスは完全に正常に動作しないとデコレータ import numba as nb dual_spec = [('x', nb.float64), ('y', nb.float64)] @nb.jitcla

    1

    1答えて

    としては、クラスDOFを考えてみましょう、とその子particleGroup: class dof(): def getVar(self): return self.var spec = [ ('var', float64[:]), ('C_s', float64[:]), ] @jitclass(spec) class particleGr

    1

    1答えて

    ここに例があります。 import timeit import numba @numba.njit('void(List(intp, True))') def foo(v): v[0] += 1 a = range(1 << 25) start = timeit.default_timer() foo(a) stop = timeit.default_timer() print

    2

    1答えて

    を@jit、ここに値を返すためにポインタを使用して簡単なC関数である: void add(double x, double y, double *r) { *r = x + y; } は、私はすべての要素に対してadd()関数を呼び出したいですnumba @jit関数で結果を収集します。 !gcc -c -fpic func.c !gcc -shared -o func.so

    2

    1答えて

    numba.jitclassデコレータを使用して最適化のためにクラスをマークします。 私は最適化したいrunメソッドの署名を指定する方法がわかりません。このメソッドは、ConvertedDocumentの配列を引数として取ります。 numbaは私がnopythonモードでrunメソッドを呼び出ししようとすると、次のエラーが発生したとして独自に配列型を把握することはできないようです: Traceba

    1

    1答えて

    私はコードのボトルネック部分を最適化しています - 関数a '= f(a)を繰り返します。ここで、aとa'はN個のベクトルで、max(abs(a '-a) 。 私はf(a)にNumbaラッパーを入れて、私がプロットした最も最適化された純粋なNumPyバージョン(約50%のランタイムをカット)ですばらしいスピードアップを得ました。 私はnumpy.max(numpy.abs(aprime - a))

    0

    1答えて

    CUDAでのpythonで行列ベクトル積を計算します。 from numbapro import cuda from numba import * import numpy as np import math from timeit import default_timer as time m = 100000 n = 100 @cuda.jit('void(f4[:,:], f