(hashed_kernel_name, runtime_datatype_a, runtime_datatype_b)
| 84 | return output |
| 85 | |
| 86 | def transform_hashed_string(hashed_kernel_name, runtime_datatype_a, runtime_datatype_b): |
| 87 | # Define a dictionary mapping the detected types to runtime values |
| 88 | datatype_map = { |
| 89 | 'f4_f4': runtime_datatype_a + '_' + runtime_datatype_b, |
| 90 | 'f4_f6': runtime_datatype_a + '_' + runtime_datatype_b, |
| 91 | 'f4_f8': runtime_datatype_a + '_' + runtime_datatype_b, |
| 92 | 'f6_f4': runtime_datatype_a + '_' + runtime_datatype_b, |
| 93 | 'f6_f6': runtime_datatype_a + '_' + runtime_datatype_b, |
| 94 | 'f6_f8': runtime_datatype_a + '_' + runtime_datatype_b, |
| 95 | 'f8_f4': runtime_datatype_a + '_' + runtime_datatype_b, |
| 96 | 'f8_f6': runtime_datatype_a + '_' + runtime_datatype_b, |
| 97 | 'f8_f8': runtime_datatype_a + '_' + runtime_datatype_b, |
| 98 | 'ue8m0xf4_ue8m0xf4': 'ue8m0x' + runtime_datatype_a + '_ue8m0x' + runtime_datatype_b, |
| 99 | 'ue4m3xf4_ue4m3xf4': 'ue4m3x' + runtime_datatype_a + '_ue4m3x' + runtime_datatype_b, |
| 100 | 'ue8m0xf4_ue8m0xf6': 'ue8m0x' + runtime_datatype_a + '_ue8m0x' + runtime_datatype_b, |
| 101 | 'ue8m0xf4_ue8m0xf8': 'ue8m0x' + runtime_datatype_a + '_ue8m0x' + runtime_datatype_b, |
| 102 | 'ue8m0xf6_ue8m0xf4': 'ue8m0x' + runtime_datatype_a + '_ue8m0x' + runtime_datatype_b, |
| 103 | 'ue8m0xf6_ue8m0xf6': 'ue8m0x' + runtime_datatype_a + '_ue8m0x' + runtime_datatype_b, |
| 104 | 'ue8m0xf8_ue8m0xf4': 'ue8m0x' + runtime_datatype_a + '_ue8m0x' + runtime_datatype_b, |
| 105 | 'ue8m0xf8_ue8m0xf6': 'ue8m0x' + runtime_datatype_a + '_ue8m0x' + runtime_datatype_b, |
| 106 | 'ue8m0xf8_ue8m0xf8': 'ue8m0x' + runtime_datatype_a + '_ue8m0x' + runtime_datatype_b, |
| 107 | } |
| 108 | |
| 109 | # Regular expression to detect all the keys in datatype_map |
| 110 | pattern = re.compile(r'(' + '|'.join(map(re.escape, datatype_map.keys())) + r')') |
| 111 | |
| 112 | # Replace detected patterns using the dictionary |
| 113 | updated_kernel_name = pattern.sub(lambda match: datatype_map[match.group(0)], hashed_kernel_name) |
| 114 | |
| 115 | return updated_kernel_name |
| 116 | |
| 117 | # This helper function reports foundational kernel features: datatypes, layouts, alignment and stream-k. |
| 118 | def get_kernel_features(operation, kernel_name, |
no test coverage detected