提交 07c9fc7a authored 作者: Frederic's avatar Frederic

Don't use py_ version

上级 f8b7e49b
...@@ -159,7 +159,7 @@ class CURAND_Base(GpuOp): ...@@ -159,7 +159,7 @@ class CURAND_Base(GpuOp):
int odims[%(ndim)s]; int odims[%(ndim)s];
int n_elements = 1; int n_elements = 1;
int must_alloc_sample = ((NULL == %(o_sample)s) int must_alloc_sample = ((NULL == %(o_sample)s)
|| !CudaNdarray_Check(py_%(o_sample)s) || !CudaNdarray_Check((PyObject*)%(o_sample)s)
|| (CudaNdarray_NDIM(%(o_sample)s) != %(ndim)s)); || (CudaNdarray_NDIM(%(o_sample)s) != %(ndim)s));
if (PyArray_NDIM(%(size)s) != 1) if (PyArray_NDIM(%(size)s) != 1)
...@@ -246,7 +246,7 @@ class CURAND_Base(GpuOp): ...@@ -246,7 +246,7 @@ class CURAND_Base(GpuOp):
return code return code
def c_code_cache_version(self): def c_code_cache_version(self):
return (3,) return (4,)
class CURAND_Normal(CURAND_Base): class CURAND_Normal(CURAND_Base):
......
...@@ -53,13 +53,13 @@ class MultinomialFromUniform(Op): ...@@ -53,13 +53,13 @@ class MultinomialFromUniform(Op):
return [T.zeros_like(x) for x in ins] return [T.zeros_like(x) for x in ins]
def c_code_cache_version(self): def c_code_cache_version(self):
return (5,) return (6,)
def c_code(self, node, name, ins, outs, sub): def c_code(self, node, name, ins, outs, sub):
(pvals, unis) = ins (pvals, unis) = ins
(z,) = outs (z,) = outs
if self.odtype == 'auto': if self.odtype == 'auto':
t = "PyArray_TYPE((PyArrayObject*) py_%(pvals)s)" % locals() t = "PyArray_TYPE(%(pvals)s)" % locals()
else: else:
t = theano.scalar.Scalar(self.odtype).dtype_specs()[1] t = theano.scalar.Scalar(self.odtype).dtype_specs()[1]
if t.startswith('theano_complex'): if t.startswith('theano_complex'):
......
...@@ -445,7 +445,9 @@ class mrg_uniform(mrg_uniform_base): ...@@ -445,7 +445,9 @@ class mrg_uniform(mrg_uniform_base):
} }
} }
Py_XDECREF(%(o_rstate)s); Py_XDECREF(%(o_rstate)s);
%(o_rstate)s = (PyArrayObject*)PyArray_FromAny(py_%(rstate)s, NULL, 0, 0, %(o_rstate_requirement)s,NULL); %(o_rstate)s = (PyArrayObject*)PyArray_FromAny(
(PyObject*)%(rstate)s,
NULL, 0, 0, %(o_rstate_requirement)s,NULL);
if (PyArray_NDIM(%(o_rstate)s) != 2) if (PyArray_NDIM(%(o_rstate)s) != 2)
{ {
...@@ -526,7 +528,7 @@ class mrg_uniform(mrg_uniform_base): ...@@ -526,7 +528,7 @@ class mrg_uniform(mrg_uniform_base):
""" % locals() """ % locals()
def c_code_cache_version(self): def c_code_cache_version(self):
return (2,) return (3,)
class GPU_mrg_uniform(mrg_uniform_base, GpuOp): class GPU_mrg_uniform(mrg_uniform_base, GpuOp):
...@@ -655,7 +657,7 @@ class GPU_mrg_uniform(mrg_uniform_base, GpuOp): ...@@ -655,7 +657,7 @@ class GPU_mrg_uniform(mrg_uniform_base, GpuOp):
int n_elements = 1; int n_elements = 1;
int n_streams, n_streams_used_in_this_call; int n_streams, n_streams_used_in_this_call;
int must_alloc_sample = ((NULL == %(o_sample)s) int must_alloc_sample = ((NULL == %(o_sample)s)
|| !CudaNdarray_Check(py_%(o_sample)s) || !CudaNdarray_Check((PyObject*)%(o_sample)s)
|| !CudaNdarray_is_c_contiguous(%(o_sample)s) || !CudaNdarray_is_c_contiguous(%(o_sample)s)
|| (CudaNdarray_NDIM(%(o_sample)s) != %(ndim)s)); || (CudaNdarray_NDIM(%(o_sample)s) != %(ndim)s));
...@@ -691,7 +693,7 @@ class GPU_mrg_uniform(mrg_uniform_base, GpuOp): ...@@ -691,7 +693,7 @@ class GPU_mrg_uniform(mrg_uniform_base, GpuOp):
%(fail)s; %(fail)s;
} }
} }
if (!CudaNdarray_Check(py_%(rstate)s)) if (!CudaNdarray_Check((PyObject*)%(rstate)s))
{ {
PyErr_Format(PyExc_ValueError, "rstate must be cudandarray"); PyErr_Format(PyExc_ValueError, "rstate must be cudandarray");
%(fail)s; %(fail)s;
...@@ -764,7 +766,7 @@ class GPU_mrg_uniform(mrg_uniform_base, GpuOp): ...@@ -764,7 +766,7 @@ class GPU_mrg_uniform(mrg_uniform_base, GpuOp):
""" % locals() """ % locals()
def c_code_cache_version(self): def c_code_cache_version(self):
return (9,) return (10,)
class GPUA_mrg_uniform(GpuKernelBase, mrg_uniform_base): class GPUA_mrg_uniform(GpuKernelBase, mrg_uniform_base):
...@@ -913,7 +915,7 @@ class GPUA_mrg_uniform(GpuKernelBase, mrg_uniform_base): ...@@ -913,7 +915,7 @@ class GPUA_mrg_uniform(GpuKernelBase, mrg_uniform_base):
unsigned int n_elements = 1; unsigned int n_elements = 1;
unsigned int n_streams; unsigned int n_streams;
int must_alloc_sample = ((NULL == %(o_sample)s) int must_alloc_sample = ((NULL == %(o_sample)s)
|| !pygpu_GpuArray_Check(py_%(o_sample)s) || !pygpu_GpuArray_Check((PyObject*)%(o_sample)s)
|| !(%(o_sample)s->ga.flags & GA_C_CONTIGUOUS) || !(%(o_sample)s->ga.flags & GA_C_CONTIGUOUS)
|| (PyGpuArray_NDIM(%(o_sample)s) != %(ndim)s)); || (PyGpuArray_NDIM(%(o_sample)s) != %(ndim)s));
...@@ -950,7 +952,7 @@ class GPUA_mrg_uniform(GpuKernelBase, mrg_uniform_base): ...@@ -950,7 +952,7 @@ class GPUA_mrg_uniform(GpuKernelBase, mrg_uniform_base):
%(fail)s; %(fail)s;
} }
} }
if (!pygpu_GpuArray_Check(py_%(rstate)s)) if (!pygpu_GpuArray_Check((PyObject*)%(rstate)s))
{ {
PyErr_Format(PyExc_ValueError, "rstate must be gpuarray"); PyErr_Format(PyExc_ValueError, "rstate must be gpuarray");
%(fail)s; %(fail)s;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论