提交 1d2aa9a4 authored 作者: Shawn Tan's avatar Shawn Tan

Changing `k` from `long` to `ga_ssize`.

上级 3efd4b7a
...@@ -1611,9 +1611,9 @@ class GpuEye(GpuKernelBase, Op): ...@@ -1611,9 +1611,9 @@ class GpuEye(GpuKernelBase, Op):
def gpu_kernels(self, node, name): def gpu_kernels(self, node, name):
code = """ code = """
KERNEL void eye(GLOBAL_MEM %(ctype)s *a, ga_size n, ga_size m, ga_long k) { KERNEL void eye(GLOBAL_MEM %(ctype)s *a, ga_size n, ga_size m, ga_ssize k) {
ga_long col_off = max(k, (ga_long) 0); ga_ssize col_off = max(k, (ga_ssize) 0);
ga_long row_off = -min(k, (ga_long) 0); ga_ssize row_off = -min(k, (ga_ssize) 0);
if (row_off < n && col_off < m) { if (row_off < n && col_off < m) {
ga_size nb = (ga_size) min(n - row_off, m - col_off); ga_size nb = (ga_size) min(n - row_off, m - col_off);
for (ga_size i = LID_0; i < nb; i += LDIM_0) { for (ga_size i = LID_0; i < nb; i += LDIM_0) {
...@@ -1624,7 +1624,7 @@ KERNEL void eye(GLOBAL_MEM %(ctype)s *a, ga_size n, ga_size m, ga_long k) { ...@@ -1624,7 +1624,7 @@ KERNEL void eye(GLOBAL_MEM %(ctype)s *a, ga_size n, ga_size m, ga_long k) {
name=name, write_a=write_w(self.dtype)) name=name, write_a=write_w(self.dtype))
return [Kernel( return [Kernel(
code=code, name="eye", code=code, name="eye",
params=[gpuarray.GpuArray, gpuarray.SIZE, gpuarray.SIZE, 'int64'], params=[gpuarray.GpuArray, gpuarray.SIZE, gpuarray.SIZE, gpuarray.SSIZE],
flags=Kernel.get_flags(self.dtype), flags=Kernel.get_flags(self.dtype),
objvar='k_eye_' + name)] objvar='k_eye_' + name)]
...@@ -1639,7 +1639,7 @@ KERNEL void eye(GLOBAL_MEM %(ctype)s *a, ga_size n, ga_size m, ga_long k) { ...@@ -1639,7 +1639,7 @@ KERNEL void eye(GLOBAL_MEM %(ctype)s *a, ga_size n, ga_size m, ga_long k) {
s = """ s = """
size_t dims[2] = {0, 0}; size_t dims[2] = {0, 0};
size_t ls, gs; size_t ls, gs;
long k; ssize_t k;
int err; int err;
dims[0] = ((dtype_%(n)s*)PyArray_DATA(%(n)s))[0]; dims[0] = ((dtype_%(n)s*)PyArray_DATA(%(n)s))[0];
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论