Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Error in ar_topk

Open
#33 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
csharp
Domain
backend

Research direction

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.

Written by the indexing model from the issue text.

Description

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<float>(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!!");
    }
Dominant language
C#
Stars
76
Forks
19
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from arrayfire/arrayfire-dotnet

All issues in arrayfire/arrayfire-dotnet

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.