arrayfire flip выдает исключение

Я пытаюсь перевернуть матрицу размера [249 1 50 20], это код:

array flipped_delta = flip(delta, 0);

Я получаю следующее исключение:

Unhandled exception at 0x00000001801FCA92 (libafcu.dll) in r.exe: 0xC0000094: Integer division by zero.

Я пытаюсь перевернуть с помощью flip(delta, 2), тогда я получаю:

c:\var\lib\hudson\workspace\build-win64-master\jacket\src\cuda\../common/flip.cp
p:47: CUDA runtime error: invalid configuration argument (9)

Что я делаю не так? Спасибо.


person Ran    schedule 30.01.2014    source источник
comment
Где ваш тестовый пример?   -  person Lightness Races in Orbit    schedule 30.01.2014
comment
Пробник чего? это одна строка кода. У меня есть матрица заданного размера, и я пытаюсь ее перевернуть. Не усложняйте это.   -  person Ran    schedule 30.01.2014
comment
Перейдите по ссылке, чтобы узнать. Вы должны были создать автономный минимальный пример, который воспроизводит проблему, для вашей собственной отладки, прежде чем публиковать здесь. Когда вы делаете публикацию здесь, вы публикуете тестовый пример. Одной строки кода недостаточно, чтобы понять, что вы делаете. Что делать, если вы неправильно настраиваете массив? Я ничего не усложняю: хотите верьте, хотите нет, но у меня есть небольшой опыт как в отладке программных проблем, так и в помощи другим делать то же самое. (Другая ссылка: kera.name/articles/2013/10 /никто-не пишет-тестовые-больше)   -  person Lightness Races in Orbit    schedule 30.01.2014


Ответы (1)


Я не знаком с ArrayFire, но беглый взгляд на документацию показывает, что размерность 0 находится вдоль вертикальной оси, но у вас есть только одна строка, поэтому переворачивать нечего. Следовательно, это может быть ошибкой в ​​​​обработке этого случая, когда вместо этого я ожидаю отсутствия операции.

Попробуйте с размером 1 (по горизонтали):

array flipped_delta = flip(delta, 1);

Отказ от ответственности: фактически индексы параметров работают в ArrayFire так, а могут и не быть.

person Lightness Races in Orbit    schedule 30.01.2014
comment
Он терпит неудачу во всех измерениях, которые я пробовал (0,1,2). Похоже, вы правы, и это ошибка. - person Ran; 30.01.2014