Example #1
0
 def test_is_compatible_degenerate(self):
     dist_bc = Distribution(self.context, (10, 10), ('b', 'c'), (1, 1),
                            targets=[0])
     dist_cb = Distribution(self.context, (10, 10), ('c', 'b'), (1, 1),
                            targets=[0])
     self.assertTrue(dist_bc.is_compatible(dist_cb))
     self.assertTrue(dist_cb.is_compatible(dist_bc))
Example #2
0
 def test_is_compatible_nodist(self):
     # See GH issue #461.
     dist_bcn = Distribution(self.context, (10, 10, 10), ('b', 'c', 'n'),
                             (1, 1, 1),
                             targets=[0])
     dist_nnn = Distribution(self.context, (10, 10, 10), ('n', 'n', 'n'),
                             (1, 1, 1),
                             targets=[0])
     self.assertTrue(dist_bcn.is_compatible(dist_nnn))
     self.assertTrue(dist_nnn.is_compatible(dist_bcn))
Example #3
0
    def test_not_compatible(self):
        dist_b1 = Distribution(self.context, (10, ), ('b', ), (1, ),
                               targets=[0])
        dist_b2 = Distribution(self.context, (9, ), ('b', ), (1, ),
                               targets=[0])

        self.assertFalse(dist_b1.is_compatible(dist_b2))
        self.assertFalse(dist_b2.is_compatible(dist_b1))

        dist_b3 = Distribution(self.context, (10, ), ('b', ), (2, ),
                               targets=[0, 1])

        self.assertFalse(dist_b1.is_compatible(dist_b3))
        self.assertFalse(dist_b3.is_compatible(dist_b1))

        dist_b4 = Distribution(self.context, (10, ), ('c', ), (2, ),
                               targets=[0, 1])

        self.assertFalse(dist_b4.is_compatible(dist_b3))
        self.assertFalse(dist_b3.is_compatible(dist_b4))

        gdd_unstructured = ({
            'dist_type': 'u',
            'indices': [range(10)],
        }, )
        dist_u = Distribution.from_global_dim_data(self.context,
                                                   gdd_unstructured)

        self.assertFalse(dist_u.is_compatible(dist_b1))
        self.assertFalse(dist_b1.is_compatible(dist_u))
Example #4
0
    def test_not_compatible(self):
        dist_b1 = Distribution(self.context, (10,), ("b",), (1,), targets=[0])
        dist_b2 = Distribution(self.context, (9,), ("b",), (1,), targets=[0])

        self.assertFalse(dist_b1.is_compatible(dist_b2))
        self.assertFalse(dist_b2.is_compatible(dist_b1))

        dist_b3 = Distribution(self.context, (10,), ("b",), (2,), targets=[0, 1])

        self.assertFalse(dist_b1.is_compatible(dist_b3))
        self.assertFalse(dist_b3.is_compatible(dist_b1))

        dist_b4 = Distribution(self.context, (10,), ("c",), (2,), targets=[0, 1])

        self.assertFalse(dist_b4.is_compatible(dist_b3))
        self.assertFalse(dist_b3.is_compatible(dist_b4))

        gdd_unstructured = ({"dist_type": "u", "indices": [range(10)]},)
        dist_u = Distribution.from_global_dim_data(self.context, gdd_unstructured)

        self.assertFalse(dist_u.is_compatible(dist_b1))
        self.assertFalse(dist_b1.is_compatible(dist_u))
Example #5
0
    def test_is_compatible(self):
        nr, nc, nd = 10 ** 5, 10 ** 6, 10 ** 4

        cm0 = Distribution(self.context, (nr, nc, nd), ("b", "c", "n"))
        self.assertTrue(cm0.is_compatible(cm0))

        cm1 = Distribution(self.context, (nr, nc, nd), ("b", "c", "n"))
        self.assertTrue(cm1.is_compatible(cm1))

        self.assertTrue(cm0.is_compatible(cm1))
        self.assertTrue(cm1.is_compatible(cm0))

        nr -= 1
        nc -= 1
        nd -= 1

        cm2 = Distribution(self.context, (nr, nc, nd), ("b", "c", "n"))

        self.assertFalse(cm1.is_compatible(cm2))
        self.assertFalse(cm2.is_compatible(cm1))
Example #6
0
    def test_is_compatible(self):
        nr, nc, nd = 10**5, 10**6, 10**4

        cm0 = Distribution(self.context, (nr, nc, nd), ('b', 'c', 'n'))
        self.assertTrue(cm0.is_compatible(cm0))

        cm1 = Distribution(self.context, (nr, nc, nd), ('b', 'c', 'n'))
        self.assertTrue(cm1.is_compatible(cm1))

        self.assertTrue(cm0.is_compatible(cm1))
        self.assertTrue(cm1.is_compatible(cm0))

        nr -= 1
        nc -= 1
        nd -= 1

        cm2 = Distribution(self.context, (nr, nc, nd), ('b', 'c', 'n'))

        self.assertFalse(cm1.is_compatible(cm2))
        self.assertFalse(cm2.is_compatible(cm1))
Example #7
0
 def test_is_compatible_degenerate(self):
     dist_bc = Distribution(self.context, (10, 10), ("b", "c"), (1, 1), targets=[0])
     dist_cb = Distribution(self.context, (10, 10), ("c", "b"), (1, 1), targets=[0])
     self.assertTrue(dist_bc.is_compatible(dist_cb))
     self.assertTrue(dist_cb.is_compatible(dist_bc))
Example #8
0
 def test_is_compatible_nodist(self):
     # See GH issue #461.
     dist_bcn = Distribution(self.context, (10, 10, 10), ("b", "c", "n"), (1, 1, 1), targets=[0])
     dist_nnn = Distribution(self.context, (10, 10, 10), ("n", "n", "n"), (1, 1, 1), targets=[0])
     self.assertTrue(dist_bcn.is_compatible(dist_nnn))
     self.assertTrue(dist_nnn.is_compatible(dist_bcn))