jax.ffi.pycapsule#

jax.ffi.pycapsule(funcptr)[源代码]#

将一个 ctypes 函数指针包装成一个 PyCapsule。

此函数的主要用途,以及它位于 jax.ffi 子模块中的原因,是将来自外部编译库的函数调用包装起来,以便注册为 XLA 自定义调用。

用法示例

import ctypes
import jax
from jax.lib import xla_client

libfoo = ctypes.cdll.LoadLibrary('./foo.so')
xla_client.register_custom_call_target(
    name="bar",
    fn=jax.ffi.pycapsule(libfoo.bar),
    platform=PLATFORM,
    api_version=API_VERSION
)
参数:

funcptr – 使用 ctypes 从动态库加载的函数指针。

返回值:

一个封装了 funcptr 的不透明 PyCapsule 对象。