问题标签 [numba-pro]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
366 浏览

python-2.7 - cuda GPU加速代码的结果不一致

我试图为我的 GPU 上的图像计算本地二进制模式,同样使用 python 中的 cuda 模块。但是在 CPU 和 GPU 上执行类似算法所产生的结果却产生了不同的结果。你能帮我找出问题吗?

下面是我试图执行的代码片段:

0 投票
2 回答
1722 浏览

python - 使用 numba 计算矩阵中向量和行之间的余弦相似度

使用 numba 快速计算余弦相似度找到了这个要点。

结果看起来很有希望(500ns 与我的机器中没有 jit 装饰器的只有 200us)。

我想使用 numba 来并行化向量u和候选矩阵之间的计算M——即每一行的余弦。

例子:

一种方法是用第二个输入重写一个矩阵。但是NotImplementedError如果我尝试遍历矩阵的行,我会得到一个。打算尝试只使用切片。

我想过使用vectorize,但我无法让它工作。

0 投票
0 回答
98 浏览

gpu - 所有可能的签名与 numba 向量化

我是使用 Python 进行 Numba 和 GPU 编程的新手。

vectorize我了解与装饰器一起使用的基本签名。
例如:- 对于接受两个float变量并返回 a的方法float,这是签名@vectorize([float64(float64, float64)])

我有 3 个问题1.接受和返回数组
的签名是什么? 2.接受和返回Dataframe的签名是什么? 3.可用的签名有哪些? Numpy
Pandas

0 投票
2 回答
3922 浏览

python - 没有名为 numbapro 的模块

我运行了我在 CUDA Python 介绍页面上阅读的这段代码:-

我在终端上收到以下错误:-

它应该使用 gpu 运行代码,但我得到了那个错误。我已经安装了 anaconda,更新了 conda,使用 conda 安装了加速,安装了 cudatoolkit,使用 conda 安装了 numba。我尝试使用 python2 和 python3 编译它

我该怎么办?

0 投票
3 回答
3345 浏览

numba - 如何在 Colaboratory 中使用 numba

有人尝试在谷歌合作中使用 numba 吗?我只是不知道如何在这种环境中设置它。目前,我被错误困住了library nvvm not found

0 投票
1 回答
364 浏览

python - 如何使用 Numba 加速此功能?

我试图使用 Numba 优化此功能,但我无法做到。我认为这没有可以加速的代码部分。如果有人可以帮助我优化这个版本,我的程序会变得非常快。请告知是否需要任何数据集或其他信息。当我对此直接应用@jit 时,它不起作用。

0 投票
0 回答
290 浏览

python - 是什么导致python numba中的CUDA_ERROR_LAUNCH_TIMEOUT?

我正在尝试如何在 numba 中使用 cuda。但是,在 numba 中发生了一些我不明白的事情。这是我的代码

这是我为使用 numba.cuda 进行测试而自定义的矩阵函数。在运行测试之前,我还在以下代码中加载了数组:

然后我使用以下代码进行实验:

for 循环在前 1028 次运行中运行良好。但是它在第 1029 次运行时给了我一个错误,错误消息如下:

在此处输入图像描述

在此处输入图像描述

这是我从 numba.cuda 调用的 cuda 信息

输出是:

名称 = b'GeForce GTX 1050 Ti'

maxThreadsPerBlock = 1024

maxBlockDimX = 1024

maxBlockDimY = 1024

maxBlockDimZ = 64

maxGridDimX = 2147483647

maxGridDimY = 65535

maxGridDimZ = 65535

maxSharedMemoryPerBlock = 49152

asyncEngineCount = 2

canMapHostMemory = 1

多处理器计数 = 6

扭曲大小 = 32

统一寻址 = 1

pciBusID = 3

pciDeviceID = 0

0 投票
1 回答
898 浏览

python-3.x - 为什么 numba cuda 召回几次后运行缓慢?

我正在尝试如何在 numba 中使用 cuda。然而,我遇到了一些与我的预期不同的事情。这是我的代码

这是我为使用 numba.cuda 进行测试而自定义的矩阵函数。在运行测试之前,我还在以下代码中加载了数组:

然后我使用以下代码进行实验:

for 循环在前 1028 次运行中运行得非常快。但是在第 1028 次之后运行速度非常慢。究竟是什么原因造成的,我该如何解决。顺便说一句,我在win10上运行。

这是我从 numba.cuda 调用的 cuda 信息

输出是:

名称 = b'GeForce GTX 1050 Ti'

maxThreadsPerBlock = 1024

maxBlockDimX = 1024

maxBlockDimY = 1024

maxBlockDimZ = 64

maxGridDimX = 2147483647

maxGridDimY = 65535

maxGridDimZ = 65535

maxSharedMemoryPerBlock = 49152

asyncEngineCount = 2

canMapHostMemory = 1

多处理器计数 = 6

扭曲大小 = 32

统一寻址 = 1

pciBusID = 3

pciDeviceID = 0

0 投票
2 回答
1019 浏览

python-3.x - 如果 list_of_list[0] 中的元素不起作用,则在非 python 模式下将列表列表传递给 numba 函数

请参阅以下最低代码,

这不起作用,并且似乎 list_of_list[0] 在编译期间不再像列表一样。但是,以下代码有效:

这一次,我传入的实际上是列表,而不是列表。然后它工作。它似乎for i in list在 numba 中有效,而不是for i in list_of_list.

在我的用例中,将列表或数组列表(如 2d 数据)传递给 numba 函数很常见。有时我只需要列表中的一个元素,这是在程序中动态确定的。

为了让它工作,我实际上想出了一个解决方案:list_of_listflattened 变成 along list,然后使用线性索引提取 original 中的一个元素list_of_list

我在这里问,还有其他替代解决方案吗?

0 投票
1 回答
646 浏览

cuda - 如何从 python 项目中禁用或删除 numba 和 cuda?

我已经克隆了一个“PointPillars”repo,仅使用点云作为输入进行 3D 检测。但是当我开始运行它时,我注意到它使用 cuda 和 numba。有了关于这两者的任何先验知识,我问是否有任何方法可以删除或禁用 numba 和 cuda。我想在本地服务器上仅使用 CPU 运行它,所以我希望您的建议能够解决。