问题标签 [llvmlite]

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 投票
0 回答
290 浏览

python - 如何解决:Python 上的“ContextualVersionConflict”?

我试图用我的基因表达数据集运行 scanpy 的邻居函数:

import scanpy as sc

sc.pp.pca(adata)

sc.pp.neighbors(adata)

并得到这个错误:

C:\Users\User\anaconda3\lib\site-packages\numba\core\cpu.py:77: UserWarning: Numba 扩展模块 'sparse._numba_extension' 由于 'ContextualVersionConflict((llvmlite 0.33.0+1 .g022ab0f (c:\users\User\anaconda3\lib\site-packages), Requirement.parse('llvmlite<0.38,>=0.37.0rc1'), {'numba'}))'。numba.core.entrypoints.init_all()

llvmlite==0.33然后,由于此错误 ,我尝试更新我的版本,但又pip install llvmlite --upgrade 遇到了另一个错误:

错误:-umba 0.50.1 要求 llvmlite<0.34,>=0.33.0.dev0,但您将拥有不兼容的 llvmlite 0.37.0。错误:无法卸载“llvmlite”。这是一个 distutils 安装的项目,因此我们无法准确确定哪些文件属于它,这只会导致部分卸载。

Python 不允许我升级llvmlite到较新的版本,因此我不能使用 scanpy 的函数。我尝试更新numba,尝试重新安装所有内容,但没有任何效果。

为了解决这个问题应该怎么做?

0 投票
1 回答
37 浏览

llvm - 'PointerType' 对象没有属性 'type'

我正在尝试转换这个原始 LLVM 代码:

到 llvmlite:

这个想法是UnwEx在运行时获取结构化类型的大小。然而,命令的最后一行get提出了这个问题:

这有什么问题?有没有更好的方法来获取类型的大小?

0 投票
0 回答
47 浏览

python - 如何在 Python 中解析 LLVM IR

有没有办法在 Python 中解析 LLVM IR 并获取基本类型信息?例如,我想知道每个函数参数的类型。

llvmlite具有解析LLVM IR 和字节码的基本功能。但是,据我所知,它无法提供类型信息:生成的Type只有几个基本方法,并且没有实现LLVM API,例如告诉我 ifisIntegerTygetIntegerBitWidth(). 所以 llvmlite 只能告诉我 args 的数量,而不是它们是布尔值、整数还是浮点数。llvmpy 甚至更少。

是否有 Python API 可以告诉我 LLVM 类型?如果没有,是否有一种简单的方法可以调用 C 函数来执行此操作?如果没有,我如何从 Python 中获取这些信息?

0 投票
0 回答
29 浏览

numpy - 从 Python 调用 Numba 生成的 PyCFunctionWithKeywords

我将一个 jited Numba 函数序列化为一个字节数组,现在想要反序列化并调用它。这适用于原始数据类型llvm_cfunc_wrapper_name

但我想用 NumPy 参数调用函数。有一个llvm_cpython_wrapper_namefor that uses PyCFunctionWithKeywords,但不幸的是我最好的猜测是段错误:

这里有一些 Numba 源代码的链接(不幸的是很难理解),这可能有助于解决这个问题。