def test_cgen2_add(): with namesupply(): krn = ElementwiseKernel( [ (IN , VectorArg((300,), 'array[int]')), (IN , VectorArg((300,), 'array[int]')), (OUT , VectorArg((300,), 'array[int]')), ], '_out0[i0] = _in0[i0] + _in1[i0]', ) krn.verify() ast, env = krn.compile() ctx = Context(env) a = np.array(xrange(300), dtype='int32') b = np.array(xrange(300), dtype='int32') c = np.empty_like(b) execute(ctx, args=(a,b,c), fname='kernel0', timing=False) assert np.allclose(c, a + b)
var int j; for i in range(n) { for j in range(n) { x[i,j] = i+j; } } } """ N = 15 ast, env = compile(source) arr = np.eye(N, dtype='int32') args = (arr, N) ctx = Context(env) execute(ctx, args, timing=True) ctx.destroy() print arr #------------------------------------------------------------------------ # Vector Dot Product #------------------------------------------------------------------------ N = 50000 A = np.arange(N, dtype='double') B = np.arange(N, dtype='double') source = open('samples/blir/dot.bl') ast, env = compile(source.read())