def test_global_limits_cyclic(self): """Find the boundaries of a cyclic distribution""" d = Distribution.from_shape(comm=self.comm, shape=(16, 16), dist=('c', 'n')) a = LocalArray(d) answers = [(0, 12), (1, 13), (2, 14), (3, 15)] limits = a.global_limits(0) self.assertEqual(limits, answers[a.comm_rank]) answers = 4 * [(0, 15)] limits = a.global_limits(1) self.assertEqual(limits, answers[a.comm_rank])
def test_global_limits_cyclic(self): """Find the boundaries of a cyclic distribution""" d = Distribution.from_shape(comm=self.comm, shape=(16, 16), dist=('c', 'n')) a = LocalArray(d) answers = [(0, 12), (1, 13), (2, 14), (3, 15)] limits = a.global_limits(0) self.assertEqual(limits, answers[a.comm_rank]) answers = 4 * [(0, 15)] limits = a.global_limits(1) self.assertEqual(limits, answers[a.comm_rank])
def test_global_limits_block(self): """Find the boundaries of a block distribution""" d = Distribution.from_shape(comm=self.comm, shape=(16, 16), dist=('b', 'n')) a = LocalArray(d) answers = [(0, 3), (4, 7), (8, 11), (12, 15)] limits = a.global_limits(0) self.assertEqual(limits, answers[a.comm_rank]) answers = 4 * [(0, 15)] limits = a.global_limits(1) self.assertEqual(limits, answers[a.comm_rank])
def test_global_limits_block(self): """Find the boundaries of a block distribution""" d = Distribution.from_shape(comm=self.comm, shape=(16, 16), dist=('b', 'n')) a = LocalArray(d) answers = [(0, 3), (4, 7), (8, 11), (12, 15)] limits = a.global_limits(0) self.assertEqual(limits, answers[a.comm_rank]) answers = 4 * [(0, 15)] limits = a.global_limits(1) self.assertEqual(limits, answers[a.comm_rank])
def test_bad_global_limits(self): """ Test that invalid global_limits fails as expected. """ d = Distribution.from_shape(comm=self.comm, shape=(4, 4)) a = LocalArray(d) with self.assertRaises(InvalidDimensionError): a.global_limits(-1)
def test_bad_global_limits(self): """ Test that invalid global_limits fails as expected. """ d = Distribution.from_shape(comm=self.comm, shape=(4, 4)) a = LocalArray(d) with self.assertRaises(InvalidDimensionError): a.global_limits(-1)