动态形状和内核缓存#

动态形状#

导致其他 API(例如内核缓存)将图视为动态形状图。

实现上述目的的 API 是

graph.set_dynamic_shape_enabled(true)

内核缓存#

内核缓存通过为给定的执行计划重用先前编译的内核,从而显著减少计划构建时间。内核缓存仅对动态形状图启用。

如果设置了图的内核缓存属性,内核缓存将存储为图的执行计划编译的内核。在未来相同拓扑结构的操作图上,内核缓存可以将先前编译的内核绑定到执行计划,以避免重新编译。

创建内核缓存的 API 是

auto kernel_cache = std::make_shared<cudnn_frontend::KernelCache>();

设置动态形状图的内核缓存的 API 是

graph.set_kernel_cache(kernel_cache)