MCPcopy Create free account
hub / github.com/PaddlePaddle/Paddle / parse_paddle_kernels

Function parse_paddle_kernels

tools/parse_kernel_info.py:91–135  ·  view source on GitHub ↗
(lib="phi", kernel_type="function", print_detail=False)

Source from the content-addressed store, hash-verified

89
90
91def parse_paddle_kernels(lib="phi", kernel_type="function", print_detail=False):
92 assert lib in ["fluid", "phi"]
93
94 if lib == "phi":
95 assert kernel_type in ["function", "structure", "all"]
96 # phi kernel type can be: function, structure, all
97 kernel_infos = paddle.base.core._get_registered_phi_kernels(kernel_type)
98 else:
99 # fluid, phi, all
100 assert kernel_type in ["fluid", "phi", "all"]
101 kernel_infos = paddle.base.core._get_all_register_op_kernels(
102 kernel_type
103 )
104
105 max_op_type_lengths = 0
106 stats = KernelRegistryStatistics()
107
108 kernel_info_dict = {}
109 for key, value in kernel_infos.items():
110 info = KernelInfo(key)
111 if lib == "phi":
112 info.parse_phi_dtypes(value, device="GPU")
113 else:
114 info.parse_fluid_dtypes(value, device="gpu")
115 kernel_info_dict[key] = info
116 if len(info.op_type) > max_op_type_lengths:
117 max_op_type_lengths = len(info.op_type)
118 stats.update(info.supported_dtypes)
119
120 if print_detail:
121 print(
122 f"==================== lib={lib}, kernel_type={kernel_type} ===================="
123 )
124 print(
125 "{} : {}".format(
126 "op_type".ljust(max_op_type_lengths + 4),
127 "supported_dtypes for GPU",
128 )
129 )
130 for key, value in sorted(kernel_info_dict.items()):
131 print(
132 f"{value.op_type.ljust(max_op_type_lengths + 4)} : {value.supported_dtypes}"
133 )
134 print()
135 return stats
136
137
138def main(lib):

Callers 1

mainFunction · 0.85

Calls 8

parse_phi_dtypesMethod · 0.95
parse_fluid_dtypesMethod · 0.95
updateMethod · 0.95
KernelInfoClass · 0.70
printFunction · 0.50
itemsMethod · 0.45
formatMethod · 0.45

Tested by

no test coverage detected