OpenTPU – An open-source AI accelerator, developed by AI

OpenTPU Under the Microscope: Analisis Kritis Akselerator AI yang Dirancang oleh AI

Klaim bahwa "AI merancang chip AI-nya sendiri" selalu berhasil memancing klik. Proyek OpenTPU, yang baru-baru ini memicu perdebatan sengit di Hacker News dengan lebih dari 350 komentar, membawa premis tersebut ke ranah publik: sebuah arsitektur akselerator mirip Google TPU dengan Register-Transfer Level (RTL) yang digarap menggunakan bantuan Large Language Models (LLM).

Bagi engineer perangkat keras dan perancang sistem, klaim ini perlu dibedah secara dingin. Menghasilkan modul Verilog untuk matrix multiplication (GEMM) adalah tugas yang bisa diselesaikan oleh mahasiswa tingkat sarjana dalam beberapa jam. Namun, membangun akselerator tensor yang siap pakai, dapat disintesis, bebas dari race condition, dan memiliki ekosistem compiler yang fungsional adalah persoalan yang sama sekali berbeda.

Berikut adalah bedah arsitektur, realitas teknis, serta batasan fundamental di balik proyek OpenTPU.

---

Anatomi Arsitektur: Systolic Array dan Tantangan Datapath

Di level mikroarsitektur, OpenTPU mengadopsi pendekatan klasik yang dipopulerkan oleh Google TPU generasi pertama: arsitektur berbasis systolic array.

         Activations In (Row-wise)
                 │   │   │
                 ▼   ▼   ▼
             ┌───┬───┬───┐
Weights ───► │PE │PE │PE │
In           ├───┼───┼───┤
             │PE │PE │PE │
             ├───┼───┼───┤
             │PE │PE │PE │
             └───┴───┴───┘
                 │   │   │
                 ▼   ▼   ▼
          Partial Sums / Outputs Accumulator

Inti komputasinya bergantung pada grid Processing Elements (PE). Setiap PE umumnya memuat:

  1. Satu set register untuk menyimpan weight (menggunakan skema Weight-Stationary).
  2. Multiplier-Accumulator (MAC) unit, biasanya untuk presisi integer rendah (INT8) atau bfloat16.
  3. Jalur kontrol sederhana untuk propagasi data secara ritmis per siklus clock.

Skema Weight-Stationary dipilih karena meminimalkan konsumsi daya pada SRAM: weight dimuat sekali ke dalam register PE, sementara activation dialirkan dari barat ke timur, dan partial sum diakumulasikan ke selatan.

Secara teoritis, logika komputasi ini sangat modular. Karakteristik modular inilah yang membuat LLM sangat piawai menghasilkan kodenya. LLM unggul dalam menghasilkan kode Verilog parametrik untuk struktur repetitif seperti instansiasi array 2D dari PE.

Namun, jebakan sebenarnya tidak pernah berada di dalam PE array. Jebakan perangkat keras akselerator selalu berada di Memory Subsystem dan Interconnect.

---

The Memory Wall: Masalah yang Tidak Bisa Diselesaikan Prompt LLM

Komputasi matrix multiplication pada dasarnya terikat pada dua hal: compute bound atau memory bandwidth bound. Membuat 1024 MAC unit dalam satu die silikon adalah hal mudah jika luas area (area footprint) mencukupi. Tantangannya adalah memberi makan (feeding) 1024 MAC unit tersebut dengan data pada setiap siklus clock.

OpenTPU, seperti kebanyakan desain akselerator open-source tahap awal, menghadapi limitasi klasik:

  1. Buffer Hierarchy & SRAM Banking:

Untuk menjaga agar PE tidak mengalami stall, dibutuhkan Unified Buffer yang besar. Jika buffer ini tidak memiliki arsitektur multi-bank yang matang, tabrakan akses memori (bank conflict) akan menghancurkan throughput. LLM sering kali gagal memetakan arbitrase memori yang kompleks karena membutuhkan pemahaman mendalam tentang timing constraints dan access patterns spesifik.

  1. Interface Off-Chip (DRAM/AXI):

Akselerator tidak hidup di ruang hampa. Ia harus berkomunikasi dengan host melalui PCIe dan memori utama menggunakan protokol seperti AXI4. Implementasi logika flow control (valid/ready handshake, burst management, backpressure handling) yang dihasilkan AI kerap kali rentan terhadap corner-case deadlocks. Dalam software, deadlock menghasilkan crash atau timeout; di RTL, deadlock membekukan bus silikon secara permanen sampai hard reset dilakukan.

---

Trade-Off Analisis: Cost vs Complexity

Ketika mengevaluasi kelayakan OpenTPU untuk diimplementasikan ke hardware nyata (FPGA atau ASIC tape-out), trade-off berikut menjadi krusial:

