aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/common_runtime/local_device.h
blob: fc4cfc2dfca7f8663792d0d1f87f16f98eeb6290 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef TENSORFLOW_COMMON_RUNTIME_LOCAL_DEVICE_H_
#define TENSORFLOW_COMMON_RUNTIME_LOCAL_DEVICE_H_

#include "tensorflow/core/common_runtime/device.h"
#include "tensorflow/core/framework/device_attributes.pb.h"

namespace tensorflow {

class SessionOptions;

// This class is shared by ThreadPoolDevice and GPUDevice and
// initializes a shared Eigen compute device used by both.  This
// should eventually be removed once we refactor ThreadPoolDevice and
// GPUDevice into more 'process-wide' abstractions.
class LocalDevice : public Device {
 public:
  LocalDevice(const SessionOptions& options, const DeviceAttributes& attributes,
              Allocator* device_allocator);
  ~LocalDevice() override {}

 private:
  TF_DISALLOW_COPY_AND_ASSIGN(LocalDevice);
};

}  // namespace tensorflow

#endif  // TENSORFLOW_COMMON_RUNTIME_LOCAL_DEVICE_H_