static handle start_profiling(IoAttr& io, io_profiling_option option, uint32 value = 0);
此函数用于在 AI 引擎中配置性能计数器并启动剖析。io
是平台 GMIO 或 PLIO 对象。option
是先前主题中所述 io_profiling_option
枚举之一。如果使用 io_stream_start_to_bytes_transferred_cycles
选项,那么可在 value
参数中指定字节数。此函数应在 graph::init()
之后调用。它会返回 handle
以供 read_profiling
和 stop_profiling
使用。如果规范错误,或者硬件资源不足以执行剖析,则会返回 invalid_handle
。
static handle start_profiling(IoAttr& io1, IoAttr& io2, io_profiling_option option, uint32 value = 0);
此函数用于在 AI 引擎中配置性能计数器并启动剖析。参数 io1
和 io2
用于指定两个平台 I/O 对象。此函数应在 graph::init()
之后调用。它会返回 handle
以供 read_profiling
和 stop_profiling
使用。如果规范错误,或者硬件资源不足以执行剖析,则会返回 invalid_handle
。
static long long read_profiling(handle h);
此函数会返回与 handle
关联的当前性能计数器值。
static void stop_profiling(handle h);
此函数还会停止与 handle
关联的性能剖析,并释放对应的硬件资源。