【问题标题】:arrayfire flip throws exceptionarrayfire翻转抛出异常
【发布时间】:2014-01-30 10:34:50
【问题描述】:

我正在尝试翻转大小为 [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)

我做错了什么? 谢谢。

【问题讨论】:

  • 你的testcase在哪里?
  • 什么的测试用例?这是一行代码。我有一个给定大小的矩阵,我尝试翻转它。不要过于复杂。
  • 点击链接查找。您应该创建一个独立的、最小的示例来重现该问题,以便您自己调试,甚至在此处发布之前。当您在此处 发布时,您发布了测试用例。一行代码不足以看到你在做什么。如果阵列设置错误怎么办?这不是“过于复杂”任何事情:信不信由你,我在调试编程问题和帮助其他人做同样的事情方面都有一点经验。 (另一个链接:kera.name/articles/2013/10/nobody-writes-testcases-any-more

标签: c++ arrayfire


【解决方案1】:

我不知道 ArrayFire,但快速浏览一下文档表明维度 0 是沿垂直轴的,但您只有一行,所以没有什么可以翻转的。因此,在处理这种情况时,这可能是一个错误,我希望它是空操作。

尝试使用维度 1(水平):

array flipped_delta = flip(delta, 1);

免责声明:这可能实际上是维度索引在 ArrayFire 中的工作方式。

【讨论】:

  • 它在我尝试的所有维度 (0,1,2) 中都失败了。看起来你是对的,这是一个错误。
猜你喜欢
  • 2013-05-24
  • 2011-01-28
  • 1970-01-01
  • 2011-05-30
  • 1970-01-01
  • 1970-01-01
  • 2011-02-25
相关资源
最近更新 更多