1

问题:寻找更熟悉 Numba AOT 和我尚未找到的任何“输出中间文件”选项的人。

首先 -> Pythran 是 Python 到 C++ 到 PYD 的编译器。您可以使用简单的 -e 选项将 cpp 文件输出到编译器。它还需要 #pragma omp 标志,例如#omp parallel for. 现在谈论的更多的 Numba 主要用于 JIT 模式。但它可以选择 AOT(提前)编译模块,但它们会失去并行优化。

所以我在一个项目中使用这两个库。Numba AOT 编译函数比 Pythran 快得多(Pythran 使用 #omp 并行 for 循环,而 Numba AOT 没有)。尽管如此,Numba 版本更快,所以它在做一些我的 Pythran 程序没有做的事情。

所以我想看看它在做什么——但是当我从中查看 Numba 的 AOT 的源代码时,Numbanumba.pycc import CC似乎以某种方式实际上正在生成字节码,然后将其编译成 PYD。但是文档没有说明这是在任何地方完成的,或者是否有可能在编译检查之前获得 Numba 生成的初步文件。如果它们是字节码,那么我无论如何都无法阅读。但是,如果它们是 Cython 或 CPP 格式,那么很容易检查正在进行的优化。所以...

寻找更熟悉 Numba AOT 和我尚未找到的任何“输出中间文件”选项的人。

即使答案是“不,你不能那样做”我需要听到它,然后我可以专注于我可以实际更改的部分代码。

赞赏!

4

0 回答 0