| 790 | } |
| 791 | |
| 792 | port::Status Stream::FusedConvolveWithExecutionPlan( |
| 793 | const dnn::BatchDescriptor &conv_input_descriptor, |
| 794 | const DeviceMemory<double> &conv_input_data, double conv_input_scale, |
| 795 | const dnn::FilterDescriptor &filter_descriptor, |
| 796 | const DeviceMemory<double> &filter_data, |
| 797 | const dnn::ConvolutionDescriptor &convolution_descriptor, |
| 798 | const DeviceMemory<double> &side_input_data, double side_input_scale, |
| 799 | const dnn::BatchDescriptor &bias_descriptor, |
| 800 | const DeviceMemory<double> &biases, dnn::ActivationMode activation_mode, |
| 801 | const dnn::BatchDescriptor &output_descriptor, DeviceMemory<double> *output, |
| 802 | ScratchAllocator *scratch_allocator, |
| 803 | const dnn::ExecutionPlanConfig &plan_config, |
| 804 | dnn::ProfileExecutionPlanResult *output_profile_result) { |
| 805 | VLOG_CALL(PARAM(conv_input_descriptor), PARAM(conv_input_data), |
| 806 | PARAM(conv_input_scale), PARAM(filter_descriptor), |
| 807 | PARAM(filter_data), PARAM(convolution_descriptor), PARAM(biases), |
| 808 | PARAM(side_input_data), PARAM(side_input_scale), |
| 809 | PARAM(activation_mode), PARAM(output_descriptor), PARAM(output)); |
| 810 | |
| 811 | if (dnn::DnnSupport *dnn = parent_->AsDnn()) { |
| 812 | return dnn->DoFusedConvolve( |
| 813 | this, conv_input_descriptor, conv_input_data, conv_input_scale, |
| 814 | filter_descriptor, filter_data, convolution_descriptor, side_input_data, |
| 815 | side_input_scale, bias_descriptor, biases, activation_mode, |
| 816 | output_descriptor, output, scratch_allocator, plan_config, |
| 817 | output_profile_result); |
| 818 | } |
| 819 | return port::UnimplementedError("DNN library is not found."); |
| 820 | } |
| 821 | |
| 822 | port::Status Stream::FusedConvolveWithExecutionPlan( |
| 823 | const dnn::BatchDescriptor &conv_input_descriptor, |
no test coverage detected