arrayfire / arrayfire/arrayfire-dotnet

Error in ar_topk

未关闭
#33 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
C#
星标
76
派生
19
PR 合并指标
30 天内没有已合并 PR

描述

Hello,
I made a TopK function in class Algorithm as below.
Then I created a random array by using Data.RandNormal(4, 225, 16, 292); and pass this array to TopK function with k=4, dim = 0, order = AF_TOPK_MAX.
An exception is happen with "Internal error" message.
Are there any limitation of topk in arrayfire like number of dimensions or number of elements in an dimension?
I do the same test in pytorch. It's work well.

namespace ArrayFire
{
public static class Algorithm
{
.
.
.
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static Array TopK(out Array indices, Array arr1, int k, int dim, af_topk_function order)
{
IntPtr ptr;
IntPtr idx;
Internal.VERIFY(AFStatistics.af_topk(out ptr, out idx, arr1._ptr, k, dim, order));
indices = new Array(idx);
return new Array(ptr);
}
}
}

public Form1()
{
InitializeComponent();
Device.SetBackend(Backend.CUDA);
try
{
var arr1 = Data.RandNormal(4, 225, 16, 292);
ArrayFire.Array indices = null;
var output = Algorithm.TopK(out indices, arr1, 4, 0, ArrayFire.Interop.af_topk_function.AF_TOPK_MAX);
}
catch (Exception ex) { }
Debug.WriteLine("Done!!");
}

贡献指南

这个仓库没有索引到贡献指南

调研方向

Reproduce the reported C# call using Data.RandNormal(4, 225, 16, 292), Device.SetBackend(Backend.CUDA), and Algorithm.TopK with k=4 and dim=0. Start at the AFStatistics.af_topk invocation and determine whether the shape or arguments trigger the internal error; done means the limitation or wrapper failure is identified and documented or corrected.

由索引模型根据 Issue 内容生成。

评估

技术栈
csharp
领域
backend
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。