Inconsistent gdr read latency
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- c
- 領域
- performance
調査の方向性
No source file or test is named. Start by reproducing the reported 3 KB, 100-read benchmark with the stated gdr mapping, page-locked host memory, alignment, and CU_POINTER_ATTRIBUTE_SYNC_MEMOPS settings; then inspect the gdr_copy_from_bar SSE4_1 implementation mentioned in the report. Done means identifying the cause of the alternating latency and documenting or correcting the behavior.
索引モデルが issue の本文から書いたものです。
説明
I have a memory allocator based on gdr which initially allocates a large chunk of gdr memory (e.g. 16 MB) and then allocates pieces of this chunk to the subsequent memory requests. During performance benchmarking, I noticed that the read latency of the same memory size fluctuates quite significantly and I can't understand why. For example, if I allocate 3KB memory read 100 times and do the same thing again and again, the average read time fluctuates between 4.5 us and 70 us (i.e. 4.5 -> 70 -> 4.5 -> 70 ...) even though the same piece of memory is allocated for every 100 reads.
Here are some details regarding my settings:
- I have set CU_POINTER_ATTRIBUTE_SYNC_MEMOPS to 1 for the entire chunk using cuPointerSetAttribute.
- The api reports "using SSE4_1 implementation of gdr_copy_from_bar" for read operation.
- The data is read into page-locked host memory allocated using cudaMallocHost.
- Both the gdr-mapped source pointer and the destination pointer are 128-bit aligned.
- The write latency is quite consistent.
- 主要言語
- C
- スター
- 1.4k
- フォーク
- 198
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
NVIDIA/gdrcopy のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
Proposal: honor `TMPDIR` in gdrcopy package build scripts対応中かも @efegokdemir が 53 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 58/100
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信
-
SPIDevice selects an active-high device as soon as it is created対応中かも @mikeysklar が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
adafruit/circuitpython#11869 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
gnif/LookingGlass#1352 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
kovidgoyal/kitty#10862 ·
メンテナーはふだん 1 日以内に返信