# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: tensorflow/dtensor/proto/layout.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()




DESCRIPTOR = _descriptor.FileDescriptor(
  name='tensorflow/dtensor/proto/layout.proto',
  package='tensorflow.dtensor',
  syntax='proto3',
  serialized_options=None,
  serialized_pb=_b('\n%tensorflow/dtensor/proto/layout.proto\x12\x12tensorflow.dtensor\"+\n\x0cShardingSpec\x12\x15\n\rsharding_spec\x18\x02 \x01(\tJ\x04\x08\x01\x10\x02\"0\n\x12MeshDimensionProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04size\x18\x02 \x01(\x03\"{\n\x0bLayoutProto\x12\x38\n\x0esharding_specs\x18\x01 \x03(\x0b\x32 .tensorflow.dtensor.ShardingSpec\x12\x32\n\x0bmesh_config\x18\x02 \x01(\x0b\x32\x1d.tensorflow.dtensor.MeshProto\"\xbe\x01\n\tMeshProto\x12?\n\x0fmesh_dimensions\x18\x01 \x03(\x0b\x32&.tensorflow.dtensor.MeshDimensionProto\x12\x19\n\x11global_device_ids\x18\x02 \x03(\x03\x12\x18\n\x10local_device_ids\x18\x04 \x03(\x03\x12\x15\n\rlocal_devices\x18\x05 \x03(\t\x12\x16\n\x0eglobal_devices\x18\x06 \x03(\t\x12\x0c\n\x04name\x18\x03 \x01(\tb\x06proto3')
)




_SHARDINGSPEC = _descriptor.Descriptor(
  name='ShardingSpec',
  full_name='tensorflow.dtensor.ShardingSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='sharding_spec', full_name='tensorflow.dtensor.ShardingSpec.sharding_spec', index=0,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=61,
  serialized_end=104,
)


_MESHDIMENSIONPROTO = _descriptor.Descriptor(
  name='MeshDimensionProto',
  full_name='tensorflow.dtensor.MeshDimensionProto',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='tensorflow.dtensor.MeshDimensionProto.name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='size', full_name='tensorflow.dtensor.MeshDimensionProto.size', index=1,
      number=2, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=106,
  serialized_end=154,
)


_LAYOUTPROTO = _descriptor.Descriptor(
  name='LayoutProto',
  full_name='tensorflow.dtensor.LayoutProto',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='sharding_specs', full_name='tensorflow.dtensor.LayoutProto.sharding_specs', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='mesh_config', full_name='tensorflow.dtensor.LayoutProto.mesh_config', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=156,
  serialized_end=279,
)


_MESHPROTO = _descriptor.Descriptor(
  name='MeshProto',
  full_name='tensorflow.dtensor.MeshProto',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='mesh_dimensions', full_name='tensorflow.dtensor.MeshProto.mesh_dimensions', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='global_device_ids', full_name='tensorflow.dtensor.MeshProto.global_device_ids', index=1,
      number=2, type=3, cpp_type=2, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='local_device_ids', full_name='tensorflow.dtensor.MeshProto.local_device_ids', index=2,
      number=4, type=3, cpp_type=2, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='local_devices', full_name='tensorflow.dtensor.MeshProto.local_devices', index=3,
      number=5, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='global_devices', full_name='tensorflow.dtensor.MeshProto.global_devices', index=4,
      number=6, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='name', full_name='tensorflow.dtensor.MeshProto.name', index=5,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=282,
  serialized_end=472,
)

_LAYOUTPROTO.fields_by_name['sharding_specs'].message_type = _SHARDINGSPEC
_LAYOUTPROTO.fields_by_name['mesh_config'].message_type = _MESHPROTO
_MESHPROTO.fields_by_name['mesh_dimensions'].message_type = _MESHDIMENSIONPROTO
DESCRIPTOR.message_types_by_name['ShardingSpec'] = _SHARDINGSPEC
DESCRIPTOR.message_types_by_name['MeshDimensionProto'] = _MESHDIMENSIONPROTO
DESCRIPTOR.message_types_by_name['LayoutProto'] = _LAYOUTPROTO
DESCRIPTOR.message_types_by_name['MeshProto'] = _MESHPROTO
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

ShardingSpec = _reflection.GeneratedProtocolMessageType('ShardingSpec', (_message.Message,), {
  'DESCRIPTOR' : _SHARDINGSPEC,
  '__module__' : 'tensorflow.dtensor.proto.layout_pb2'
  # @@protoc_insertion_point(class_scope:tensorflow.dtensor.ShardingSpec)
  })
_sym_db.RegisterMessage(ShardingSpec)

MeshDimensionProto = _reflection.GeneratedProtocolMessageType('MeshDimensionProto', (_message.Message,), {
  'DESCRIPTOR' : _MESHDIMENSIONPROTO,
  '__module__' : 'tensorflow.dtensor.proto.layout_pb2'
  # @@protoc_insertion_point(class_scope:tensorflow.dtensor.MeshDimensionProto)
  })
_sym_db.RegisterMessage(MeshDimensionProto)

LayoutProto = _reflection.GeneratedProtocolMessageType('LayoutProto', (_message.Message,), {
  'DESCRIPTOR' : _LAYOUTPROTO,
  '__module__' : 'tensorflow.dtensor.proto.layout_pb2'
  # @@protoc_insertion_point(class_scope:tensorflow.dtensor.LayoutProto)
  })
_sym_db.RegisterMessage(LayoutProto)

MeshProto = _reflection.GeneratedProtocolMessageType('MeshProto', (_message.Message,), {
  'DESCRIPTOR' : _MESHPROTO,
  '__module__' : 'tensorflow.dtensor.proto.layout_pb2'
  # @@protoc_insertion_point(class_scope:tensorflow.dtensor.MeshProto)
  })
_sym_db.RegisterMessage(MeshProto)


# @@protoc_insertion_point(module_scope)
