Projekt VeriGPU ogłosił opracowanie otwartego procesora graficznego

Projekt Prezentacja VeriGPU kilka dni temu rozpoczął prace nad stworzeniem otwartego GPU, który ma być rozwijany w ramach języka modelowania i opisu systemów elektronicznych Verilog.

Osoby niezaznajomione z VeriGPU powinny wiedzieć, że jest on pozycjonowany jako procesor specyficzny dla aplikacji (ASIC) zoptymalizowany pod kątem przyspieszenia obliczeń związanych z systemami uczenia maszynowego.

sposób na rozpoczęcie, projekt jest rozwijany przy użyciu symulatora Verilog, ale po przygotowaniu można go wykorzystać do produkcji prawdziwych żetonów.

Plany obejmują wsparcie dla platformy głębokiego uczenia PyTorch oraz możliwość tworzenia aplikacji dla VeriGPU przy użyciu interfejsu API HIP (Heterogenous Computing Interface). W przyszłości nie wyklucza się włączenia obsługi innych interfejsów API, takich jak SYCL i NVIDIA CUDA.

Należy o tym wspomnieć rozwój tego GPU ma na celu bezpośrednio szkolenie maszynowe. Powinien więc idealnie obsługiwać obecne frameworki uczenia maszynowego, takie jak PyTorch i Tensorflow, co oznacza, że ​​prawie na pewno musi obsługiwać NVIDIA CUDA lub AMD HIP.

Chociaż jest również wspomniane, że Wiem, że mógłbym zaimplementować interfejs OpenCL lub SYCL, chociaż wsparcie dla głównych ram jest obecnie ograniczone. W DeepCL istnieje dedykowana platforma głębokiego uczenia OpenCL, ale ma ona stosunkowo ograniczony zestaw warstw sieci neuronowych i możliwych topologii sieci w porównaniu z PyTorch i Tensorflow.

Obecnie nie zamierzamy wdrażać wykonywania poza kolejnością, tj. uruchamiać jednej instrukcji przed rozpoczęciem poprzedniej, ponieważ jest to trudne w scenariuszu z pojedynczą instrukcją wielowątkowości (SIMT) i ponieważ rdzenie zajmują więcej obszaru matrycy. , a co za tym idzie mniej (lub droższe).

Z drugiej strony zaimplementujemy wykonywanie instrukcji równoległych, w której rozpoczynamy instrukcję, podczas gdy poprzednia nadal jest wykonywana. Jest to standardowe i dość lekkie, nie zajmuje zbyt dużej powierzchni matrycy.

Obecnie nie zaimplementowano żadnego buforowania (brak poziomu 1, brak poziomu 2, brak poziomu 3, nawet buforowanie instrukcji :P). Ponieważ zamierzam zrobić GPU, który ma inny mechanizm pamięci podręcznej niż CPU, pomyślę o tym, gdy zacznie bardziej przypominać GPU.

GPU ewoluuje w oparciu o zestaw instrukcji RISC-V, ale wynikowa architektura wewnętrznego zestawu instrukcji GPU jest słabo kompatybilna z RISC-V ISA, ponieważ w sytuacjach, w których układ GPU nie jest zgodny z renderowaniem RISC-V, oprócz nieustalenia zadania utrzymania zgodności z RISC-V .

Od czasu rozwoju skupia się na możliwościach wymaganych dla systemów uczenia maszynowego, dlatego, aby zmniejszyć rozmiar i złożoność tablicy chipów, używany jest tylko format zmiennoprzecinkowy BF16 i tylko operacje zmiennoprzecinkowe, które są wymagane do uczenia maszynowego, takie jak exp, log, tanh i sqrt są dostępny.

Wśród już dostępnych komponentów, na przykład sterownik GPU, APU (Accelerated Processing Unit) dla operacji na liczbach całkowitych («+»,»-«,»/»,»*»), jednostka dla operacji zmiennoprzecinkowych («+», »*») i oddziału, a także wsparcie dla kompilatora HIP.

Do tworzenia aplikacji zapewniony jest asembler i wsparcie dla kompilacji kodu C++ na podstawie LLVM. Spośród oczekiwanych funkcji, równoległe wykonywanie instrukcji, buforowanie danych i pamięć instrukcji, wyróżniają się operacje SIMT (Single Instruction Multiple Thread).

Wreszcie, jeśli chcesz dowiedzieć się więcej na ten temat o rozwoju tego GPU o otwartym kodzie źródłowym powinieneś wiedzieć, że rozwój projektu jest rozpowszechniany na licencji MIT i możesz zapoznać się z kodem, a także postępem projektu od poniższy link.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.