6 poin oleh GN⁺ 2025-08-21 | Belum ada komentar. | Bagikan ke WhatsApp
  • GPU memainkan peran inti dalam machine learning modern, dengan arsitektur yang menggabungkan banyak Streaming Multiprocessors (SMs) yang dioptimalkan untuk operasi perkalian matriks berkecepatan tinggi serta HBM (memori bandwidth tinggi)
  • SM pada GPU terbagi menjadi Tensor Core (perkalian matriks) dan CUDA Core (operasi vektor), yang mendukung komputasi paralel skala besar dan pemrograman yang fleksibel
  • GPU dan TPU berbeda dalam hal struktur internal dan konfigurasi jaringan; GPU memiliki fleksibilitas umum dan skalabilitas yang tinggi, tetapi memerlukan lebih banyak pertimbangan untuk mencapai performa optimal
  • Di dalam node, komunikasi antargpu berkecepatan sangat tinggi dimungkinkan melalui NVLink dan NVSwitch, sedangkan antar-node terhubung melalui jaringan seperti InfiniBand untuk mendukung pelatihan terdistribusi skala besar
  • Operasi kolektif (Collectives) pada GPU (misalnya AllReduce, AllGather, dll.) sangat dipengaruhi oleh struktur hardware dan lapisan jaringan, dan dalam praktiknya cenderung lebih rendah daripada bandwidth teoretis

Apa itu GPU?

  • GPU ML (machine learning) modern (misalnya H100, B200) terdiri dari puluhan hingga ratusan Streaming Multiprocessor (SM) yang dioptimalkan untuk operasi perkalian matriks, dipadukan dengan memori HBM yang cepat
  • Setiap SM memiliki Tensor Core (perkalian matriks), Warp Scheduler (operasi vektor), dan SMEM (cache on-chip)
  • Tidak seperti TPU, GPU memungkinkan pemrosesan paralel yang lebih fleksibel dan berskala besar melalui lebih dari 100 SM

Struktur detail SM

  • SM dibagi menjadi 4 subpartisi, dan setiap subpartisi memiliki Tensor Core, CUDA Core (operasi vektor), Warp Scheduler, register file, dan komponen lainnya
  • CUDA Core bertugas untuk operasi aritmetika vektor (SIMD/SIMT), sedangkan Tensor Core dioptimalkan untuk perkalian matriks
  • FLOPs Tensor Core jauh lebih besar, dan pada komputasi dengan presisi lebih rendah, kecepatan pemrosesannya menjadi lebih tinggi lagi
  • GPU terbaru (misalnya B200) menambahkan TMEM berukuran besar untuk mendukung input Tensor Core berkapasitas besar

Fleksibilitas CUDA Core

  • CUDA Core pada GPU menggunakan model SIMT (Single Instruction Multiple Threads), yang mengeksekusi satu instruksi secara paralel pada banyak thread
  • Setiap thread memiliki instruction pointer (program counter) yang independen sehingga memberikan fleksibilitas seperti percabangan kondisional, tetapi jika divergence instruksi di dalam warp terlalu banyak, performa akan menurun
  • Setiap CUDA Core memiliki status individual dan dapat mengakses memori secara bebas (TPU hanya dapat menangani memori yang berurutan)

Penjadwalan/paralelisme

  • SM menjadwalkan dan menjalankan banyak warp (hingga 64) secara bersamaan, dan setiap warp scheduler mengeksekusi satu program pada satu waktu
  • Berkat struktur ini, GPU mampu memberikan fleksibilitas yang tinggi sekaligus pemrosesan serentak yang besar

Struktur memori GPU

  • GPU memiliki HBM sebagai memori terbesar, dan juga mempunyai hierarki memori lain seperti L2/L1(SMEM)/TMEM/register

Ringkasan spesifikasi GPU modern

  • Jumlah SM (Streaming Multiprocessor), clock, memori, FLOPs, bandwidth (BW), dan lainnya berbeda untuk tiap model
  • Kapasitas memori (HBM), bandwidth, dan FLOPs (floating point/integer/presisi rendah) terus meningkat dari generasi ke generasi
  • Dari tabel (dihilangkan), karakteristik utama: Blackwell (B200) memiliki HBM 192GB, HBM BW 8.0TB/s, FP8 FLOPs 4.5e15, dll.
  • Pada tiap generasi, peningkatan hardware seperti kapasitas register dan cache on-chip (SMEM), serta penambahan TMEM, terlihat jelas

