[BUG] CAGRA multi-CTA and multi-kernel search over-allocate the hashmap they use
メンテナーはふだん 2 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 70/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- cpp
- 領域
- performance, search
調査の方向性
cpp/src/neighbors/detail/cagra/search_plan.cuh の calc_hashmap_params から始めてください。ここではハッシュマップのサイズをバイト単位で計算しています。search_single_cta.cuh(209〜210行目付近)の single-CTA プランと比較してください。こちらはリサイズの前にバイトを要素数に変換しています。次に、search_multi_cta.cuh(188行目付近)と search_multi_kernel.cuh(371行目付近)の対応する resize 呼び出しを確認してください。両方のパスが要素数を渡し、割り当てサイズが縮小することを確認できれば完了です。再現スクリプトはまだ実行していないため、編集する前にサイズを確認してください。
索引モデルが issue の本文から書いたものです。
説明
Describe the bug
search_plan_impl::calc_hashmap_params stores the size of the global hashmap in bytes (search_plan.cuh#L375):
hashmap_size = sizeof(INDEX_T) * max_queries * hashmap::get_size(hash_bitlen);
hashmap is a lightweight_uvector<INDEX_T> (#L157), whose resize takes an element count and allocates new_size * sizeof(T) bytes from the workspace resource (#L62-L68). The single-CTA plan converts the size to an element count before resizing (search_single_cta.cuh#L209-L210). The multi-CTA and multi-kernel plans pass the byte count as if it were element count:
So both allocate 4x the table for uint32_t indices.
3/4 of each allocation is never touched.
Expected behavior
All functions should use the right units
- 主要言語
- Cuda
- スター
- 869
- フォーク
- 243
- 平均マージ
- 3日 11時間
- マージ済み PR(30日)
- 73
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
NVIDIA/cuvs のほかの issue
-
[BUG] cuVS Bench Faiss CAGRA b_ratio reads the wrong JSON key対応中かも @arcusbuilds が 18 日前に担当しました。 オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 2 日以内に返信
-
doc
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 2 日以内に返信
-
faiss improvement
難易度 1/5 1時間未満 初心者へのやさしさ 86/100
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 2 日以内に返信
-
[DOC] Lucene: clarify codec behavior and Java test commands対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 2 日以内に返信
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 2 日以内に返信
-
good first issue gpu serve
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
type/automation type/performance
難易度 1/5 1時間未満 初心者へのやさしさ 70/100
メンテナーはふだん 2 日以内に返信
-
WebGPU: downscaled images ignore their mip chain (sampler LodMaxClamp is 0)対応中かも @ramezgerges が今日担当しました。 オープンkind/bug triage/untriaged
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
unoplatform/uno#25583 ·
メンテナーはふだん 1 日以内に返信