Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Error in ar_topk

Aberta
#33 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
csharp
Domínio
backend

Direção de pesquisa

Reproduza a chamada C# relatada usando Data.RandNormal(4, 225, 16, 292), Device.SetBackend(Backend.CUDA) e Algorithm.TopK com k=4 e dim=0. Comece na invocação de AFStatistics.af_topk e determine se o shape ou os argumentos acionam o erro interno; considera-se concluído quando a limitação ou a falha do wrapper tiver sido identificada e documentada ou corrigida.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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!!");
    }
Linguagem predominante
C#
Estrelas
76
Forks
19
Métricas de merge de PRs
Nenhum PR com merge em 30d

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de arrayfire/arrayfire-dotnet

Todas as issues de arrayfire/arrayfire-dotnet

Issues semelhantes

Mais issues de C#

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.