Xlera8

Rdzenie SiFive RISC-V wybrane dla węzłów obliczeniowych Google AI

Chip RISC-V biz SiFive twierdzi, że jego procesory są do pewnego stopnia wykorzystywane do zarządzania obciążeniami AI w centrach danych Google.

Według SiFive procesor, o którym mowa, to jego Inteligencja X280, wielordzeniowa konstrukcja RISC-V z rozszerzeniami wektorowymi, zoptymalizowana pod kątem aplikacji AI/ML w centrum danych. W połączeniu z jednostkami mnożenia macierzy (MXU) pobranymi z jednostek przetwarzania tensorów Google (TPU), ma to zapewnić większą elastyczność programowania obciążeń uczenia maszynowego.

Zasadniczo rdzenie RV280 ogólnego przeznaczenia X64 w procesorze uruchamiają kod, który zarządza urządzeniem i wprowadza obliczenia uczenia maszynowego do jednostek MXU Google, gdy jest to wymagane do wykonania zadań. X280 zawiera również własną jednostkę matematyki wektorowej, która może obsługiwać operacje, których jednostki akceleratora nie mogą.

SiFive i Google były trochę nieśmiałe, być może z powodów komercyjnych, co do tego, jak to jest pakowane i używane, choć wydaje nam się, że Google umieścił swoje niestandardowe jednostki akceleracji w wielordzeniowym systemie X280 na chipie, łącząc Zaprojektowane przez Google bloki MXU bezpośrednio do głównego kompleksu RISC-V. Chipy te są używane w centrach danych Google, w „hostach obliczeniowych sztucznej inteligencji” według SiFive, aby przyspieszyć pracę z uczeniem maszynowym.

Wyobrażamy sobie, że jeśli są one wykorzystywane w produkcji, to te chipy obsługują zadania w ramach usług. Zwracamy uwagę, że nie możesz wypożyczyć tego sprzętu bezpośrednio w Google Cloud, która oferuje maszyny wirtualne zoptymalizowane pod kątem sztucznej inteligencji oparte na tradycyjnej technologii x86, Arm, TPU i GPU.

Szczegóły zostały ujawnione na szczycie AI Hardware Summit w Dolinie Krzemowej na początku tego miesiąca, w rozmowie współzałożyciela i głównego architekta SiFive Krste Asanovicia i architekta Google TPU Cliffa Younga, a także Post na blogu SiFive w tym tygodniu.

Według SiFive zauważył, że po wprowadzeniu X280 niektórzy klienci zaczęli używać go jako rdzenia towarzyszącego wraz z akceleratorem, w celu obsługi wszystkich zadań porządkowych i przetwarzania ogólnego przeznaczenia, do których akcelerator nie został zaprojektowany.

Wielu z nich stwierdziło, że do zarządzania akceleratorem potrzebny jest w pełni funkcjonalny pakiet oprogramowania, mówi chipbiz, a klienci zdali sobie sprawę, że mogą rozwiązać ten problem za pomocą kompleksu rdzeni X280 obok ich dużego akceleratora, rdzenie procesora RISC-V obsługują wszystkie czynności konserwacyjne i kod operacji, wykonywanie operacji matematycznych, których nie może wykonać duży akcelerator, oraz dostarczanie różnych innych funkcji. Zasadniczo X280 może służyć jako rodzaj węzła zarządzania dla akceleratora.

Aby to wykorzystać, SiFive współpracowało z klientami, takimi jak Google, nad opracowaniem tego, co nazywa Vector Coprocessor Interface eXtension (VCIX), który umożliwia klientom ścisłe powiązanie akceleratora bezpośrednio z plikiem rejestrów wektorowych X280, zapewniając zwiększoną wydajność i większą ilość danych pasmo.

Według Asanović korzyścią jest to, że klienci mogą wprowadzić własny koprocesor do ekosystemu RISC-V i uruchomić kompletny stos oprogramowania oraz środowisko programistyczne, z możliwością uruchamiania systemu Linux z pełną obsługą pamięci wirtualnej i pamięci podręcznej, na chipie zawierającym połączenie rdzeni procesora ogólnego przeznaczenia i jednostek akceleracyjnych.

Z punktu widzenia Google chciał skupić się na ulepszaniu swojej rodziny technologii TPU, a nie tracić czasu na tworzenie własnego procesora aplikacji od podstaw, więc połączenie tych funkcji akceleracji z gotowym procesorem ogólnego przeznaczenia wydawało się właściwym sposobem iść, według Younga.

VCIX zasadniczo przykleja MXU do rdzeni RISC-V z niskim opóźnieniem, pomijając konieczność spędzania wielu cykli oczekiwania na transfer danych między procesorem a jednostką przyspieszającą za pośrednictwem pamięci, pamięci podręcznej lub PCIe. Zamiast tego powiedziano nam, że to tylko dziesiątki cykli przez dostęp do rejestru wektorowego. Sugeruje to również, że wszystko – kompleks procesorów RISC-V i niestandardowe akceleratory – znajdują się na tej samej matrycy, zapakowane jako system-on-chip.

Kod aplikacji działa na rdzeniach RISC-V ogólnego przeznaczenia, a każda praca, którą można przyspieszyć przez MXU, jest przekazywana przez VCIX. Według Younga są inne zalety takiego podejścia, a także efektywność. Model programowania jest uproszczony, co skutkuje pojedynczym programem z przeplatanymi instrukcjami skalarnymi, wektorowymi i koprocesorowymi oraz umożliwia pojedynczy łańcuch narzędzi programowych, w którym programiści mogą kodować w C/C++ lub asemblerze, zgodnie z preferencjami.

„Dzięki rdzeniom ogólnego przeznaczenia opartym na SiFive VCIX 'hybrydyzowanym' z Google MXU, możesz zbudować maszynę, która pozwoli Ci 'zjeść ciastko i je zjeść', w pełni wykorzystując całą wydajność MXU i programowalność CPU, jak również wydajność wektorowa procesora X280” — powiedział Young.

Możliwość stworzenia takiego niestandardowego chipa prawdopodobnie pozostanie domeną hiperskalerów, takich jak Google, lub tych z wymaganiami niszowymi i głębokimi kieszeniami, ale pokazuje, co można osiągnąć dzięki elastyczności modelu otwartego ekosystemu RISC-V .

Ta elastyczność i otwartość wydaje się wystarczać, by skłonić Google – wieloletniego zwolennika RISC-V, z rdzeniami RV używanymi w niektórych innych produktach – do korzystania z architektury upstartów, w przeciwieństwie do sklejania swoich niestandardowych koprocesorów z chipami x86 lub Arm - licencjonowane projekty. ®

PS: Pamiętaj, kiedy był Google bawiąc się z wykorzystaniem architektury POWER CPU w swoich centrach danych?

Czat z nami

Cześć! Jak mogę ci pomóc?