MCPcopy Create free account
hub / github.com/NVIDIA/cutlass / transform_hashed_string

Function transform_hashed_string

python/cutlass_library/emit_kernel_listing.py:86–115  ·  view source on GitHub ↗
(hashed_kernel_name, runtime_datatype_a, runtime_datatype_b)

Source from the content-addressed store, hash-verified

84 return output
85
86def 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.
118def get_kernel_features(operation, kernel_name,

Callers 1

Calls 1

compileMethod · 0.45

Tested by

no test coverage detected