diff options
author | 2017-01-17 12:46:28 -0800 | |
---|---|---|
committer | 2017-01-17 13:07:02 -0800 | |
commit | b398f90411ddb7caee1be4b73de271beb73a07fe (patch) | |
tree | 8683b6f48bd4719d10b1f6df92b76437d09ca93f /tensorflow/stream_executor/host_buffer.h | |
parent | 21c0fa9e2dd966c242a4e89f1cac9e3e0f146ea8 (diff) |
Add several operations to the StreamExecutor API
No implementations are yet provided for these operations.
Change: 144743665
Diffstat (limited to 'tensorflow/stream_executor/host_buffer.h')
-rw-r--r-- | tensorflow/stream_executor/host_buffer.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tensorflow/stream_executor/host_buffer.h b/tensorflow/stream_executor/host_buffer.h new file mode 100644 index 0000000000..8fa542e9ff --- /dev/null +++ b/tensorflow/stream_executor/host_buffer.h @@ -0,0 +1,48 @@ +/* Copyright 2017 The TensorFlow Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +==============================================================================*/ + +#ifndef TENSORFLOW_STREAM_EXECUTOR_HOST_BUFFER_H_ +#define TENSORFLOW_STREAM_EXECUTOR_HOST_BUFFER_H_ + +#include "tensorflow/stream_executor/dnn.h" + +namespace perftools { +namespace gputools { + +// A HostBuffer is a block of memory in host memory containing the data for a +// dnn::BatchDescriptor using a device-dependent memory layout. +// Derived classes provide methods to construct a HostBuffer for a specific +// device, and to copy data in and out of the buffer. +class HostBuffer { + public: + const dnn::BatchDescriptor& descriptor() const { return descriptor_; } + + // Returns a string describing the HostBuffer. + virtual string AsString() const = 0; + + protected: + // Construct a HostBuffer from the supplied dnn::BatchDescriptor. + explicit HostBuffer(const dnn::BatchDescriptor& descriptor) + : descriptor_(descriptor) {} + virtual ~HostBuffer() {} + + private: + const dnn::BatchDescriptor descriptor_; +}; + +} // namespace gputools +} // namespace perftools + +#endif // TENSORFLOW_STREAM_EXECUTOR_HOST_BUFFER_H_ |