CPU (Central Processing Unit) เป็นหัวใจคอมพิวเตอร์ ประมวลผลงานทั่วไป (General Purpose) แต่มีข้อจำกัดในการคำนวณแบบขนาน (Parallel Processing) GPU (Graphics Processing Unit) ถูกออกแบบมาเพื่อ ประมวลผลแบบขนานขนาดใหญ่ (Massive Parallelism) ทำให้เหมาะกับงานที่ต้องคำนวณซ้ำๆ หลายล้านครั้งพร้อมกัน
นอกจาก Gaming แล้ว GPU กลายเป็น "Accelerator" สำคัญในหลายสาขา:
1. Video Acceleration (Encode/Decode/Transcode)
- Hardware Decode: เล่นวิดีโอ 4K/8K HEVC, VP9, AV1 แบบ Smooth ไม่ทำให้ CPU 100% (NVIDIA NVDEC, AMD VCN, Intel Quick Sync)
- Hardware Encode (NVENC / VCE / QSV): สตรีมเกม (OBS, Streamlabs), บันทึก Gameplay, Transcode วิดีโอ (HandBrake, FFmpeg) เร็วกว่า CPU หลายเท่า คุณภาพดี
- Video Editing: Premiere Pro, DaVinci Resolve, After Effects ใช้ GPU เร่ง Timeline Scrubbing, Effects, Export (Mercury Playback Engine, CUDA/OpenCL/Metal)
2. General Purpose GPU Computing (GPGPU)
โปรแกรมที่เขียนให้รันบน GPU ผ่าน API ต่างๆ:
- CUDA (NVIDIA Only): Deep Learning (TensorFlow, PyTorch), Scientific Computing, Rendering (OptiX), HPC
- OpenCL (Open Computing Language): มาตรฐานเปิด (Khronos) รันบน NVIDIA, AMD, Intel, ARM ได้ แอป: Blender (Cycles), Darktable, Hashcat, Folding@home
- DirectCompute / Vulkan Compute / Metal: API อื่นสำหรับ Compute Shader
3. 3D Rendering & Content Creation
- GPU Render Engines: Octane, Redshift, V-Ray GPU, Cycles (Blender), Arnold GPU - เร็วกว่า CPU Rendering มาก (Real-time Feedback)
- Viewport Performance: จัดการ Polygon ล้านๆ ใน Blender, Maya, 3ds Max, Cinema 4D ได้ลื่น
4. AI / Machine Learning / Deep Learning
- Training: Tensor Cores (RTX 20/30/40 Series) เร่ง Matrix Multiplication (FP16, TF32, BF16, FP8)
- Inference: TensorRT, ONNX Runtime, Triton Inference Server ใช้ GPU ใน Production
- Generative AI: Stable Diffusion, LLMs (LLaMA, Vicuna) รันบน Consumer GPU (VRAM 8GB-24GB) ได้ผ่าน Quantization (4-bit, 8-bit)
5. Cryptocurrency Mining (ประวัติศาสตร์และปัจจุบัน)
GPU ใช้คำนวณ Hash (SHA-256, Ethash, KawPow, RandomX) สำหรับ Blockchain Consensus (Proof of Work)
- Ethereum Merge (Sep 2022) ย้ายไป Proof-of-Stake → GPU Mining Ethereum หยุดสิ้นสุด
- ยังมี Coin อื่นๆ (Ravencoin, Ergo, Kaspa, Alephium) แต่กำไรต่ำกว่าเดิมมาก
- ⚠️ Mining ทำให้ GPU ทำงาน 100% 24/7 อาจสั่งชีวิต VRAM/Power Phase สั้นลง
6. Distributed Computing (Folding@home, Rosetta@home, BOINC)
บริจาคพลังคำนวณ GPU ช่วยวิจัยโรค (Protein Folding, COVID-19, Cancer, Alzheimer's) NVIDIA CUDA และ OpenCL ทั้งคู่รองรับ
7. OpenCL: มาตรฐานเปิดสำหรับ Heterogeneous Computing
OpenCL (Open Computing Language) รวม CPU, GPU, FPGA, DSP ในแพลตฟอร์มเดียว เขียนโค้ดครั้งเดียว รันบนฮาร์ดแวร์ต่างได้ (Write once, run anywhere) เป็นพื้นฐานของ SYCL, oneAPI, Vulkan Compute
อะไรกำลังขวาด GPU Compute? (Challenges)
- Programming Complexity: ต้องเขียน Kernel แยก จัดการ Memory (VRAM ↔ RAM) เอง ไม่เหมือน CPU ที่มี Virtual Memory
- Vendor Lock-in (CUDA): ระบบนิเวศ CUDA ปิด (Proprietary) ใช้ได้แค่ NVIDIA → AMD/Intel ต้องพึ่ง ROCm, oneAPI, OpenCL, SYCL
- Data Transfer Overhead: PCIe Bandwidth เป็นขวดคอ (Bottleneck) สำหรับข้อมูลใหญ่
- Debug/Profiling Tools: ยากกว่า CPU (Nsight Compute, ROCm Profiler, VTune)
อนาคต: Unified Memory, CXL, Chiplets
Apple Silicon (Unified Memory), AMD APU, Intel Xe/HPC, NVIDIA Grace Hopper (GH200) - ทิศทางไปสู่ Heterogeneous Computing แบบ Unified Memory CPU/GPU แชร์ Memory Pool เดียวกัน ลด Overhead Copy เพิ่มประสิทธิภาพ