提交 346e57f2 authored 作者: Frederic's avatar Frederic

Add c code to GpuFromHost.

上级 ef8aa276
...@@ -86,8 +86,9 @@ class HostFromGpu(GpuOp): ...@@ -86,8 +86,9 @@ class HostFromGpu(GpuOp):
fail = sub['fail'] fail = sub['fail']
return """ return """
%(out)s = (PyArrayObject *) CudaNdarray_CreateArrayObj(%(inp)s); %(out)s = (PyArrayObject *) CudaNdarray_CreateArrayObj(%(inp)s);
if(!%(out)s) if(!%(out)s){
%(fail)s; %(fail)s;
}
""" % locals() """ % locals()
def c_code_cache_version(self): def c_code_cache_version(self):
...@@ -133,6 +134,27 @@ class GpuFromHost(GpuOp): ...@@ -133,6 +134,27 @@ class GpuFromHost(GpuOp):
def infer_shape(self, node, xshp): def infer_shape(self, node, xshp):
return xshp return xshp
def c_code(self, node, name, inputs, outputs, sub):
inp = inputs[0]
out = outputs[0]
fail = sub['fail']
return """
int err = 0;
Py_XDECREF(%(out)s);
%(out)s = (CudaNdarray*) CudaNdarray_New();
if(!%(out)s){
%(fail)s;
}
err = CudaNdarray_CopyFromArray(%(out)s, %(inp)s);
if(err){
%(fail)s;
}
""" % locals()
def c_code_cache_version(self):
return (1,)
gpu_from_host = GpuFromHost() gpu_from_host = GpuFromHost()
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论