Example #1
0
 def test_transpose3(self):
   t1 = expr.sparse_diagonal((107, 401)).evaluate()
   t2 = expr.sparse_diagonal((401, 107)).evaluate()
   a = expr.transpose(t1)
   b = expr.transpose(t2)
   Assert.all_eq(a.glom().todense(), sp.eye(107, 401).transpose().todense())
   Assert.all_eq(b.glom().todense(), sp.eye(401, 107).transpose().todense())
Example #2
0
 def test_reshape8(self):
   t1 = expr.sparse_diagonal((137, 113))
   t2 = expr.sparse_diagonal((113, 137))
   a = expr.reshape(t1, (113, 137))
   b = expr.reshape(t2, (137, 113))
   Assert.all_eq(a.glom().todense(), sp.eye(137, 113).tolil().reshape((113, 137)).todense())
   Assert.all_eq(b.glom().todense(), sp.eye(113, 137).tolil().reshape((137, 113)).todense())
Example #3
0
 def test_reshape8(self):
     t1 = expr.sparse_diagonal((137, 113))
     t2 = expr.sparse_diagonal((113, 137))
     a = expr.reshape(t1, (113, 137))
     b = expr.reshape(t2, (137, 113))
     Assert.all_eq(a.glom().todense(),
                   sp.eye(137, 113).tolil().reshape((113, 137)).todense())
     Assert.all_eq(b.glom().todense(),
                   sp.eye(113, 137).tolil().reshape((137, 113)).todense())
Example #4
0
 def test_transpose3(self):
     t1 = expr.sparse_diagonal((107, 401)).evaluate()
     t2 = expr.sparse_diagonal((401, 107)).evaluate()
     a = expr.transpose(t1)
     b = expr.transpose(t2)
     Assert.all_eq(a.glom().todense(),
                   sp.eye(107, 401).transpose().todense())
     Assert.all_eq(b.glom().todense(),
                   sp.eye(401, 107).transpose().todense())
Example #5
0
def benchmark_cg(ctx, timer):
    print "#worker:", ctx.num_workers
    l = int(math.sqrt(ctx.num_workers))
    #n = 2000 * 16
    n = 500 * ctx.num_workers
    la = 20
    niter = 5

    #nonzer = 7
    #nz = n * (nonzer + 1) * (nonzer + 1) + n * (nonzer + 2)
    #density = 0.5 * nz/(n*n)
    A = expr.rand(n, n)
    A = (A + expr.transpose(A)) * 0.5

    I = expr.sparse_diagonal((n, n)) * la
    A = A - I

    #x1 = numpy_cg(A.glom(), niter)
    util.log_warn('begin cg!')
    t1 = datetime.now()
    x2 = conj_gradient(A, niter).force()
    t2 = datetime.now()
    cost_time = millis(t1, t2)
    print "total cost time:%s ms, per iter cost time:%s ms" % (
        cost_time, cost_time / niter)
Example #6
0
def benchmark_cg(ctx, timer):
  print "#worker:", ctx.num_workers
  l = int(math.sqrt(ctx.num_workers))
  n = 2000 * 16
  #n = 4000 * l
  la = 20
  niter = 5
  tile_hint = (n, n/ctx.num_workers)
  
  #nonzer = 7
  #nz = n * (nonzer + 1) * (nonzer + 1) + n * (nonzer + 2)
  #density = 0.5 * nz/(n*n)
  A = expr.rand(n, n, tile_hint=tile_hint)
  A = (A + expr.transpose(A))*0.5
  
  I = expr.sparse_diagonal((n,n), tile_hint=tile_hint) * la
  I.force()
  A = expr.eager(A - I)

  #x1 = numpy_cg(A.glom(), niter)
  util.log_warn('begin cg!')
  t1 = datetime.now()
  x2 = conj_gradient(A, niter).force()
  t2 = datetime.now()
  cost_time = millis(t1,t2)
  print "total cost time:%s ms, per iter cost time:%s ms" % (cost_time, cost_time/niter)
Example #7
0
 def test_sparse_scan(self):
   axis = 1
   a = expr.sparse_diagonal(ARRAY_SIZE, dtype=np.float32, tile_hint=tile_hint)
   c = expr.scan(a, reduce_fn=lambda x, **kw:x.sum(axis=kw['axis']), 
                    scan_fn=lambda x, **kw: x.cumsum(axis=kw['axis']), 
                    accum_fn=None, 
                    axis=axis)
   
   print c.glom()
Example #8
0
 def test_sparse_sum(self):
   x = expr.sparse_diagonal(ARRAY_SIZE).force()
   y = x.glom()
   print y.todense()
   
   x = expr.lazify(x)
   for axis in [None, 0, 1]:
     y = x.sum(axis)
     val = y.glom()
     print val
Example #9
0
 def test_sparse_sum(self):
   x = expr.sparse_diagonal(ARRAY_SIZE).force()
   y = x.glom()
   print y.todense()
   
   x = expr.lazify(x)
   for axis in [None, 0, 1]:
     y = x.sum(axis)
     val = y.glom()
     print val
Example #10
0
 def test_sparse_operators(self):
   x = expr.sparse_diagonal(ARRAY_SIZE)
   #print x.glom().todense()
   
   y = x
   print 'test add'
   #z = expr.add(x, y)
   z = expr.add(x, y)
   print z.glom().todense()
   
   print 'test minus'   
   z = expr.sub(x, y)
   print z.glom().todense()
   
   print 'test multiply'
   z = expr.dot(x, x)
   print z.glom().todense()
Example #11
0
 def test_sparse_operators(self):
   x = expr.sparse_diagonal(ARRAY_SIZE)
   #print x.glom().todense()
   
   y = x
   print 'test add'
   #z = expr.add(x, y)
   z = expr.add(x, y)
   print z.glom().todense()
   
   print 'test minus'   
   z = expr.sub(x, y)
   print z.glom().todense()
   
   print 'test multiply'
   z = expr.dot(x, x)
   print z.glom().todense()