首页 文章
  • -1 votes
     answers
     views

    在Jetson TK1上使用Numbapro

    我在整个互联网上搜索了这个,但我没有找到一个可靠的答案 . 我需要指出的是,我是GPU编程的新手,但我刚订购了我的Jetson TK1单元,因为我喜欢模拟,我喜欢Python . 我在PC上试过Numpy,但我想把这些模拟带到Android上 . 我读过有关PyCuda和Numba但我更喜欢后者,因为它完全是在python中,我不必在C中编写内核 . 我似乎没有掌握的是如何(在我的Jetson T...
  • 13 votes
     answers
     views

    Numba代码比纯python慢

    我一直在努力加快粒子滤波器的重采样计算 . 由于python有很多方法可以加速它,我虽然会尝试所有这些 . 不幸的是,numba版本非常慢 . 由于Numba应该加速,我认为这是我的错误 . 我尝试了4个不同的版本: Numba Python Numpy Cython 每个代码如下: import numpy as np import scipy as sp import nu...
  • 3 votes
     answers
     views

    Numba CUDA`vectorize`和`reduce`装饰器比预期慢

    我一直在使用 Numba 包测试一些基本的CUDA函数 . 我的主要目标是在GPU上实现Richardson-Lucy算法 . 可以加速算法,并且可以在以下虚拟函数中总结这样做的一个主要步骤 def dummy(arr1, arr2): return (arr1 * arr2).sum() / ((arr2**2).sum() + eps) 这个功能在CPU上运行得相当快,但我想保留GP...
  • 0 votes
     answers
     views

    NUMBA - 如何使用“cuda”目标在@guvectorize中生成随机数?

    在这个(哑)例子中,我试图通过计算落入单位圆的(0,1)x(0,1)中随机选择的点的数量来计算pi . @guvectorize(['void(float64[:], int32, float64[:])'], '(n),()->(n)', target='cuda') def guvec_compute_pi(arr, iters, res): n = arr.shape[0] ...
  • -1 votes
     answers
     views

    CUDA \ NUMBA同步速度较慢

    我是CUDA的新手,我正在尝试用NUMBA \ CUDA来加速我的代码 . 但是,我遇到了一些麻烦,因为我的代码非常慢 . 示例代码如下所示 . from timeit import default_timer as timer from numba import jit, guvectorize, int32, int64, float64 from numba import cuda @cu...
  • 3 votes
     answers
     views

    CUDA-Python:如何在Python中启动CUDA内核(Numba 0.25)?

    你能帮我理解如何用Python编写CUDA内核吗? AFAIK, numba.vectorize 可以基于 target 在cuda,cpu,parallel(multi-cpus)上执行 . 但是target = 'cuda'需要设置CUDA内核 . 主要问题是很多例子,互联网上的答案与 deprecated NumbaPro库有关,所以很难遵循 not-updated WIKIs,特别是如...
  • -2 votes
     answers
     views

    预计加速Numba / CUDA与Numpy的对比

    我是Numba和CUDA的新手,并且在一些基本的例子上做了测量,以便将cuda jitted函数与Numpy进行比较 . 例如, @cuda.jit("void(float32[:])") def gpu_computation(array): pos = cuda.grid(1) if pos < array.size: array[po...
  • 2 votes
     answers
     views

    使用Numba Vectorize目标的负速度增益= 'cuda'

    我正在尝试使用CUDAcast#10中提供的代码片段here来测试使用Python Numba模块's @vectorize decorator for speeding up a code snippet relevant to my actual code. I' m的有效性,如下所示: import numpy as np from timeit import default_timer a...
  • 3 votes
     answers
     views

    Numba python CUDA与cuBLAS在简单操作上的速度差异

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

    pyculib fft使用gpu:加速

    我是一个初学者,试图学习如何使用GPU来执行高速计算 . 我正在尝试使用GPU实现一个简单的FFT程序 . 下面是我用于使用CPU内核计算FFT的程序 . from time import time as timer import numpy as np import matplotlib.pyplot as plt winsize=512 shift=16 my_cmap='gray_r' Fs...
  • -1 votes
     answers
     views

    gpu内核无限期地使用与cuda的numba

    在一个应用程序中,我需要将3D点 Cloud 结合到体素网或3D直方图中 . 最初使用scipy.binned_statistic_dd但是它太慢而无法跟上我们正在构建的实时应用程序 . 为了加快这个过程,我们选择尝试使用cuda进行numba来对gpu进行分级 . 以下程序是我第一次尝试这样做,它是scipy提供的一个很好的加速: import numba from numba import c...
  • 0 votes
     answers
     views

    由于libllvmlite.dylib错误,UMAP在py2app构建时失败

    我冻结了我们开发的软件AltAnalyze的GitHub发行版(https://github.com/nsalomonis/altanalyze) . UMAP-learn包依赖于从源代码运行良好的numba和llvmlite,但是,当使用py2app构建分发版本时,UMAP失败并出现以下错误: File "umap/__init__.pyc", line 1, in &lt...
  • 0 votes
     answers
     views

    如何验证@jit()装饰器在GPU上运行?

    在处理我的代码时,即使使用nopython = True选项,在使用@jit装饰器之后也找不到任何加速 . 我怀疑jit真的支持GPU,因为我没有在它的参数中找到这个选项 . 我也认为parallel = True选项适用于CPU内核 . 任何点击,更正?如何验证我的代码在GPU上运行? 非常感谢 :)
  • 3 votes
     answers
     views

    在lambdify'd sympy表达式上使用numba.autojit

    我过去使用过numpy并且对它很熟悉,但有时当我想要一点额外的速度时,我已经能够使用numba.autojit装饰器了 . 简单 . 现在的问题是我正在研究一系列的症状表达式和numba(jit OR autojit)不确定lambdify的功能是什么 . 看来sympy没有维护特定的参数列表 . 我想我可以看看sympy.lamdify是如何工作的,并制作我自己的版本,它包含了numba,但我想...
  • 2 votes
     answers
     views

    使用lambdify和函数评估优化运行时

    我目前正在优化我的代码的运行时间,它仍然不在我想要的消费范围内 . 在执行高斯求积时,我已经达到了 80% of the time is spent on running lambdify() on my sympy Matrix expressions and evaluating the resulting lambda functions 的程度 . 代码的所有其他方面都得到了充分的优化,因...
  • 5 votes
     answers
     views

    请勿在conda环境中正确安装numba / llvmlite

    我创建了一个新的conda环境 user@machine:~/project$ conda create -n test-env -c numba python=3.5.2 llvmdev=3.8 Fetching package metadata ........... Solving package specifications: . Package plan for installatio...
  • 0 votes
     answers
     views

    Numba cuda中的Argmin和min值

    我想在cumb中使用numba中的float数组找到索引和最小数字的值 . 我知道我们可以简单地使用numpy方法来解决这个问题 . 但是,将数组从设备复制到主机需要花费最多的时间(98%) . 因此,我在设备空间中声明了整个数组,现在我正在尝试在设备中实现argmin,这样我就可以最小化复制内存的时间 . 另外,我试图启动一个单线程cuda函数来调用numpy.argmin(),但是memcpy...
  • 0 votes
     answers
     views

    如何限制Numba(CUDA)中每个线程使用的寄存器数量

    正如 Headers 所说,我想知道在启动内核时是否有办法限制每个线程使用的寄存器数量 . 我在每个线程上执行大量计算,因此使用的寄存器数量太高,然后占用率很低 . 我想尝试减少用于尝试改进并行线程执行的寄存器数量,可能以更多内存访问为代价 . 我搜索了答案,但没有找到解决方案 . 我认为可以设置线程使用CUDA工具链的最大寄存器数,但是在使用Numba时是否也可以? 编辑:也许还强制在多处理器中...
  • 1 votes
     answers
     views

    Numba和guvectorize for CUDA目标:代码运行速度低于预期

    值得注意的细节 大型数据集(1000万x 5),(200 x 1000万x 5) 大多数是Numpy 每次运行后需要更长时间 使用Spyder3 Windows 10 首先是尝试使用以下函数的guvectorize . 我传递了一堆numpy数组并尝试使用它们在两个数组中相乘 . 如果使用cuda以外的目标运行,则此方法有效 . 但是,当切换到cuda时,会导致未知错误: ...
  • -3 votes
     answers
     views

    需要帮助了解GPU上的内核传输速度(numba,cupy,cuda)

    虽然GPU加速数学计算,但是将内核移动到GPU以执行高速会有一个固定的开销 . 我正在使用cupy和numba . 我第一次执行使用cupy的GPU版本numpy的函数调用时,它非常慢 . 但第二次它很快 . 我意识到我不明白内核或GPU代码是如何运行到GPU的 . 在操作上我想要更好地理解这一点,以便我可以知道我做的事情何时会由于某些内核传输而意外地创建一个缓慢的步骤 . 所以我需要一些规则或经...
  • 4 votes
     answers
     views

    Python中使用numba的简单求和函数无法计算

    我正在尝试学习Python和Numba,我无法弄清楚为什么下面的代码不能在IPython / Jupyter中计算: from numba import * sample_array = np.arange(10000.0) @jit('float64(float64, float64)') def sum(x, y): return x + y sum(sample_array, ...
  • 2 votes
     answers
     views

    设计启发式编写与`scipy.integrate.odeint`交互的Python类?

    简介 scipy.integrate.odeint需要作为其第一个参数,一个计算我们想要整合的变量的导数的函数(从现在开始,我将其称为 d_func ,"derivative function") . d_func 必须由用户在Python代码中编写 . 使用Numba提高性能的一个好方法是 @jit (因为在集成期间多次调用 d_func ) . 当 d_func 足够复杂以...
  • 0 votes
     answers
     views

    Python:numba,构造函数如何将函数作为参数?

    我想学习使用numba . 不幸的是,我发现从文档中学习numba有点困难 . 所以我得试着问你们 . 我想将函数 f 作为参数传递给构造函数 . 但是我尝试,我得到各种各样的错误 . 我该怎么办? 这是我的代码: def f(x): # return some mathematical expression f_numba = jit(double(double))(f) @auto...
  • 2 votes
     answers
     views

    无法在ipython集群引擎中导入numba?

    我想在一个使用自定义numba-fied函数快速运行的IPython集群上运行计算 . 我尝试使用 dview 对象的 sync_imports 方法同步导入 . 问题是引擎不会发出指向问题的简短代码: from IPython.parallel import Client rc = Client() dview = rc[:] ...

热门问题