| 132 | |
| 133 | template<typename TResult, typename TLog> |
| 134 | void LogConvAutotuneResultsImpl(se::dnn::ConvolutionKind kind, |
| 135 | se::dnn::DataType element_type, se::DeviceMemoryBase input_buffer, |
| 136 | se::DeviceMemoryBase filter_buffer, se::DeviceMemoryBase output_buffer, |
| 137 | const se::dnn::BatchDescriptor& input_desc, |
| 138 | const se::dnn::FilterDescriptor& filter_desc, |
| 139 | const se::dnn::BatchDescriptor& output_desc, |
| 140 | const se::dnn::ConvolutionDescriptor& conv_desc, |
| 141 | se::StreamExecutor* stream_exec, |
| 142 | absl::Span<const TResult> results) { |
| 143 | TLog log; |
| 144 | { |
| 145 | ConvolutionProto instr; |
| 146 | instr.set_kind(kind); |
| 147 | *instr.mutable_input() = input_desc.ToProto(element_type); |
| 148 | *instr.mutable_filter() = filter_desc.ToProto(element_type); |
| 149 | *instr.mutable_output() = output_desc.ToProto(element_type); |
| 150 | *instr.mutable_conv_desc() = conv_desc.ToProto(); |
| 151 | instr.set_conv_scale(1); |
| 152 | instr.set_side_value_scale(0); |
| 153 | instr.set_input_address(reinterpret_cast<uint64>(input_buffer.opaque())); |
| 154 | instr.set_filter_address(reinterpret_cast<uint64>(filter_buffer.opaque())); |
| 155 | instr.set_output_address(reinterpret_cast<uint64>(output_buffer.opaque())); |
| 156 | log.mutable_instr()->PackFrom(std::move(instr)); |
| 157 | } |
| 158 | *log.mutable_cudnn_version() = GetCudnnVersion(stream_exec); |
| 159 | *log.mutable_compute_capability() = GetComputeCapability(stream_exec); |
| 160 | log.set_device_pci_bus_id(stream_exec->GetDeviceDescription().pci_bus_id()); |
| 161 | { |
| 162 | string blas_version; |
| 163 | if (auto* blas = stream_exec->AsBlas()) { |
| 164 | if (blas->GetVersion(&blas_version).ok()) { |
| 165 | log.set_blas_version(blas_version); |
| 166 | } |
| 167 | } |
| 168 | } |
| 169 | for (const auto& result : results) { |
| 170 | *log.add_results() = result; |
| 171 | } |
| 172 | Logger::GetSingleton()->LogProto(log); |
| 173 | } |
| 174 | |
| 175 | template<typename TResult, typename TLog> |
| 176 | void LogFusedConvForwardAutotuneResultsImpl( |
nothing calls this directly
no test coverage detected