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

Method AddToLowPrecisionKernelList

paddle/phi/core/kernel_factory.cc:238–260  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

236}
237
238void KernelFactory::AddToLowPrecisionKernelList(
239 const std::string& name, const phi::DataType& kernel_key_type) {
240 if (FLAGS_low_precision_op_list >= 1) {
241 auto op_name = phi::TransToFluidOpName(name);
242 if (op_name.find("_grad") != std::string::npos) {
243 return; // only record forward api
244 }
245
246 if (low_precision_kernels_.find(op_name) == low_precision_kernels_.end()) {
247 auto count = OpCount();
248 low_precision_kernels_[op_name] = count;
249 }
250 if (kernel_key_type == phi::DataType::FLOAT16) {
251 low_precision_kernels_[op_name].fp16_called_ += 1;
252 } else if (kernel_key_type == phi::DataType::BFLOAT16) {
253 low_precision_kernels_[op_name].bf16_called_ += 1;
254 } else if (kernel_key_type == phi::DataType::FLOAT32) {
255 low_precision_kernels_[op_name].fp32_called_ += 1;
256 } else {
257 low_precision_kernels_[op_name].other_called_ += 1;
258 }
259 }
260}
261
262std::map<const std::string, OpCount>
263KernelFactory::GetLowPrecisionKernelList() {

Callers 5

fused_gemm_epilogue_implFunction · 0.80
cudnn_lstm_grad_implFunction · 0.80
RecordLowPrecisionOpFunction · 0.80
scale_kernel_contextFunction · 0.80
scale_switch_caseFunction · 0.80

Calls 3

OpCountClass · 0.85
findMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected