1/* Copyright 2017 The TensorFlow Authors. All Rights Reserved. 2 3Licensed under the Apache License, Version 2.0 (the "License"); 4you may not use this file except in compliance with the License. 5You may obtain a copy of the License at 6 7 http://www.apache.org/licenses/LICENSE-2.0 8 9Unless required by applicable law or agreed to in writing, software 10distributed under the License is distributed on an "AS IS" BASIS, 11WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12See the License for the specific language governing permissions and 13limitations under the License. 14==============================================================================*/ 15 16syntax = "proto3"; 17 18package tensorflow; 19option cc_enable_arenas = true; 20option java_outer_classname = "DevicePropertiesProtos"; 21option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/protobuf"; 22 23message DeviceProperties { 24 // Device type (CPU, GPU, ...) 25 string type = 1; 26 // Vendor (Intel, nvidia, ...) 27 string vendor = 2; 28 // Model (Haswell, K40, ...) 29 string model = 3; 30 // Core Frequency in Mhz 31 int64 frequency = 4; 32 // Number of cores 33 int64 num_cores = 5; 34 // Version of the tools and libraries used with this device (e.g. gcc 4.9, 35 // cudnn 5.1) 36 map<string, string> environment = 6; 37 // Number of registers per core. 38 int64 num_registers = 7; 39 // L1 cache size in bytes 40 int64 l1_cache_size = 8; 41 // L2 cache size in bytes 42 int64 l2_cache_size = 9; 43 // L3 cache size in bytes 44 int64 l3_cache_size = 10; 45 // Shared memory size per multiprocessor in bytes. This field is 46 // applicable to GPUs only. 47 int64 shared_memory_size_per_multiprocessor = 11; 48 // Memory size in bytes 49 int64 memory_size = 12; 50 // Memory bandwidth in KB/s 51 int64 bandwidth = 13; 52} 53 54message NamedDevice { 55 string name = 1; 56 DeviceProperties properties = 2; 57} 58