问题标签 [numba]

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 投票
2 回答
2325 浏览

python - 为什么在 4 核超线程 CPU 上使用 8 个线程比 4 个线程快?

我有一个四核 i7 920 CPU。它是超线程的,因此计算机认为它有 8 个内核。

根据我在互联网上阅读的内容,在执行并行任务时,我应该使用物理内核的数量,而不是超线程内核的数量。

所以我做了一些计时,很惊讶在并行循环中使用 8 个线程比使用 4 个线程更快。

为什么是这样?我的示例代码太长,无法在此处发布,但可以通过在此处运行示例找到:https ://github.com/jsphon/MTVectorizer

性能图表在这里:

在此处输入图像描述

0 投票
1 回答
526 浏览

python - Numbapro cuda python在gpu的线程寄存器中定义数组

我知道如何使用np.arraynp.zerosnp.empty(shape, dtype)然后使用cuda.to_device复制在主机内创建全局设备功能。

此外,可以将共享数组声明为cuda.shared.array(shape, dtype)

但是如何在 gpu 函数内的特定线程的寄存器中创建一个恒定大小的数组。

我试过了cuda.device_arraynp.array但没有任何效果。

我只是想在一个线程中执行此操作-

0 投票
3 回答
542 浏览

python - 简化语句 '.'.join(string.split('.')[0:3] )

我习惯用 C/C++ 编写代码,当我看到以下数组操作时,我觉得有些 CPU 浪费:

因此我想知道:

  • 这条线是否会被执行(解释)为创建一个临时数组(内存分配),然后连接前三个单元格(再次分配内存)?
    还是 python 解释器足够聪明?
    (我也很好奇PythranParakeetNumbaCython和其他 python 解释器/编译器在这种情况下所做的优化......)

  • 是否有一个技巧可以编写更高效的 CPU 并且仍然可以理解/优雅的替换行?
    (您可以提供特定的 Python2 和/或 Python3 技巧和提示)

0 投票
1 回答
530 浏览

python - 使用 jit 正确注释 numba 函数

我从这段代码开始计算一个简单的矩阵乘法。它在我的机器上以大约 7.85 秒的时间运行 %timeit。

为了加快速度,我尝试了 cython,将时间减少到 0.4 秒。我还想尝试使用 numba jit 编译器来查看是否可以获得类似的加速(用更少的努力)。但是添加 @jit 注释似乎给出了完全相同的时间(约 7.8 秒)。我知道它无法确定 calculate_z_numpy() 调用的类型,但我不确定我能做些什么来强制它。有任何想法吗?

0 投票
0 回答
55 浏览

multithreading - 为什么这个多线程脚本会冻结?

我正在尝试在这里修改最后一个示例:

http://numba.pydata.org/numba-doc/0.15.1/examples.html

实现一个多线程的 groupby-max 函数。

到目前为止我所做的如下。在 IPython 会话中,它开始打印“在主线程上”,但在那之后,当我尝试输入新命令时,控制台所做的所有事情都是打印出“控制台已经以值退出:-1073741819 等待答案。”

如何使线程正常工作?

我有麻木。版本0.15.1。

0 投票
2 回答
1827 浏览

python - Numbapro 停止在 gpu 上工作

我正在尝试运行以下程序:

我第一次运行它运行良好。但是后来我尝试安装 nvprof 和一些其他库,从那时起我收到以下错误:

卸载库没有帮助。

0 投票
2 回答
257 浏览

python - 如何在内存限制的情况下求和的平方和?

这是这个问题的后续:

如何求和的平方和的和?

我在哪里寻求帮助以使用 einsum(以实现极大的速度提高)并得到了很好的答案。

我也得到了使用的建议numba。我已经尝试过两者,似乎在某个点之后速度增加numba要好得多。

那么如何在不遇到内存问题的情况下加快速度呢?

0 投票
1 回答
9115 浏览

python - numba 中的 jit 和 autojit 有什么区别?

我对 和 之间的区别感到jit困惑autojit

我读过这个:

http://numba.pydata.org/numba-doc/0.6/doc/userguide.html

但不能说我知道有信心在这两个选项之间进行选择。有人可以详细说明,最好举个例子。

谢谢

0 投票
2 回答
668 浏览

python - 如何编译 numba python 代码并存储它?

我一直在使用 numba 来加快一些 for 循环的速度,从而获得了不错的效果。我如何预编译代码,而不是及时编译代码(这需要一些时间)?

这是一个例子:

我想要以某种方式保存已编译的函数,这样我就不需要每次都编译它。

0 投票
0 回答
304 浏览

python - 如何使用 ctypes 导入使用 numba 导出创建的共享库?

我试着按照这个例子

http://numba.pydata.org/numba-doc/dev/pycc.html

获取我的代码的预编译版本。

但是我不知道如何加载它。这是我到目前为止尝试过的:

测试3.py:

在命令行中:

在 ipython 控制台中:

这给了我一个错误....

我有一种感觉,这是我对如何使用ctypes+的无知pycc而不是numba问题。任何帮助表示赞赏。