AMD has introduced a method to reverse-engineer existing hipBLASLt TensileLite kernels into tuning configurations, ensuring that the generated kernels are at least as fast as the current best. The method guarantees that the tuning process will not produce a slower kernel than the existing best, by anchoring the search space around the current best kernel. This approach ensures that the tuning process can only match or improve upon the existing performance, providing a provable floor for kernel generation. The method focuses on reverse-engineering the current best kernel into a pinned configuration, which serves as the anchor for the tuning process. This ensures that the search space always contains the current best kernel, allowing the tuning process to find a kernel that is at least as fast as the existing best.
The process involves decoding the solution name of the current best kernel into its exact parameters, which are then used to create a tuning configuration. This configuration defines a search space that includes the current best kernel, ensuring that the tuning process cannot produce a slower kernel. The method also allows for the expansion of the search space to look for faster kernels while keeping the current best kernel within the search space. This ensures that the tuning process can only match or improve upon the existing performance, providing a reliable and predictable outcome. The reverse-engineering process is critical to the method, as it allows the tuning configuration to be built around the current best kernel, ensuring that the search space always contains the best kernel.
The source explains that the solution name of a TensileLite kernel is a deterministic encoding of the kernel's parameters, making it possible to decode the name back into its exact parameters. This decoding process is essential for creating a tuning configuration that includes the current best kernel. The method is designed to ensure that the tuning process can only generate kernels that are at least as fast as the current best, by anchoring the search space around the current best kernel. This approach guarantees that the tuning process will not produce a slower kernel than the existing best, providing a reliable and predictable outcome for kernel generation.
Source: amd