Investigate, implement and benchmark Vamana graph builder batch sizes reordering

Aberta
#419 1 comentário 0 reações 2 responsáveis Ver no GitHub

Mantenedores costumam responder em até 5 dias

@razdoburdin já está trabalhando nisso.

Desde 9/10/2026.

Avaliação

Esta issue ainda não foi avaliada.

Descrição

Claude suggested the following to address Dmitry's comment. It also requires <numeric>.

        // Grow batches geometrically so early inserts can see each other in the sparse
        // graph; otherwise a batch collapses onto one hub whose pruning orphans nodes.
        // Holds batch sizes until the prefix sum below turns them into bounds.
        std::vector<size_t> batch_bounds;
        // Bound: ramp-up batches + full-size batches + leading 0.
        batch_bounds.reserve(std::bit_width(batchsize) + num_batches + 1);
        batch_bounds.push_back(0);
        for (size_t size = 1, inserted = 0; inserted < num_nodes;
             size = std::min(2 * size, batchsize)) {
            batch_bounds.push_back(std::min(num_nodes - inserted, size));
            inserted += batch_bounds.back();
        }
        // Only the final remainder batch can be smaller than its predecessor. Moving it
        // into the ramp keeps sizes non-decreasing.
        auto last = std::prev(batch_bounds.end());
        std::rotate(
            std::upper_bound(batch_bounds.begin(), last, *last), last, batch_bounds.end()
        );
        std::partial_sum(batch_bounds.begin(), batch_bounds.end(), batch_bounds.begin());

Originally posted by @mihaic in https://github.com/intel/ScalableVectorSearch/pull/405#discussion_r4189842666

Linguagem predominante
C++
Estrelas
241
Forks
48
Merge médio
4d 21h
PRs com merge (30d)
11

Preparar o ambiente

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 intel/ScalableVectorSearch

Todas as issues de intel/ScalableVectorSearch

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.