diff --git a/tensorboard/compat/proto/config.proto b/tensorboard/compat/proto/config.proto index 7a3d102954e..442ce0b6011 100644 --- a/tensorboard/compat/proto/config.proto +++ b/tensorboard/compat/proto/config.proto @@ -123,6 +123,12 @@ message GPUOptions { // created with the default. If this field has values set, then the size // of this must match with the above memory_limit_mb. repeated int32 priority = 2; + + // Virtual Device ordinal number determines the device ID of the device. + // A Virtual device with a lower ordinal number always receives the a + // smaller device id. The phyiscal device id and location in the + // virtual device list is used to break ties. + repeated int32 device_ordinal = 3; } // The multi virtual device settings. If empty (not set), it will create @@ -132,15 +138,30 @@ message GPUOptions { // "visible_device_list" filtering if it is set), and the string represented // device names (e.g. /device:GPU:) will refer to the virtual // devices and have the field assigned sequentially starting from 0, - // according to the order they appear in this list and the "memory_limit" - // list inside each element. For example, + // according to the order of the virtual devices determined by + // device_ordinal and the location in the virtual device list. + // + // For example, // visible_device_list = "1,0" // virtual_devices { memory_limit: 1GB memory_limit: 2GB } - // virtual_devices {} - // will create three virtual devices as: + // virtual_devices { memory_limit: 3GB memory_limit: 4GB } + // will create 4 virtual devices as: // /device:GPU:0 -> visible GPU 1 with 1GB memory // /device:GPU:1 -> visible GPU 1 with 2GB memory - // /device:GPU:2 -> visible GPU 0 with all available memory + // /device:GPU:2 -> visible GPU 0 with 3GB memory + // /device:GPU:3 -> visible GPU 0 with 4GB memory + // + // but + // visible_device_list = "1,0" + // virtual_devices { memory_limit: 1GB memory_limit: 2GB + // device_ordinal: 10 device_ordinal: 20} + // virtual_devices { memory_limit: 3GB memory_limit: 4GB + // device_ordinal: 10 device_ordinal: 20} + // will create 4 virtual devices as: + // /device:GPU:0 -> visible GPU 1 with 1GB memory (ordinal 10) + // /device:GPU:1 -> visible GPU 0 with 3GB memory (ordinal 10) + // /device:GPU:2 -> visible GPU 1 with 2GB memory (ordinal 20) + // /device:GPU:3 -> visible GPU 0 with 4GB memory (ordinal 20) // // NOTE: // 1. It's invalid to set both this and "per_process_gpu_memory_fraction" @@ -798,6 +819,9 @@ message RunMetadata { // level idea of what the built graph looks like (since the various graph // optimization passes might change the structure of the graph significantly). repeated FunctionGraphs function_graphs = 4; + + // Metadata about the session. + SessionMetadata session_metadata = 5; } // Defines a connection between two tensors in a `GraphDef`. diff --git a/tensorboard/compat/proto/full_type.proto b/tensorboard/compat/proto/full_type.proto index 0d64465c7b4..1f595f045d9 100644 --- a/tensorboard/compat/proto/full_type.proto +++ b/tensorboard/compat/proto/full_type.proto @@ -174,6 +174,18 @@ enum FullTypeId { // TFT_LITERAL[TFT_INT32]{1} is the compile-time constant 1. TFT_LITERAL = 1003; + // Encoding types describe a value of a certain type, encoded as a different + // type. + // + // Parametrization: + // TFT_ENCODED[, ] + // * may be any type + // * may be any type + // + // Examples: + // TFT_ENCODING[TFT_INT32, TFT_STRING] is an integer encoded as string. + TFT_ENCODED = 1004; + // Type attributes. These always appear in the parametrization of a type, // never alone. For example, there is no such thing as a "bool" TensorFlow // object (for now). @@ -217,7 +229,7 @@ enum FullTypeId { // is expressed using TFT_PRODUCT. // // - // Parametrization: TFT_ARRAY[]. + // Parametrization: TFT_DATASET[]. // * may be a concrete type or a type symbol. It represents // the data type of the elements produced by the dataset. // @@ -235,6 +247,15 @@ enum FullTypeId { // Parametrization: TFT_RAGGED[]. TFT_RAGGED = 10103; + // Iterators created by tf.data ops and APIs. Very similar to Datasets, except + // they are mutable. + // + // + // Parametrization: TFT_ITERATOR[]. + // * may be a concrete type or a type symbol. It represents + // the data type of the elements produced by the dataset. + TFT_ITERATOR = 10104; + // A mutex lock tensor, produced by tf.raw_ops.MutexLock. // Unlike strict execution models, where ownership of a lock is denoted by // "running after the lock has been acquired", in non-strict mode, lock @@ -265,7 +286,7 @@ message FullTypeDef { repeated FullTypeDef args = 2; - // Literal values of this type object, if the the type admits one. + // Literal values of this type object, if the type admits one. // For example, a type variable admits a string attribute - its name. // Shape-related types may admit int attributes - their static shape values. // Fields for more data types to be added as needed. diff --git a/tensorboard/compat/proto/meta_graph.proto b/tensorboard/compat/proto/meta_graph.proto index c0d7a89e49d..cd3f4315b9b 100644 --- a/tensorboard/compat/proto/meta_graph.proto +++ b/tensorboard/compat/proto/meta_graph.proto @@ -17,9 +17,6 @@ option java_multiple_files = true; option java_package = "org.tensorflow.framework"; option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/protobuf/for_core_protos_go_proto"; -// NOTE: This protocol buffer is evolving, and will go through revisions in the -// coming months. -// // Protocol buffer containing the following which are necessary to restart // training, run inference. It can be used to serialize/de-serialize memory // objects necessary for running computation in a graph when crossing the diff --git a/tensorboard/compat/proto/rewriter_config.proto b/tensorboard/compat/proto/rewriter_config.proto index 0d7c6009826..c875d8019c0 100644 --- a/tensorboard/compat/proto/rewriter_config.proto +++ b/tensorboard/compat/proto/rewriter_config.proto @@ -107,10 +107,17 @@ message RewriterConfig { // Note that this can change the numerical stability of the graph and may // require the use of loss scaling to maintain model convergence. Toggle auto_mixed_precision = 23; - // Optimize data types for MKL (default is OFF). + // Optimize data types for oneDNN (default is OFF). // This will try to use bfloat16 on CPUs, which is faster. // Note that this can change the numerical stability of the graph. + // Note: this is deprecated. + // It is replaced by auto_mixed_precision_onednn_bfloat16 Toggle auto_mixed_precision_mkl = 25; + // Optimize data types for oneDNN (default is OFF). + // This will try to use bfloat16 on CPUs, which is faster. + // Note that this can change the numerical stability of the graph. + // Note: this is equivalent to the deprecated option auto_mixed_precision_mkl + Toggle auto_mixed_precision_onednn_bfloat16 = 31; // Emulate a model using data type float16 on CPU (default is OFF). // This will try to emulate the float16 inputs and outputs of an operator // on CPU to have better correlation with float16 on GPU; however the @@ -121,6 +128,8 @@ message RewriterConfig { bool disable_meta_optimizer = 19; // Optimizers registered by plugin (default is ON) Toggle use_plugin_optimizers = 28; + // Conditional code motion (default is ON). + Toggle experimental_conditional_code_motion = 30; // Controls how many times we run the optimizers in meta optimizer (default // is once). diff --git a/tensorboard/compat/proto/types.proto b/tensorboard/compat/proto/types.proto index 233502eb4d7..4191bd60e3d 100644 --- a/tensorboard/compat/proto/types.proto +++ b/tensorboard/compat/proto/types.proto @@ -75,3 +75,8 @@ enum DataType { // https://www.tensorflow.org/code/tensorboard/compat/proto/types.cc, // https://www.tensorflow.org/code/tensorboard/compat/proto/dtypes.py, // https://www.tensorflow.org/code/tensorboard/compat/proto/function.py) + +// Represents a serialized tf.dtypes.Dtype +message SerializedDType { + DataType datatype = 1; +} diff --git a/tensorboard/data/server/descriptor.bin b/tensorboard/data/server/descriptor.bin index 7feb5f99ca0..76743680f45 100644 Binary files a/tensorboard/data/server/descriptor.bin and b/tensorboard/data/server/descriptor.bin differ diff --git a/tensorboard/data/server/tensorboard.pb.rs b/tensorboard/data/server/tensorboard.pb.rs index 5c6d089efad..7aa682bc443 100644 --- a/tensorboard/data/server/tensorboard.pb.rs +++ b/tensorboard/data/server/tensorboard.pb.rs @@ -54,6 +54,12 @@ pub mod tensor_shape_proto { pub name: ::prost::alloc::string::String, } } +/// Represents a serialized tf.dtypes.Dtype +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SerializedDType { + #[prost(enumeration="DataType", tag="1")] + pub datatype: i32, +} /// (== suppress_warning documentation-presence ==) /// DISABLED.IfChange #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]