运行时 API 参考
PrimitivePack
示例
@primitive
要求
- 第一个参数必须是
ctx: PrimitiveCallContext - 文档字符串必须包含
Best Practices部分 - 必须是
async def
PrimitiveCallContext
ForkContext
PrimitiveSpec
PrimitiveParameterSpec
PrimitiveRegistry
关键方法
| 方法 | 描述 |
|---|---|
install_pack(pack) | 注册一个 PrimitivePack |
call(name, **kwargs) | 按限定名执行原语 |
list_primitives() | 列出所有已注册的原语名称 |
get_spec(name) | 获取某个原语的 PrimitiveSpec |
list_specs() | 获取所有规格 |
list_backends() | 列出已安装的后端包 |
RuntimePrimitiveBackend
内置元原语
在 PyRepl 中始终可用,无需安装任何包:| 调用 | 返回值 |
|---|---|
runtime.list_primitives() | List[str] — 所有原语名称 |
runtime.list_primitive_specs() | List[PrimitiveSpec] — 所有规格 |
runtime.get_primitive_spec(name) | PrimitiveSpec — 单个规格 |
runtime.list_backends() | List[str] — 已安装的包 |
SelfRef 包注册
runtime.selfref.context.* 和 runtime.selfref.fork.* 命名空间下提供原语。