message: Add some documentation to DnnSupport.
diff: @@ -921,6 +921,23 @@ class VersionInfo {
  // Suite of operations typically used for implementing Deep/Convolutional Neural
  // Nets. Note: A false return value of an operation indicates the
  // implementation is not available.
  +//
  +// TODO(b/118763918): this class (or rather dispatch table) has several
  +// problems:
  +// * Some overloads are missing. Ideally we want to have template virtual
  +// functions while the template arguments is a closed set. However, we don't
  +// get that from the language.
  +// * The API is a union of cuDNN and another private backend. Only 10% of the
  +// functions are actually implemented by both backends, the rest are
  +// actually backend-specific. The massive interface creates extra mental
  +// burden.
  +// * Poor error handling: the API should return Status objects.
  +//
  +// Things worth trying:
  +// * Move functions that are not actually common back to the backends. Then,
  +// callers may use dynamic_cast to access specific backends. This may not be
  +// that hard, as many of the callers are Stream::ThenXxx functions.
  +// * Change all the returned bools to Status.
  class DnnSupport {
  public:
  DnnSupport() {}
  