numba

    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(int16,int16)']) def

    2热度

    1回答

    我试图在我的GPU上使用numba来做np.diff。 这是我使用的脚本; import numpy as np import numba @numba.vectorize(["float32(float32, float32)"], target='cuda') def vector_diff_axis0(a, b): return a + b def my_diff(A,

    -3热度

    1回答

    我正在尝试加速一组旋转矩阵的计算,这些计算会产生一个3D矩阵(维度= 3x3xnumv,其中numv是顶点的数量)。到目前为止,我的jit函数导致计算速度明显变慢。 from numpy import sin, cos, ones, sqrt, array, float64, zeros, isnan, shape from numpy.linalg import norm from numb

    0热度

    1回答

    TL; DR:在用类别@numba.jitclass装饰类时,不会在类的实例中出现__add__等特殊方法,而其他方法正常工作。为什么会发生? 考虑下面的类声明: import numba as nb dual_spec = [('x', nb.float64), ('y', nb.float64)] @nb.jitclass(dual_spec) class xy:

    1热度

    1回答

    考虑类自由度,并且其子particleGroup: class dof(): def getVar(self): return self.var spec = [ ('var', float64[:]), ('C_s', float64[:]), ] @jitclass(spec) class particleGroup(dof):

    2热度

    1回答

    例如,下面是用指针来返回一个简单的C函数值: void add(double x, double y, double *r) { *r = x + y; } 我想打电话给每一个元素add()功能在两个数组中,并通过numba @jit函数收集结果。 第一编译的C代码: !gcc -c -fpic func.c !gcc -shared -o func.so func.o 而

    2热度

    2回答

    我在写quick select algorithm使用numba很开心,并且想要分享结果。 考虑阵列x np.random.seed([3,1415]) x = np.random.permutation(np.arange(10)) x array([9, 4, 5, 1, 7, 6, 8, 3, 2, 0]) 什么是拉最小的n个元素的最快方式。 我已经试过 np.partition

    0热度

    1回答

    我有一个函数,我想用numba进行编译,但是我需要计算该函数内部的阶乘。不幸的是numba不支持math.factorial: import math import numba as nb @nb.njit def factorial1(x): return math.factorial(x) factorial1(10) # UntypedAttributeError:

    2热度

    1回答

    我正在分析一些代码,但无法找出性能差异。我试图在两个数组之间做一个简单的元素明智的添加(就地)。这是CUDA内核使用numba: from numba import cuda @cuda.jit('void(float32[:], float32[:])') def cuda_add(x, y): ix = cuda.threadIdx.x + cuda.blockIdx.x *

    -1热度

    1回答

    我有以下一个简单的问题。 import numba import numpy as np class MyClass(object): def __init__(self): self.Value=0.0 self.Array=np.array([],dtype=np.float64) @numba.jit(nopython=True) def Fun