รายงานผลการทดสอบเชิงลึก: Dual GPU ข้ามสถาปัตยกรรม AMD Radeon RX 9070 XT (RDNA 4) + RX 6800 XT (RDNA 2)
ประเภท: Benchmark · วันที่: 3 ตุลาคม 2026
เปรียบเทียบประสิทธิภาพ ความเสถียร และพฤติกรรมเชิงลึกแบบ 3 backend: Vulkan vs ROCm 7 vs ROCm 10 บนโมเดล Qwen3.8-27B และ Qwen3.6-35B-A3B
1. บทนำและวัตถุประสงค์การทดสอบ
หัวข้อที่มีชื่อว่า “1. บทนำและวัตถุประสงค์การทดสอบ”การใช้งาน Large Language Model (LLM) ขนาดใหญ่บนพีซีทั่วไปมักเผชิญกับข้อจำกัดด้านขนาดหน่วยความจำ VRAM บนการ์ดจอใบเดียว การเชื่อมต่อ Dual GPU ข้ามเจเนอเรชัน (Cross-Generation / Asymmetric Multi-GPU) เช่น การผสานการ์ดจอสถาปัตยกรรมใหม่ล่าสุด AMD Radeon RX 9070 XT (RDNA 4) เข้ากับการ์ดจอเดิม AMD Radeon RX 6800 XT (RDNA 2) เพื่อรวม VRAM เป็น 32 GB จึงเป็นแนวทางที่คุ้มค่าและน่าสนใจอย่างยิ่ง
รายงานฉบับนี้จัดทำขึ้นเพื่อบันทึกและวิเคราะห์ผลการทดสอบเชิงประจักษ์อย่างรอบคอบ โดยใช้ PromptMark v0.4.0 เพื่อเปรียบเทียบการทำงานระหว่าง 3 Backend หลัก:
- Vulkan Backend (Build 10566)
- ROCm 7 Backend (Build 10370 Multi-arch)
- ROCm 10 Backend (Build 10362 Multi-target SDK)
ผ่าน 2 โมเดลที่มีสถาปัตยกรรมต่างกันอย่างสิ้นเชิง:
Qwen3.8-27B-Q4_K_M: โมเดลแบบ Dense Parameter ขนาด 27 พันล้านพารามิเตอร์Qwen3.6-35B-A3B-Q4_K_M: โมเดลแบบ Sparse Mixture-of-Experts (MoE) ขนาดรวม 35 พันล้านพารามิเตอร์ (Active เพียง 3 พันล้านพารามิเตอร์ต่อโทเคน)
2. สภาพแวดล้อมและระเบียบวิธีทดสอบ (Test Setup & Methodology)
หัวข้อที่มีชื่อว่า “2. สภาพแวดล้อมและระเบียบวิธีทดสอบ (Test Setup & Methodology)”2.1 ข้อมูลฮาร์ดแวร์ (Hardware Topology)
หัวข้อที่มีชื่อว่า “2.1 ข้อมูลฮาร์ดแวร์ (Hardware Topology)”- GPU 0 (
Device 0): AMD Radeon RX 9070 XT- สถาปัตยกรรม: RDNA 4 (
gfx1200) - VRAM: 16,304 MiB GDDR6
- สถาปัตยกรรม: RDNA 4 (
- GPU 1 (
Device 1): AMD Radeon RX 6800 XT- สถาปัตยกรรม: RDNA 2 (
gfx1030) - VRAM: 16,368 MiB GDDR6
- สถาปัตยกรรม: RDNA 2 (
- รวม VRAM ทั้งระบบ: ~32 GB (รองรับการโหลดโมเดล 27B–35B พร้อมบริบท 12K tokens ได้ 100% บน VRAM)
- โหมดการกระจายโมเดล: Layer Split (
--split-mode layer,--fit off, Offload ลง GPU ทั้งหมด-ngl 999)
2.2 ซอฟต์แวร์และ Backend Runtimes
หัวข้อที่มีชื่อว่า “2.2 ซอฟต์แวร์และ Backend Runtimes”- PromptMark Version:
v0.4.0 - Vulkan Runtime:
promptmark-b10566-vulkan(llama.cpp v0.2.0-dev, Build 10566, Clang 20.1.8) - ROCm 7 Runtime:
promptmark-b10370-rocm(ROCm 7.14 Multi-arch, Build 10370, Clang 23.0.0) - ROCm 10 Runtime:
b10362-rocm10-gfx1201(AMD ROCm 10 Core SDK & LLVM Toolchain Multi-target, Build 10362, Clang 23.0.0)
2.3 ระเบียบการทดสอบ (Benchmark Protocol)
หัวข้อที่มีชื่อว่า “2.3 ระเบียบการทดสอบ (Benchmark Protocol)”- การควบคุมตัวแปร: ปิด Prompt Cache (
--no-cache-prompt) และไม่ใช้ Context Shift เพื่อวัดพลังการคำนวณสดของฮาร์ดแวร์ (Fresh Prompt) ทุกรอบ - รอบการทดสอบ: 1 Warm-up Run + 5 Measured Runs ต่อ 1 เวิร์กโหลด (รันสลับแบบ Round-Robin รวม 36 ครั้งต่อโมเดลต่อ Backend) และประเมินผลด้วยค่ามัธยฐาน (Median)
- 6 ชุดเวิร์กโหลดมาตรฐาน:
Content Generation / 512-256(Input 512 / Output 256) — งานเขียนคอนเทนต์ทั่วไปCreative Writing / 512-512(Input 512 / Output 512) — งานเขียนเชิงสร้างสรรค์ ขนาดยาวSummarization Light / 2K-256(Input 2048 / Output 256) — สรุปบทความขนาดสั้นSummarization Moderate / 4K-256(Input 4096 / Output 256) — สรุปเอกสารขนาดกลางSummarization Long / 8K-256(Input 8192 / Output 256) — สรุปเอกสารขนาดยาว (บริบท 8K)Code Analysis / 4K-256(Input 4096 / Output 256) — การวิเคราะห์โครงสร้างโค้ดโปรแกรม
3. ตารางสรุปผลการทดสอบ (Median Results)
หัวข้อที่มีชื่อว่า “3. ตารางสรุปผลการทดสอบ (Median Results)”3.1 ผลการทดสอบบน Vulkan Backend (Build 10566)
หัวข้อที่มีชื่อว่า “3.1 ผลการทดสอบบน Vulkan Backend (Build 10566)”บันทึกผลไว้ที่:
results/RDNA4-RDNA2-Vulkan
| โมเดล (Model) | ชุดเวิร์กโหลด (Workload) | Context (Input) | TTFT (s) | Prefill (tok/s) | Decode (tok/s) | E2E (s) | ความเสถียร (Valid Runs) |
|---|---|---|---|---|---|---|---|
| Qwen3.6-35B-A3B | Content Generation (512-256) | 512 | 0.448 s | 1,410.3 | 117.10 | 2.620 s | 5/5 PASS (100%) |
| (Active 3B MoE) | Creative Writing (512-512) | 512 | 0.438 s | 1,388.9 | 116.70 | 4.814 s | 5/5 PASS (100%) |
| Summarization Light (2K-256) | 2,048 | 1.138 s | 1,918.6 | 115.31 | 3.350 s | 5/5 PASS (100%) | |
| Summarization Moderate (4K-256) | 4,096 | 2.078 s | 2,069.9 | 113.95 | 4.316 s | 5/5 PASS (100%) | |
| Summarization Long (8K-256) | 8,192 | 4.357 s | 1,931.3 | 110.92 | 6.655 s | 5/5 PASS (100%) | |
| Code Analysis (4K-256) | 4,096 | 2.122 s | 2,044.9 | 113.73 | 4.364 s | 5/5 PASS (100%) | |
| Qwen3.8-27B | Content Generation (512-256) | 512 | 1.504 s | 400.2 | 27.55 | 10.761 s | 5/5 PASS (100%) |
| (Dense 27B) | Creative Writing (512-512) | 512 | 1.402 s | 402.4 | 27.56 | 19.942 s | 5/5 PASS (100%) |
| Summarization Light (2K-256) | 2,048 | 4.044 s | 525.7 | 27.24 | 13.407 s | 5/5 PASS (100%) | |
| Summarization Moderate (4K-256) | 4,096 | 7.447 s | 565.9 | 27.15 | 16.844 s | 5/5 PASS (100%) | |
| Summarization Long (8K-256) | 8,192 | 15.256 s | 546.5 | 26.69 | 24.809 s | 5/5 PASS (100%) | |
| Code Analysis (4K-256) | 4,096 | 7.508 s | 566.2 | 26.95 | 16.968 s | 5/5 PASS (100%) |
3.2 ผลการทดสอบบน ROCm 7 Backend (Build 10370 Multi-arch)
หัวข้อที่มีชื่อว่า “3.2 ผลการทดสอบบน ROCm 7 Backend (Build 10370 Multi-arch)”บันทึกผลไว้ที่:
results/RX9070XT-RX6800XT-ROCm7
| โมเดล (Model) | ชุดเวิร์กโหลด (Workload) | Context (Input) | TTFT (s) | Prefill (tok/s) | Decode (tok/s) | E2E (s) | ความเสถียร (Valid Runs) |
|---|---|---|---|---|---|---|---|
| Qwen3.6-35B-A3B | Content Generation (512-256) | 512 | 0.416 s | 1,687.0 | 95.24 | 3.104 s | 5/5 PASS |
| (Active 3B MoE) | Creative Writing (512-512) | 512 | 0.401 s | 1,670.8 | 95.21 | 5.779 s | 5/5 PASS |
| Summarization Light (2K-256) | 2,048 | 0.979 s | 2,356.1 | 94.45 | 3.679 s | 4/5 PASS (1 timing drop) | |
| Summarization Moderate (4K-256) | 4,096 | 1.642 s | 2,698.4 | 93.73 | 4.373 s | 5/5 PASS | |
| Summarization Long (8K-256) | 8,192 | 2.945 s | 2,940.4 | 92.11 | 5.715 s | 5/5 PASS | |
| Code Analysis (4K-256) | 4,096 | 1.652 s | 2,734.5 | 93.62 | 4.377 s | 5/5 PASS | |
| Qwen3.8-27B | Content Generation (512-256) | 512 | 1.245 s | 498.0 | 25.09 | 11.447 s | 4/5 PASS (1 timing drop) |
| (Dense 27B) | Creative Writing (512-512) | 512 | 1.196 s | 498.1 | 25.01 | 21.668 s | 1/5 PASS (4 timing drops) |
| Summarization Light (2K-256) | 2,048 | 3.350 s | 657.0 | 24.94 | 13.574 s | 1/5 PASS (4 timing drops) | |
| Summarization Moderate (4K-256) | 4,096 | 5.884 s | 729.3 | 24.70 | 16.215 s | 4/5 PASS (1 timing drop) | |
| Summarization Long (8K-256) | 8,192 | 11.103 s | 758.5 | 24.31 | 21.632 s | 2/5 PASS (3 timing drops) | |
| Code Analysis (4K-256) | 4,096 | 5.967 s | 729.1 | 24.70 | 16.278 s | 5/5 PASS |
3.3 ผลการทดสอบบน ROCm 10 Backend (Build 10362 Multi-target)
หัวข้อที่มีชื่อว่า “3.3 ผลการทดสอบบน ROCm 10 Backend (Build 10362 Multi-target)”บันทึกผลไว้ที่:
results/RX9070XT-RX6800XT-ROCm10
| โมเดล (Model) | ชุดเวิร์กโหลด (Workload) | Context (Input) | TTFT (s) | Prefill (tok/s) | Decode (tok/s) | E2E (s) | ความเสถียร (Valid Runs) |
|---|---|---|---|---|---|---|---|
| Qwen3.6-35B-A3B | Content Generation (512-256) | 512 | 0.439 s | 1,629.8 | 96.24 | 3.099 s | 5/5 PASS |
| (Active 3B MoE) | Creative Writing (512-512) | 512 | 0.399 s | 1,654.6 | 95.90 | 5.745 s | 4/5 PASS (1 timing drop) |
| Summarization Light (2K-256) | 2,048 | 1.000 s | 2,294.0 | 95.27 | 3.677 s | 5/5 PASS | |
| Summarization Moderate (4K-256) | 4,096 | 1.756 s | 2,588.9 | 94.26 | 4.433 s | 5/5 PASS | |
| Summarization Long (8K-256) | 8,192 | 3.061 s | 2,831.2 | 92.72 | 5.822 s | 5/5 PASS | |
| Code Analysis (4K-256) | 4,096 | 1.704 s | 2,617.2 | 94.16 | 4.417 s | 5/5 PASS | |
| Qwen3.8-27B | Content Generation (512-256) | 512 | 1.326 s | 485.2 | 25.60 | 11.324 s | 4/5 PASS (1 timing drop) |
| (Dense 27B) | Creative Writing (512-512) | 512 | 1.214 s | 487.8 | 25.50 | 21.281 s | 4/5 PASS (1 timing drop) |
| Summarization Light (2K-256) | 2,048 | 3.443 s | 637.1 | 25.46 | 13.470 s | 3/5 PASS (2 timing drops) | |
| Summarization Moderate (4K-256) | 4,096 | 6.104 s | 703.9 | 25.22 | 16.237 s | 3/5 PASS (2 timing drops) | |
| Summarization Long (8K-256) | 8,192 | 11.528 s | 729.5 | 24.83 | 21.817 s | 4/5 PASS (1 timing drop) | |
| Code Analysis (4K-256) | 4,096 | 6.186 s | 701.7 | 25.17 | 16.299 s | 4/5 PASS (1 timing drop) |
4. ตารางเปรียบเทียบ: Vulkan vs ROCm 7 vs ROCm 10
หัวข้อที่มีชื่อว่า “4. ตารางเปรียบเทียบ: Vulkan vs ROCm 7 vs ROCm 10”| มิติการประเมิน (Metrics) | Vulkan (b10566) | ROCm 7 (b10370) | ROCm 10 (b10362) | บทสรุปและการเปรียบเทียบ |
|---|---|---|---|---|
| Decode Speed (MoE 35B-A3B) | 110.9 – 117.1 tok/s | 92.1 – 95.2 tok/s | 92.7 – 96.2 tok/s | Vulkan ชนะ (+21.7% ถึง +23.0%) |
| Decode Speed (Dense 27B) | 26.7 – 27.6 tok/s | 24.3 – 25.1 tok/s | 24.8 – 25.6 tok/s | Vulkan ชนะ (+7.8% ถึง +9.8%) |
| Prefill Speed (MoE 8K) | 1,931.3 tok/s | 2,940.4 tok/s | 2,831.2 tok/s | ROCm 7 ชนะ (+52.2% เหนือ Vulkan) |
| Prefill Speed (Dense 8K) | 546.5 tok/s | 758.5 tok/s | 729.5 tok/s | ROCm 7 ชนะ (+38.8% เหนือ Vulkan) |
| TTFT ตอบสนองแรก (MoE 8K) | 4.36 s | 2.95 s | 3.06 s | ROCm 7 ไวกว่า ~1.4 วินาที |
| TTFT ตอบสนองแรก (Dense 8K) | 15.26 s | 11.10 s | 11.53 s | ROCm 7 ไวกว่า ~4.1 วินาที |
| ความเสถียร MoE (Valid Rate) | 30/30 (100% PASS) | 29/30 (96.7% PASS) | 29/30 (96.7% PASS) | Vulkan เสถียรสมบูรณ์แบบ 100% |
| ความเสถียร Dense (Valid Rate) | 30/30 (100% PASS) | 17/30 (56.7% PASS) | 22/30 (73.3% PASS) | Vulkan ไร้ปัญหา Sync Drift (ROCm หลุดบ่อย) |
5. บทวิเคราะห์เชิงลึกทางเทคนิค
หัวข้อที่มีชื่อว่า “5. บทวิเคราะห์เชิงลึกทางเทคนิค”5.1 ประเด็นสำคัญเรื่อง Code Object Targets ของ ROCm 10
หัวข้อที่มีชื่อว่า “5.1 ประเด็นสำคัญเรื่อง Code Object Targets ของ ROCm 10”- ข้อจำกัดของ Dedicated Build (
gfx1200): หากนำไบนารีที่คอมไพล์เจาะจง RDNA 4 (promptmark-b10362-rocm10-gfx1200) มารันบน Dual GPU ที่มี RDNA 2 ผสมอยู่ HIP Runtime จะ Crash ทันทีด้วยROCm error: device kernel image is invalidเนื่องจากตัวไบนารีไม่มี Code Object สำหรับgfx1030 - การแก้ไขด้วย Multi-target Binary: ต้องใช้ไบนารีแบบ Multi-target (
b10362-rocm10-gfx1201) ที่มี Code Object ครอบคลุมทั้งสองสถาปัตยกรรม จึงจะสามารถเริ่มต้นระบบและรันข้ามการ์ดจอได้
5.2 เปรียบเทียบ ROCm 10 vs ROCm 7
หัวข้อที่มีชื่อว่า “5.2 เปรียบเทียบ ROCm 10 vs ROCm 7”- ความเร็วใกล้เคียงกันมาก:
- ความเร็ว Decode ของ ROCm 10 อยู่ที่ 25.2 – 25.6 tok/s บน 27B และ 94.2 – 96.2 tok/s บน 35B-A3B ซึ่งใกล้เคียงกับ ROCm 7 มาก (เพิ่มขึ้นเพียง ~1–2%)
- ความเร็ว Prefill ของ ROCm 7 ยังคงเฉือนชนะ ROCm 10 เล็กน้อยในบริบทยาว 8K (2,940 tok/s vs 2,831 tok/s)
- ความเสถียรบน Dense Model ปรับปรุงขึ้นเล็กน้อย:
- ROCm 10 มีอัตรา Valid Run บน Qwen3.8-27B อยู่ที่ 73.3% (22/30) เทียบกับ ROCm 7 ที่ได้ 56.7% (17/30)
- อย่างไรก็ตาม ทั้ง ROCm 7 และ ROCm 10 ยังคงมีปัญหา Inter-GPU Synchronization Latency / Timing Drops เมื่อกระจายเลเยอร์ข้ามสถาปัตยกรรม
gfx1200+gfx1030
5.3 ชัยชนะเด็ดขาดของ Vulkan ในโหมด Asymmetric Multi-GPU
หัวข้อที่มีชื่อว่า “5.3 ชัยชนะเด็ดขาดของ Vulkan ในโหมด Asymmetric Multi-GPU”- Vulkan คือคำตอบของการผสานการ์ดจอต่างรุ่น: ด้วยโครงสร้าง SPIR-V Shaders และ Pipeline Memory Barrier ของไดรเวอร์ Vulkan บน Windows ทำให้การโอนถ่าย Tensor ข้ามการ์ดไม่มีปัญหา Numerical/Sync Drift และได้ Pass Rate 100% (30/30) ครบทุกโมเดลและทุกเวิร์กโหลด
- Decode Speed สูงสุด: Vulkan ให้ความเร็วในการสร้างคำตอบต่อเนื่องสูงสุดเสมอทั้งบน Dense และ MoE
6. ข้อสรุปและคำแนะนำในการเลือกใช้งาน (User Recommendations)
หัวข้อที่มีชื่อว่า “6. ข้อสรุปและคำแนะนำในการเลือกใช้งาน (User Recommendations)”| รูปแบบงาน (Use Case) | Backend ที่เหมาะสมที่สุด | เหตุผลเชิงประจักษ์ |
|---|---|---|
| การใช้งาน Dual GPU ต่างรุ่น (RX 9070 XT + RX 6800 XT) | Vulkan | เสถียร 100%, ไม่มีปัญหา Timing Drop, และ Decode Speed เร็วกว่า ~8–23% |
| งาน Chatbot, Coding Assistant, Real-time Interaction | Vulkan + MoE (Qwen3.6-35B-A3B) | รันได้ลื่นไหลระดับ ~117 tok/s ทันทีโดยไม่ต้องรอนาน |
| งาน Long Context / Batch Processing บนการ์ดจอเดี่ยว (Single GPU) | ROCm 7 / ROCm 10 | ดึงพลัง Prefill ได้สูงสุดถึง ~2,940 tok/s และได้ TTFT ที่สั้นที่สุด |