| Parameter | Ekspektasi Desain AI (OpenTPU) | Realitas Implementasi Produksi | | :--- | :--- | :--- | | Generasi RTL | Sangat cepat; iterasi logika dasar selesai dalam hitungan menit via prompt. | Murah di awal, namun memindahkan beban kerja berat ke tahap verifikasi (debugging kode orang lain/mesin). | | Timing Closure | Buruk; LLM tidak memahami wire delay, parasitic capacitance, atau routing congestion. | Perlu intervensi manual masif agar desain bisa berjalan di atas frekuensi rendah (misal: >500 MHz pada ASIC). | | Verifikasi | Mengandalkan testbench standar berbasis simulasi unit test. | Memerlukan Universal Verification Methodology (UVM) dan Formal Verification untuk menjamin zero-bug sebelum tape-out. | | Compiler Stack | Umumnya tidak ada atau hanya menyediakan driver register-level manual. | Menelan 70% total investasi rekayasa: butuh backend MLIR, integrasi XLA, atau runtime TVM. |

Biaya terbesar dalam pengembangan silikon modern bukanlah penulisan RTL, melainkan verifikasi fungsional dan penutupan timing (PPA: Power, Performance, Area). Sebuah bug logika pada software dapat ditambal dalam hitungan jam via deployment CI/CD. Sebuah bug logika pada ASIC yang sudah diproduksi di pabrik fab berarti kerugian jutaan dolar dan penundaan siklus produk selama berbulan-bulan.

Menggunakan LLM untuk menulis RTL tanpa harness verifikasi formal yang ketat sama saja dengan meningkatkan risiko respin silikon secara eksponensial.

---

Gajah di Balik Ruangan: Ketiadaan Software Stack

Perangkat keras secanggih apa pun hanyalah pemanas ruangan yang mahal tanpa compiler.

NVIDIA mendominasi industri bukan hanya karena arsitektur GPU mereka, melainkan karena CUDA, cuDNN, dan TensorRT. Google TPU sukses karena integrasi mendalam dengan compiler XLA dan framework JAX/TensorFlow.

OpenTPU saat ini masih berkutat pada level RTL. Agar chip ini dapat menjalankan model seperti Llama-3 atau ResNet secara efisien, engineer harus membangun:

  • Parser untuk membaca format komputasi terpadu (misalnya ONNX).
  • Graph compiler berbasis LLVM/MLIR yang mampu melakukan operator fusion, tiling, dan memory scheduling.
  • Driver kernel-mode Linux untuk menangani alokasi memori DMA ke akselerator.

Membangun ekosistem software ini membutuhkan man-hours sepuluh kali lipat lebih besar dibanding merancang systolic array-nya itu sendiri. Mengklaim sebuah TPU fungsional hanya berdasarkan keberhasilan simulasi RTL adalah pandangan yang mengabaikan realitas rekayasa sistem ML modern.

---

Engineering Takeaways

Bagi systems engineers, arsitek hardware, maupun praktisi infrastruktur AI, rilisnya OpenTPU memberikan beberapa pelajaran nyata:

  1. LLM sebagai Co-pilot EDA, Bukan Hardware Architect:

LLM sangat berguna untuk mempercepat penulisan modul boilerplate Verilog/SystemVerilog, generator state machine sederhana, atau konverter testbench. Namun, keputusan arsitektur strategis (seperti hierarki memori, strategi arbitrase bus, dan topologi interkoneksi) tetap memerlukan intuisi engineer senior yang memahami fisika silikon.

  1. Sandbox yang Realistis adalah FPGA, Bukan Tape-out:

Jika tim Anda ingin bereksperimen dengan OpenTPU, targetkan platform FPGA (seperti Xilinx Kria atau Alveo). Di lingkungan FPGA, fleksibilitas bitstream mengeliminasi risiko finansial dari bug silikon yang dihasilkan oleh LLM, sekaligus memungkinkan pengujian latensi inferensi secara riil.

  1. Fokus pada Compiler Sebelum Mikroarsitektur:

Jika Anda berniat mendesain akselerator kustom untuk domain-specific workloads, jangan mulai dari Verilog. Mulailah dari IR (Intermediate Representation) dan pemetaan graph komputasi (MLIR). Tentukan batasan software dan memori terlebih dahulu; biarkan arsitektur perangkat keras menyesuaikan profil akses data tersebut, bukan sebaliknya.

OpenTPU adalah demonstrasi konsep yang menarik dan langkah awal yang valid bagi demokratisasi eksplorasi perangkat keras. Namun, jangan salah mengartikan repositori GitHub yang sedang tren ini sebagai ancaman bagi monopoli silikon komersial. Jarak antara kode Verilog yang dihasilkan AI dengan silikon produksi yang stabil tetaplah sebuah jurang rekayasa yang sangat terjal.

Arsitektur & Alur Visual Sistem

Arsitektur dan Alur Sistem: OpenTPU – An open-source AI accelerator, developed by AI