Ejemplo n.º 1
0
 def test_einsum(self):
     a = Array([4, 8], block=2)
     b = Array([8, 12], block=2)
     c = Array([4, 12], block=2)
     a.fill(1, False)
     b.fill(1, False)
     ta.einsum("ik,kj->ij", a, b, c)
     d = Array()
     ta.einsum("ik,kj,ab->ijab", a, b, c, d)
     ta.get_default_world().fence()
Ejemplo n.º 2
0
 def test_array_buffer(self):
     import numpy as np
     world = ta.get_default_world()
     a = Array([4, 8], block=8, world=world)
     a.fill(1)
     world.fence()
     b = np.array(a)
     self.assertEqual(b.shape, a.shape)
Ejemplo n.º 3
0
 def test_array_iter(self):
     import numpy as np
     world = ta.get_default_world()
     a = Array([4, 8], block=2, world=world)
     #a.fill(0, False)
     for tile in a:
         tile.data = np.ones([2, 2])
         #print (tile.index, tile.range, tile.data)
     world.fence()
Ejemplo n.º 4
0
 def test_tile_setitem_getitem(self):
     import numpy as np
     world = ta.get_default_world()
     a = Array([4, 8], block=2, world=world)
     if world.rank == 0:
         a[0, 0] = np.ones([2, 2])
     world.fence()
     #print (a[0,0])
     self.assertTrue((a[0, 0] == np.ones([2, 2])).all())
     world.fence()
Ejemplo n.º 5
0
 def test_array(self):
     world = ta.get_default_world()
     a = Array([4, 4], 2, world)
     a.fill(1, False)
     world.fence()
     a = Array([5, 5], 3, world)
     self.assertEqual(a.shape, (5, 5))
     a = Array([[2, 7], [2, 4, 7]])
     self.assertEqual(a.shape, (5, 5))
     world.fence()
Ejemplo n.º 6
0
 def test_tile_ops(self):
     import numpy as np
     world = ta.get_default_world()
     op = lambda r: np.random.rand(*r.shape)
     a = Array([4, 8], block=2, world=world, op=op)
     a = Array([4, 8], block=2, world=world)
     a.init(op)
     #print (a[0,0])
     # world.fence
     # self.assertTrue((a[0,0] == np.ones([2,2])).all())
     world.fence()
Ejemplo n.º 7
0
 def test_expressions(self):
     world = ta.get_default_world()
     a = Array([4, 8], block=2, world=world)
     b = Array([8, 4], block=2, world=world)
     c = Array([8, 8], block=2, world=world)
     a.fill(1, False)
     c.fill(5, False)
     b["i,j"] = a["j,i"] / 2.0
     b["i,j"] = a["j,i"] - a["j,i"] / 2 + 6 * a["j,i"] * 2
     self.assertAlmostEqual((c["i,j"] + c["j,i"]).norm(), 80)
     self.assertAlmostEqual((c["i,j"] + c["j,i"]).min(), 10)
     self.assertAlmostEqual((c["i,j"] - c["j,i"]).max(), 0.0)
     self.assertAlmostEqual(c["i,j"].dot(c["j,i"]), (5**2) * (8 * 8))
     world.fence()
     del a, b
Ejemplo n.º 8
0
            for tile in a:
                tile.data = np.ones([2, 2])
                #print (tile.index, tile.range, tile.data)
            world.fence()

        def test_array_buffer(self):
            import numpy as np
            world = ta.get_default_world()
            a = Array([4, 8], block=8, world=world)
            a.fill(1)
            world.fence()
            b = np.array(a)
            self.assertEqual(b.shape, a.shape)
            #print (b[...])

    return TestCase


class ArrayTest(make_test_case(ta.TArray)):
    pass


class SparseArrayTest(make_test_case(ta.TSpArray)):
    pass


if __name__ == '__main__':
    unittest.main()
    ta.get_default_world().fence()
    #ta.finalize()