numba

    0热度

    1回答

    这里是我的代码 def timepropagate(wv1, ham11, ham12, ham22, scalararray, nt): wv2 = np.zeros((nx, ny), 'c16') fw1 = np.zeros((nx, ny), 'c16') fw2 = np.zeros((nx, ny), 'c16') for t

    1热度

    1回答

    我需要基于具有类成员关系信息的另一个数组(labels)对1D numpy数组(data)中的元素进行总结。我在下面的代码中使用numba来加速它。但是,如果我斑点没有明确的线ret[int(find(labels, g))] += y投与int(),我reveice的错误消息: TypeError: unsupported array index type ?int64 有没有更好的解决方法是显

    5热度

    1回答

    我想做一个'daxpy'(将第二个向量的标量倍数加到第一个向量中,并将结果赋值给第一个值),使用和numpy使用numba。做了下面的测试,我注意到自己写循环比做a += c * b要快得多。 我并不期待这一点。这种行为的原因是什么? import numpy as np from numba import jit x = np.random.random(int(1e6)) o = np

    -2热度

    1回答

    我是新来Numba和CUDA,也做了测量,CUDA即时编译功能比较numpy的对一些基本的例子。例如, @cuda.jit("void(float32[:])") def gpu_computation(array): pos = cuda.grid(1) if pos < array.size: array[pos] = array[pos] ** 2.6

    1热度

    1回答

    我有一个3D阵列(N,3,2),用于保持的三个二维矢量组和我遍历它们是这样的: import numpy as np for x in np.zeros((n,2,3), dtype=np.float64): print(x) # for example 与正常numpy这工作正常,但是当我把有问题的功能包装在一个 @numba.jit(nopython=True) 我得到一个

    4热度

    1回答

    我正在学习如何在GPU加速计算蟒从this notebook,其中一条线让我困惑: mandel_kernel[griddim, blockdim](-2.0, 1.0, -1.0, 1.0, d_image, 20) 这里,mandel_kernel是一个装饰(由cuda.jit)函数,griddim和blockdim是长度为2的元组:griddim=(32,16),blockdim=(32

    2热度

    1回答

    我正在研究一个涉及在Python中创建CUDA内核的项目。 Numba工作得很好(这些人所取得的成就非常不可思议),PyCUDA也是如此。 我的问题是我想从我的Python生成的内核调用C设备函数。我找不到一种方法来实现这一点。 Numba可以调用CFFI模块,但只能在CPU代码中调用。在PyCUDA中,我可以将我的C设备函数添加到SourceModule,但我无法弄清楚如何包含另一个库中已有的函

    2热度

    2回答

    有没有办法使用np.newaxis与Numba nopython?为了在python上应用广播功能而不需要备份? 例如 @jit(nopython=True) def toto(): a = np.random.randn(20, 10) b = np.random.randn(20) c = np.random.randn(10) d = a - b[:

    1热度

    1回答

    我正在研究一个简单的展示SPH(平滑粒子流体力学,这里虽然没有相关),但在python中实现。代码有效,但执行有点迟缓。我经常需要比较单个粒子与一定数量的邻居。在早期的实现中,我保留了所有粒子位置和所有距离到每个存在粒子的大块数组 - >到某个点,这个速度非常快。但在视觉上不令人愉悦,并且n ** 2。现在我想用class + kdTree来简化它,以加速邻居搜索。 这一切都发生在我的全球模拟类。

    1热度

    1回答

    当我输入以下代码: mandel_numba = numba.jit(restype=uint32, argtypes=[float32, float32, uint32])(mandel) ,并得到错误信息 raise DeprecationError(_msg_deprecated_signature_arg.format('argtypes')) numba.errors.Deprec