#!/usr/bin/python import numpy as np import parakeet parakeet.set_vectorize(False) @parakeet.PAR def allpairs_add(x): return parakeet.allpairs(np.add, x, x) def test_add1d(): x = np.arange(16) y = allpairs_add(x) z = np.add.outer(x,x) print "Parakeet shape = %s, value = %s" % (y.shape, y) print "Python shape = %s, value = %s " % (z.shape, z) assert np.all(y == z) def allpairs_left_helper(x,y): return x @parakeet.PAR def allpairs_left2d(X, Y): return parakeet.allpairs(allpairs_left_helper, X, Y, axis=0) def test_allpairs_left2d(): x = np.array([[1,2,3], [4,5,6], [7,8,9], [10, 11, 12]]) x1 = x * 10 y = allpairs_left2d(x, x1) n = x.shape[0] m = x.shape[1]
#!/usr/bin/python import numpy as np import parakeet as par from parakeet import PAR par.set_vectorize(False) def mm(X,Y): return par.allpairs(par.dot, X, Y.T, axis=0) def test_mm(): X = np.random.randn(1000, 1000) parakeet_result = mm(X,X) print parakeet_result np_result = np.dot(X,X) print np_result assert np.sum( np.abs(parakeet_result - np_result)) <= 0.0001 if __name__ == '__main__': test_mm()