示例#1
0
  def test_merge(self, m1, m2):
    merged = u.merge(m1, m2)

    # Every item from the second map should be in the merged map.
    for k, v in m2.items():
      self.assertEqual(merged[k], v)

    # Every item from the first map should be in the merged map, OR, if it
    # shares a key with m2, m2's value will have bumped it.
    for k, v in m1.items():
      self.assertEqual(merged[k], m2.get(k, v))
示例#2
0
文件: types.py 项目: sagravat/caliban
}

# Machines types in Cloud's high CPU tier.
HIGHCPU_MACHINES = {"highcpu_16", "highcpu_32", "highcpu_64", "highcpu_96"}

# Machine types allowed if running in TPU mode.
TPU_MACHINES = {"cloud_tpu"}

# Machine types allowed in CPU or GPU modes.
NON_TPU_MACHINES = STANDARD_MACHINES.union(HIGHMEM_MACHINES).union(
    HIGHCPU_MACHINES)

# Type of physical machine available -> cloud name.
MachineType = Enum(
    'MachineType',
    u.merge(u.dict_by(NON_TPU_MACHINES, _vfn("n1")),
            u.dict_by(TPU_MACHINES, lambda s: s)))

# Various GPU types currently available on Cloud, mapped to their cloud
# identifiers.
GPU = Enum(
    "GPU", {
        "K80": "NVIDIA_TESLA_K80",
        "P4": "NVIDIA_TESLA_P4",
        "P100": "NVIDIA_TESLA_P100",
        "T4": "NVIDIA_TESLA_T4",
        "V100": "NVIDIA_TESLA_V100"
    })

# TPU types mapped from version to Cloud identifier.
TPU = Enum(
    "TPU",