提交 16f37f44 authored 作者: Sean Lee's avatar Sean Lee

Move the definition of ceil_intdiv to c_support_code.

上级 0a4ca26c
...@@ -144,19 +144,21 @@ class GpuKernelBase(object): ...@@ -144,19 +144,21 @@ class GpuKernelBase(object):
def _generate_kernel_vars(self, k): def _generate_kernel_vars(self, k):
return """static GpuKernel %(kname)s;""" % dict(kname=k.objvar) return """static GpuKernel %(kname)s;""" % dict(kname=k.objvar)
def c_support_code_apply(self, node, name): def c_support_code(self):
ceil_intdiv = """ return """
template <typename T> template <typename T>
static T ceil_intdiv(T a, T b) static T ceil_intdiv(T a, T b)
{ {
return (a/b) + ((a % b) ? 1: 0); return (a/b) + ((a % b) ? 1: 0);
} }
""" """
def c_support_code_apply(self, node, name):
kernels = self.gpu_kernels(node, name) kernels = self.gpu_kernels(node, name)
bins = '\n'.join(self._generate_kernel_bin(k) for k in kernels) bins = '\n'.join(self._generate_kernel_bin(k) for k in kernels)
codes = '\n'.join(self._generate_kernel_code(k) for k in kernels) codes = '\n'.join(self._generate_kernel_code(k) for k in kernels)
vars = '\n'.join(self._generate_kernel_vars(k) for k in kernels) vars = '\n'.join(self._generate_kernel_vars(k) for k in kernels)
return '\n'.join([ceil_intdiv, bins, codes, vars]) return '\n'.join([bins, codes, vars])
def _generate_kernel_init(self, k, err): def _generate_kernel_init(self, k, err):
if PY3: if PY3:
......
...@@ -330,11 +330,6 @@ class GpuConv(GpuKernelBase, gof.Op): ...@@ -330,11 +330,6 @@ class GpuConv(GpuKernelBase, gof.Op):
code = code.replace('"', '\\"') code = code.replace('"', '\\"')
code = code.replace('\n', '\\n') code = code.replace('\n', '\\n')
mod = """ mod = """
template <typename T>
static T ceil_intdiv(T a, T b)
{
return (a/b) + ((a %% b) ? 1: 0);
}
static const char conv_bcode[] = {%(bcode)s}; static const char conv_bcode[] = {%(bcode)s};
static const char *conv_code = "%(code)s"; static const char *conv_code = "%(code)s";
""" % locals() """ % locals()
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论