소비자용 Nvidia 그래픽카드에서 PCI-E P2P를 활성화하면 생각보다 큰 성능 향상을 얻을 수 있음
enabling PCI-E p2p for consumer Nvidia cards will yield you more than you think
핵심 요약
VLLM 환경에서 소비자용 Nvidia GPU의 PCI-E P2P를 활성화하여 프롬프트 처리 성능을 대폭 향상시키는 방법과 벤치마크 결과를 공유합니다.
- 성능 향상 — P2P 활성화 시 프롬프트 처리(PP) 속도가 약 25% 증가함.
- 설정 방법 — ReBAR 활성화, 패치된 드라이버 설치, VLLM 환경 변수 설정이 필요함.
- 호환성 — Linux 환경에서만 가능하며, 하드웨어 수준의 ReBAR 지원이 필수임.
- 벤치마크 — Qwen 27B 모델 테스트 결과 P2P 사용 시 유의미한 속도 개선 확인됨.
면책 조항 - 이 글/노트 작성에 LLM은 전혀 사용되지 않음
내 셋업에 관한 자세한 글은 나중에 올릴 예정이지만, VLLM이랑 GPU 2개 이상 쓰는 형들을 위해 미리 팁 하나 던져줌.
내 서버 사양이 좀 빵빵한 편인데, 8채널 AMD EPYC에 RAM 대역폭은 150GB/s 정도 나오고, 4060Ti 16GB 4개를 PCI-E 4.0 8x 모드로 돌리고 있음.
CPU도 빵빵하고 RAM 대역폭도 높아서 병목 현상도 없으니, p2p 건드려봤자 차이 좆도 없겠지?
나도 그렇게 생각했는데, 똑같은 테스트 두 번 돌린 결과 보고 가라.
테스트 프롬프트:
llama-benchy --base-url http://localllm/v1 --model localllm --depth 0 4096 8192 16384 32768 --latency-mode generation
1) p2p 안 썼을 때:
| model | test | t/s | peak t/s | ttfr (ms) | est_ppt (ms) | e2e_ttft (ms) |
|:---------|----------------:|----------------:|---------------:|-----------------:|-----------------:|-----------------:|
| localllm | pp2048 | 1648.96 ± 8.49 | | 1241.77 ± 8.66 | 1131.60 ± 8.66 | 1241.77 ± 8.66 |
| localllm | tg32 | 89.86 ± 7.05 | 92.76 ± 7.28 | | | |
| localllm | pp2048 @ d4096 | 1654.51 ± 6.44 | | 3504.72 ± 11.71 | 3394.55 ± 11.71 | 3504.72 ± 11.71 |
| localllm | tg32 @ d4096 | 102.98 ± 3.95 | 106.30 ± 4.08 | | | |
| localllm | pp2048 @ d8192 | 1631.74 ± 10.72 | | 5821.87 ± 82.46 | 5711.71 ± 82.46 | 5821.87 ± 82.46 |
| localllm | tg32 @ d8192 | 109.27 ± 4.42 | 112.79 ± 4.56 | | | |
| localllm | pp2048 @ d16384 | 1601.33 ± 3.18 | | 10502.40 ± 46.13 | 10392.23 ± 46.13 | 10502.94 ± 46.27 |
| localllm | tg32 @ d16384 | 98.61 ± 5.01 | 116.87 ± 5.94 | | | |
| localllm | pp2048 @ d32768 | 1544.66 ± 1.10 | | 20598.44 ± 65.95 | 20488.27 ± 65.95 | 20598.44 ± 65.95 |
| localllm | tg32 @ d32768 | 93.24 ± 15.89 | 122.15 ± 15.63 | |
2) p2p 켰을 때:
| model | test | t/s | peak t/s | ttfr (ms) | est_ppt (ms) | e2e_ttft (ms) |
|:---------|----------------:|----------------:|---------------:|-----------------:|-----------------:|-----------------:|
| localllm | pp2048 | 2305.20 ± 49.73 | | 913.50 ± 27.47 | 808.72 ± 27.47 | 913.50 ± 27.47 |
| localllm | tg32 | 97.92 ± 8.26 | 101.07 ± 8.53 | | | |
| localllm | pp2048 @ d4096 | 2268.40 ± 6.48 | | 2615.57 ± 28.00 | 2510.79 ± 28.00 | 2615.57 ± 28.00 |
| localllm | tg32 @ d4096 | 103.60 ± 9.04 | 106.95 ± 9.33 | | | |
| localllm | pp2048 @ d8192 | 2214.54 ± 8.39 | | 4307.55 ± 49.46 | 4202.77 ± 49.46 | 4312.27 ± 55.30 |
| localllm | tg32 @ d8192 | 122.88 ± 5.89 | 126.84 ± 6.09 | | | |
| localllm | pp2048 @ d16384 | 2164.10 ± 8.34 | | 7809.37 ± 73.29 | 7704.59 ± 73.29 | 7809.37 ± 73.29 |
| localllm | tg32 @ d16384 | 111.51 ± 7.92 | 125.93 ± 3.14 | | | |
| localllm | pp2048 @ d32768 | 2082.02 ± 3.86 | | 15224.08 ± 21.55 | 15119.30 ± 21.55 | 15224.08 ± 21.55 |
| localllm | tg32 @ d32768 | 96.02 ± 7.55 | 136.62 ± 24.75 | | | |

