tvm._ffi

tvm._ffi#

tvm._ffi 是 TVM 中与 C 代码交互的命名空间。它包含了所有与 C 代码交互的内容。TVM 中的大多数 C 相关对象都是 ctypes 兼容的,这意味着它们包含名为 handle 的字段,该字段是 ctypes.c_void_p,并且可以通过 ctypes 的函数调用来使用 。

一些性能关键函数由 Cython 实现,并具有 ctypes 回退实现。

import set_env
import tvm._ffi
tvm._ffi.registry.list_global_func_names?
Signature: tvm._ffi.registry.list_global_func_names()
Docstring:
Get list of global functions registered.

Returns
-------
names : list
   List of global functions names.
File:      /media/pc/data/lxw/ai/tvm/python/tvm/_ffi/registry.py
Type:      function
tvm._ffi.registry.remove_global_func?
Signature: tvm._ffi.registry.remove_global_func(name)
Docstring:
Remove a global function by name

Parameters
----------
name : str
    The name of the global function
File:      /media/pc/data/lxw/ai/tvm/python/tvm/_ffi/registry.py
Type:      function
@tvm._ffi.register_func("tvm.ext.chaos")
def demo():
    print("RT")

print("tvm.ext.chaos" in tvm._ffi.registry.list_global_func_names())
tvm._ffi.registry.remove_global_func("tvm.ext.chaos") # 移除全局函数
"tvm.ext.chaos" in tvm._ffi.registry.list_global_func_names()
True
False