Perbandingan GPU/TPU

  • GPU bersifat umum dan dimodularisasi ke dalam banyak SM kecil (unit paralel), dengan kontrol hardware yang tinggi sehingga lebih sulit dipahami/dioptimalkan
  • TPU terdiri dari sedikit Tensor Core besar dan banyak ALU vektor (VPU), dengan kontrol single-thread sehingga hardware bisa lebih sederhana dan biaya dapat ditekan
  • Karena itu, TPU memerlukan optimisasi compiler, sementara GPU dapat menjalankan beberapa kernel secara independen, sehingga lebih mudah digunakan
  • Dari sisi performa/harga, GPU H200 terbaru memiliki FLOPs/s 2 kali TPU v5p, HBM 1,5 kali, dan harga sekitar 2,5 kali lebih tinggi
  • TPU memiliki VMEM (cache on-chip) yang lebih besar dan lebih cepat, yang bisa menjadi keunggulan besar pada inferensi model seperti LLM

Poin kuis Q&A hardware GPU

  • CUDA core fp32 pada H100 berjumlah total 16.896 (132 SM x 4 x 32), sedangkan B200 memiliki 18.944
  • FLOPs operasi vektor pada H100 mencapai maksimum sekitar 33,5TFLOPs/s, sekitar 30 kali lebih rendah dibanding FLOPs perkalian matriks Tensor Core (990TFLOPs/s)
  • Total kapasitas L1/SMEM dan register pada H100 adalah 66MB, sedangkan TPU VMEM adalah 120MB
  • Rasio bandwidth dan FLOPs (intensitas komputasi teoretis) pada H100/B200 sama-sama sekitar 280-300, mirip dengan TPU

Jaringan GPU (struktur komunikasi)

Struktur node/cluster

  • Node GPU biasanya terdiri dari 8 GPU yang diikat bersama dengan NVLink (sangat cepat) dan NVSwitch (switch) untuk koneksi langsung full bandwidth
  • Antar-node, scale-out dimungkinkan menggunakan InfiniBand (atau Ethernet, dll.)
  • GPU terbaru (Blackwell) memiliki struktur yang dapat diperluas hingga 72 node

Karakteristik per lapisan jaringan

  • Di dalam node (wilayah NVLink): egress per GPU 450GB/s (H100), 900GB/s (B200), dan hingga 1,6TB/s per NVSwitch
  • Lapisan atas node (InfiniBand Leaf/Spine): struktur Leaf Switch (8 unit) hingga Spine Switch (16 unit), menjaga full bandwidth teoretis 400GB/s antargpu
  • Pada arsitektur besar seperti SuperPod, 1024 GPU (128 node), dan GB200 (node 72 GPU) memiliki bandwidth yang ditingkatkan 9 kali lipat (3600GB/s)

Poin performa jaringan

  • Secara teoretis, struktur jaringan (Full Fat Tree) dirancang untuk memberikan bandwidth maksimum bahkan antar-node
  • Karena keterbatasan port hardware, saat diperluas ke 1024~4096 GPU digunakan pendekatan bertingkat dengan menambahkan lebih banyak Spine/Core Switch
  • Peralihan dari bandwidth intra-node (450GB/s) ke bandwidth antar-node (400GB/s) = perbedaan performa pada operasi kolektif

Struktur operasi kolektif (Collectives)

  • Mendukung operasi kolektif tingkat tinggi seperti AllGather, AllReduce (penjumlahan), AllToAll (distribusi)
  • Di dalam node, koneksi langsung via NVLink memungkinkan performa optimal (BW teoretis), sementara antar-node melewati InfiniBand
  • Memanfaatkan library NVIDIA NCCL dan NVSHMEM

Analisis performa operasi kolektif

  • AllGather/ReduceScatter: diimplementasikan dengan metode ring pada B/W (450GB/s berdasarkan H100), dan untuk pesan kecil metode tree juga dimungkinkan
  • AllToAll: setiap GPU mengirim langsung ke GPU tujuan, sehingga pada B/W dibagi dengan N dan secara teoretis 2 kali lebih cepat di dalam node
  • Hasil pengukuran nyata menunjukkan AllReduce berada di kisaran 370GB/s, masih belum mencapai maksimum hardware
  • Dibanding TPU, baru pada ukuran besar (puluhan MB hingga GB) performa mendekati peak bandwidth hardware

Ringkasan dan insight keseluruhan

  • GPU unggul dalam fleksibilitas umum dan skalabilitas, tetapi tingkat kesulitan optimisasi performa dan observabilitas berdasarkan struktur hardware/jaringan lebih tinggi daripada TPU
  • Jaringan (Intra-Node/NVLink/InfiniBand/Leaf/Spine, dll.) adalah kunci performa pelatihan skala besar, dan perlu mewaspadai perbedaan antara bandwidth aktual dan bandwidth teoretis
  • Pemahaman tentang operasi kolektif dan struktur jaringan adalah elemen penting untuk pelatihan/serving model terdistribusi berukuran sangat besar
  • Diperlukan proses untuk mengidentifikasi bottleneck performa dan kondisi optimal berdasarkan benchmark nyata serta pemahaman detail struktur hardware

Belum ada komentar.

Belum ada komentar.