动态形状和内核缓存#
动态形状#
导致其他 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)