提交 607bf90c authored 作者: Frederic's avatar Frederic

[CRASH] Make GpuAdvancedSubtensor1 work with an empty list of indices.

fix gh-2065
上级 57496c6c
......@@ -1140,6 +1140,13 @@ CudaNdarray_TakeFrom(CudaNdarray * self, PyObject *args){
}
dim3 n_blocks(std::min(CudaNdarray_HOST_DIMS(out)[0],65535),1,1);
if(CudaNdarray_HOST_DIMS(out)[0] == 0){
// We take 0 elements, so no need for the rest of the code.
// This speed up that case AND fix crash otherwise.
free(dims);
Py_DECREF(indices);
return (PyObject *)out;
}
switch (self->nd) {
case 1:
......
......@@ -967,6 +967,8 @@ class T_subtensor(theano.tensor.tests.test_subtensor.T_subtensor):
# version when we should. Users should not use it.
for shape, idx, fast in [((70000,), range(70000), True),
((70000, 5), range(70000), True),
((70000, 5), numpy.zeros((0,), 'int64'),
True),
((70000, 2, 3), range(70000), True),
((1025, 1025), [5, 10], True),
((3, 1025, 1026), [1, 2], True),
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论