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