コード例 #1
0
ファイル: blas.py プロジェクト: Jackwangyang/Theano
 def perform(self, node, inp, out):
     A, alpha, x, y = inp
     inplace = self.destructive
     if inplace and not A.flags.forc:
         inplace = False
     outputs[0][0] = blas.ger(alpha, x, y, A,
                              overwrite_a=inplace)
コード例 #2
0
 def perform(self, node, inp, out):
     A, alpha, x, y = inp
     inplace = self.destructive
     if inplace and not A.flags.forc:
         inplace = False
     outputs[0][0] = blas.ger(alpha, x, y, A,
                              overwrite_a=inplace)
コード例 #3
0
ファイル: test_blas.py プロジェクト: MaxBareiss/libgpuarray
def ger(m, n, dtype, order, sliced_x, sliced_y, init_res, overwrite=False):
    cX, gX = gen_gpuarray((m,), dtype, order, sliced=sliced_x, ctx=context)
    cY, gY = gen_gpuarray((n,), dtype, order, sliced=sliced_y, ctx=context)

    if init_res:
        cA, gA = gen_gpuarray((m, n), dtype, order, ctx=context)
    else:
        cA, gA = None, None

    if dtype == 'float32':
        cr = fblas.sger(1.0, cX, cY, a=cA, overwrite_a=overwrite)
    else:
        cr = fblas.dger(1.0, cX, cY, a=cA, overwrite_a=overwrite)

    gr = gblas.ger(1.0, gX, gY, gA, overwrite_a=overwrite)

    numpy.testing.assert_allclose(cr, numpy.asarray(gr), rtol=1e-6)
コード例 #4
0
def ger(m, n, dtype, order, sliced_x, sliced_y, init_res, overwrite=False):
    cX, gX = gen_gpuarray((m, ), dtype, order, sliced=sliced_x, ctx=context)
    cY, gY = gen_gpuarray((n, ), dtype, order, sliced=sliced_y, ctx=context)

    if init_res:
        cA, gA = gen_gpuarray((m, n), dtype, order, ctx=context)
    else:
        cA, gA = None, None

    if dtype == 'float32':
        cr = fblas.sger(1.0, cX, cY, a=cA, overwrite_a=overwrite)
    else:
        cr = fblas.dger(1.0, cX, cY, a=cA, overwrite_a=overwrite)

    gr = gblas.ger(1.0, gX, gY, gA, overwrite_a=overwrite)

    numpy.testing.assert_allclose(cr, numpy.asarray(gr), rtol=1e-6)