问题标签 [pythran]

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 回答
297 浏览

python - 非常大的就地 numpy 数组操作:numba、pythran 还是其他?

我需要对非常大的数组(数百万个条目)执行操作,这些数组的累积大小接近可用内存。我知道当使用 numpy like 进行简单操作时a=a*3+b-c**2,会创建几个临时数组,从而占用更多内存。

由于我计划在内存占用的限制下工作,恐怕这种简单的方法行不通。所以我想以正确的方法开始我的发展。

我知道像numbapythran这样的包可以帮助提高操作数组时的性能,但我不清楚它们是否可以自动处理就地操作,避免临时对象......?

作为一个简单的例子,这是我必须在大型数组上使用的一个函数:

所以混合算术运算和调用 numpy 函数的东西。

使用 numba 或 pythran(或其他东西?)编写这样的函数有多容易?每种情况的优缺点是什么?

感谢您的任何提示!

ps:我知道 numexpr,但我不确定它是否方便或很好地适应比单个算术表达式更复杂的函数?

0 投票
1 回答
184 浏览

python - Pythran 找不到 vcvarsall.bat

我使用“pip install pythran”在 Windows 机器上安装了 Python 库 Pythran,没有出现错误。但是,当尝试使用 'pythran functionName.py' 编译函数时,我得到以下结果:

pythran functionName.py 警告:找不到“pythran-openblas”包。请安装它或更改 compiler.blas 设置。默认为 'blas' 警告:编译错误,努力寻找它的来源... 警告:不,我会用 C++ 错误来淹没你!关键:盖住我,杰克。杰克?啊啊啊啊!!!!E:错误:无法找到 vcvarsall.bat

第一个问题:如何安装 pythran-openblas 第二个问题:我的机器上的文件夹 C:\Users...\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0 中有 vcvarsall.bat,其中Pythran 正在寻找 vcvarsall 吗?

谢谢!

0 投票
1 回答
204 浏览

python - Transonic 运行 python 代码而不是 pythran

在使用 pythran 取得第一个好结果之后,我尝试了 transonic 以从 jit 和类支持中受益。不幸的是,它没有按预期运行。
如果我使用@jit装饰器,则编译和缓存装饰函数,但在代码的第一次运行期间不使用编译版本,而是由 python 处理函数。第一次运行后使用缓存版本。
如果我使用@boost装饰器并运行transonic runmwe.py在文件夹中创建编译版本__pythran__,但运行脚本python runmwe.py我收到以下警告,代码由 python 处理。

重新运行transonic runmwe.py只会产生代码已经是最新的警告。

我是否错过了一些正确使用的配置,@jit或者@boost这是预期的行为,我以错误的方式使用跨音速?

使用 conda-forge 的软件: transonic
0.4.5
pythran 0.9.7
python 3.8.6

MWE:

0 投票
1 回答
39 浏览

c++ - Pythran“未定义对‘ATL_caxpby’的引用”错误

我已经按照说明安装了 pythran :

我有 pythran==0.9.7,gast==0.4.0,g++==5.5.0,ubuntu 16.04

尝试运行pythran dprod.py(与他们的教程中的文件相同)会引发一个错误,其结尾如下:

UPD:我还安装了 libblas-dev。

我该如何解决?

0 投票
1 回答
38 浏览

python - 在 pythran 中写入文本文件失败

我正在使用 pythran,一个 Python 到 c++ 的编译器http://pythran.readthedocs.io/

在其手册页中,pythran 说它支持writeTextIOWrapper

但是,尝试编译这个简单的文件

文件:mylib.py

使用命令行

pythran mylib.py -o mylib.so -O3 -march=native -v

失败并显示以下消息:

mylib.py:9:21 错误:此对象的不支持属性“写入”

Pythran 版本:0.9.8.post2

蟒蛇版本:3.8.5

使用 Ubuntu 20.04.1 LTS

0 投票
1 回答
34 浏览

python - 如何确保并确认我安装的 scipy 包具有可用的 pythran 优化功能?

如何确保并确认我安装的 SciPy 包具有可用的 pythran 优化功能?我正在从 python 软件基金会网站安装 python 3.9.5,使用 PyCharm IDE 进行包管理,使用 pip 设置包。

0 投票
1 回答
57 浏览

python - 如何使用 pythran 从其他 py 文件中添加一个 myfunction?

工具步骤.py

测试pythran.py

编译pythran testpythran.py

  • 关键
    我有麻烦了。您的输入文件似乎与 Pythran 的约束不匹配...
  • 测试pythran.py:

    无:无错误:找不到模块“calaTools.toolsTep”。

当保存文件中有两个函数并且可以找到时,在不同的文件中会发生这些错误

0 投票
1 回答
31 浏览

python - 错误的 SciPy 1.7 源代码构建

在 Linux 上使用源代码安装 SciPy 1.7.1时

(以及需要的环境和site.cfg黑客攻击)我最终得到了一个破碎的构建。我的特定构建配方适用于 SciPy <= 1.6

构建 SciPy 1.7.1 后,导入 egscipy.optimizescipy.special导致错误

AttributeError:模块“scipy.special._ufuncs_cxx”没有属性“ pyx_capi

ImportError:无法从“scipy.linalg._solve_toeplitz”导入名称“levinson”

ImportError:无法从“scipy.sparse.csgraph._tools”导入名称“csgraph_to_dense”

发生了什么变化,我该如何解决?

0 投票
1 回答
42 浏览

c++ - 访问后端生成的文件

我是初学者。几天前我开始探索 Pythran 和 Transonic。我了解到 Pythran 从 Python 输入文件生成一个 C++ 文件。我想在后端读取那些 C++ 生成的文件。

你们中有人对访问后端生成的文件有任何想法吗?

我正在使用 Transonic 的支持实现 Pythran。

谢谢!

0 投票
0 回答
203 浏览

python - 原始错误是:安装 pythran 后没有名为“numpy.core._multiarray_umath”的模块

我尝试 在 Windows 子系统 Linux 20.04 中pythran基于https://pythran.readthedocs.io/en/latest/https://medium.com/@olivier.borderies/pythran-python-at-c-speed-518f26af60e8安装LTS

然后它触发了我的一些问题numpy(可能不是来自conda安装)也就是说,如果我import numpypython,它告诉我

我尝试升级我的numpy,通过修复选项重新安装一个 api python,安装最新的 intel-python,l_AIkit...,在我的中重置 PATHONPATH .bashrc,例如,

这些尝试都不起作用。python似乎我在and之间遇到了一些复杂的冲突numpy。我有一些conda环境仍然可以在几个应用程序中工作,但我想修复主要的环境(仍然不习惯conda)。

我搜索了这种类型的错误消息。还没有找到有用的解决方案:(