问题标签 [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.
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
,尝试重新安装所有内容,但没有任何效果。
为了解决这个问题应该怎么做?
llvm - 'PointerType' 对象没有属性 'type'
我正在尝试转换这个原始 LLVM 代码:
到 llvmlite:
这个想法是UnwEx
在运行时获取结构化类型的大小。然而,命令的最后一行get
提出了这个问题:
这有什么问题?有没有更好的方法来获取类型的大小?
python - 如何在 Python 中解析 LLVM IR
有没有办法在 Python 中解析 LLVM IR 并获取基本类型信息?例如,我想知道每个函数参数的类型。
llvmlite具有解析LLVM IR 和字节码的基本功能。但是,据我所知,它无法提供类型信息:生成的Type只有几个基本方法,并且没有实现LLVM API,例如告诉我 ifisIntegerTy
或getIntegerBitWidth()
. 所以 llvmlite 只能告诉我 args 的数量,而不是它们是布尔值、整数还是浮点数。llvmpy 甚至更少。
是否有 Python API 可以告诉我 LLVM 类型?如果没有,是否有一种简单的方法可以调用 C 函数来执行此操作?如果没有,我如何从 Python 中获取这些信息?
numpy - 从 Python 调用 Numba 生成的 PyCFunctionWithKeywords
我将一个 jited Numba 函数序列化为一个字节数组,现在想要反序列化并调用它。这适用于原始数据类型llvm_cfunc_wrapper_name
:
但我想用 NumPy 参数调用函数。有一个llvm_cpython_wrapper_name
for that uses PyCFunctionWithKeywords
,但不幸的是我最好的猜测是段错误:
这里有一些 Numba 源代码的链接(不幸的是很难理解),这可能有助于解决这个问题。