IGPUKernelSizeOptimizerSvc Node1 IGPUKernelSizeOptimizerSvc + DeclareInterfaceID() + ~IGPUKernelSizeOptimizerSvc() Node2 IService Node2->Node1 Node3 IGPUKernelSizeOptimizer + register_kernel() + register_kernels() + get_launch_configuration() + can_use_cooperative _groups() + can_use_dynamic_parallelism() + use_minimal_kernel _sizes() + ~IGPUKernelSizeOptimizer() Node3->Node1