提交 fa07ccf6 authored 作者: Arnaud Bergeron's avatar Arnaud Bergeron

Restrict cuDNN reduction to contiguous inputs.

上级 c470bd38
......@@ -61,6 +61,11 @@ int APPLY_SPECIFIC(dnn_redux)(PyGpuArrayObject *input,
static float fbeta = 0.0f;
static double dbeta = 0.0;
if (!GpuArray_IS_C_CONTIGUOUS(&input->ga)) {
PyErr_SetString(PyExc_ValueError, "Only contiguous inputs are supported.");
return 1;
}
if (c_set_tensorNd(input, APPLY_SPECIFIC(input)) != 0)
return 1;
......
......@@ -1682,6 +1682,7 @@ class GpuDnnReduction(DnnBase):
def make_node(self, inp):
ctx_name = infer_context_name(inp)
inp = as_gpuarray_variable(inp, ctx_name)
inp = gpu_contiguous(inp)
if inp.ndim > 8:
raise ValueError("cuDNN reduction doesn't support nd > 8")
assert inp.dtype in ['float16', 'float32', 'float64']
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论