« Tüm yayınlar

Gherkin Labs, Google TPU'larını Ters Mühendislikle Simüle Etti

Gherkin Labs, Google TPU sürücü protokolünü ters mühendislikle çözüp çevrim düzeyinde izleme sunan bir TPU simülatörü geliştirdi.

Gherkin Labs, Google'ın TPU sürücüsü ile donanım arasındaki iletişim protokolünü tamamen ters mühendislikle çözerek gerçek, değiştirilmemiş TPU yazılım yığınını çalıştırabilen bir simülatör geliştirdi. libsymtpu.so adlı paylaşımlı kütüphane LD_PRELOAD ile yüklendiğinde, herhangi bir programa gerçek TPU'larla aynı arayüzleri sunan sanal TPU cihazları gösteriyor ve tensor ile sparse çekirdekleri CPU üzerinde simüle ediyor.

Simülatör, TPU'nun her çevrimde tek bir komut demeti işlediği ve komut gecikmelerinin sabit olduğu gerçeğinden yararlanarak çevrim düzeyinde izleme sunuyor; derleyicinin zamanlama planını yeniden oynatmak, çipin zamanlamasını yeniden oynatmak anlamına geliyor. Ekip yalnızca DMA süresi, çipler arası mesaj gecikmesi ve senkronizasyon bayrağı maliyetleri gibi sabit olmayan üç unsuru modellemek zorunda kalmış.

Bu çalışma önemli çünkü Nvidia GPU'larına kıyasla TPU'lar hakkında kamuya açık teknik bilgi çok az ve tüm yığın Google'ın JAX/Torka dayalı derleyicisinden geçiyor. Gherkin Labs, VLIW mimarisine sahip TPU v7 (Ironwood) çipinin tensor çekirdeği, MXU sistolik dizisi, XLU ve açık bellek hiyerarşisi gibi detaylarını da paylaşarak, düşük seviye çekirdek mühendisliğinin LLM destekli kernel aramasıyla nasıl dönüşebileceğine dair bir altyapı öneriyor.

Bu sentez, kaynağından yapay zeka tarafından üretildi; insan editör ya da elle onay adımı yoktur. Nasıl çalışıyoruz