Log convolutions during Tensorflow GPU conv autotuning. Also removed the same functionality from StreamExecutor.
We decided to move the loggings from SE to TF and XLA for several reasons:
* Proto formats already exist in TF and XLA that are suitable for logging. No need to create a third proto.
* In TF and XLA autotuning stage, we also do/plan to do correctness checking. We want to log the checking results.
* We are considering simplifying SE, so we prefer to keep SE simple for now.
The original patch fails on Windows because the Windows linker crashes if it links an object file generated from an empty source file. In this CL, such empty source file is gpu_utils.cc, in the case where everything is #ifdef'ed out by GOOGLE_CUDA. To work-around it, simply don't compile such empty file at all for non-CUDA builds.
PiperOrigin-RevId: 237284443
We decided to move the loggings from SE to TF and XLA for several reasons:
* Proto formats already exist in TF and XLA that are suitable for logging. No need to create a third proto.
* In TF and XLA autotuning stage, we also do/plan to do correctness checking. We want to log the checking results.
* We are considering simplifying SE, so we prefer to keep SE simple for now.
PiperOrigin-RevId: 236889526
* De-duplicate the accumulator type logic. Currently we have two ways to
specify them, "AccumulatorType" as template argument, or GetConvComputeType.
Removed GetConvComputeType.
* Simplified GetCudnnDataType.
PiperOrigin-RevId: 222144108
This is the first of a series patches that log StreamExecutor
convolution calls. This patch introduced structured (proto) logging,
suitable for serialize and potentially deserialize.
PiperOrigin-RevId: 221667516