Jak projektować układy GPU
Chapter 12 Future Trends and Emerging Technologies Gpu Design

Rozdział 12: Przyszłe trendy i nowe technologie w projektowaniu układów GPU

Ponieważ architektury GPU ciągle ewoluują, aby sprostać rosnącym wymaganiom obciążeń obliczeniowych równoległych, kilka nowych trendów i technologii jest gotowych do ukształtowania przyszłości projektowania GPU. W tym rozdziale zbadamy niektóre z tych kluczowych trendów, w tym obliczenia heterogeniczne i akceleratory, stos 3D i projekty oparte na chipletach, architektury ukierunkowane na konkretne domeny dla SI i uczenia maszynowego oraz otwarte problemy badawcze i możliwości w architekturze GPU.

Obliczenia heterogeniczne i akceleratory

Obliczenia heterogeniczne, które łączą różne typy procesorów lub akceleratorów w celu osiągnięcia wyższej wydajności i efektywności energetycznej, stały się w ostatnich latach coraz powszechniejsze. GPU są na czele tego trendu, często łączone z CPU w celu przyspieszenia obciążeń równoległych. Jednakże krajobraz akceleratorów szybko się rozszerza, wraz z rozwojem nowych typów specjalizowanego sprzętu przeznaczonego dla konkretnych domen aplikacji.

Jednym z godnych uwagi przykładów jest wzrost akceleratorów SI, takich jak Tensor Processing Units (TPU) firmy Google [Jouppi et al., 2017], które są zaprojektowane specjalnie do przyspieszania obciążeń uczeniem maszynowym. Te akceleratory często wykorzystują arytmetykę o zmniejszonej precyzji, wyspecjalizowane hierarchie pamięci i architektury przepływu danych, aby osiągnąć wysoką wydajność i efektywność energetyczną dla zadań SI.

Inna wyłaniająca się klasa akceleratorów koncentruje się na przetwarzaniu i analizie grafów. Obciążenia przetwarzania grafów, takie jak te występujące w analizie sieci społecznościowych, systemach rekomendacji i symulacjach naukowych, wykazują nieregularne wzorce dostępu do pamięci i drobne synchronizacje, co może stanowić wyzwanie dla tradycyjnych architektur CPU i GPU. Wyspecjalizowane akceleratory do przetwarzania grafów, takie jak Graphicionado [Ham et al., 2016] i GraphCore Intelligence Processing Unit (IPU) [GraphCore, 2020], mają na celu rozwiązanie tych wyzwań poprzez zapewnienie sprzętowego wsparcia dla wydajnegoPoniżej znajduje się tłumaczenie pliku Markdown na język polski. Komentarze w kodzie zostały przetłumaczone, a sam kod pozostał niezmieniony.

Przegląd badań nad architekturą GPU: efektywna obsługa grafu, synchronizacja i balansowanie obciążenia.

Wraz ze wzrostem różnorodności akceleratorów, wyzwanie integracji ich w spójny system staje się coraz bardziej złożone. Heterogeniczne architektury systemowe, takie jak Heterogeniczna Architektura Systemowa (HSA) firmy AMD [AMD, 2015] i Pamięć Zunifikowana CUDA firmy NVIDIA [NVIDIA, 2020], mają na celu zapewnienie zunifikowanego modelu programowania i przestrzeni pamięci na różnych typach procesorów i akceleratorów. Te architektury umożliwiają płynną współpracę między procesorami CPU, GPU i innymi akceleratorami, pozwalając programistom skupić się na projektowaniu algorytmów, a nie na niuansach związanych z ruchem danych i synchronizacją między różnymi urządzeniami.

Badania w tej dziedzinie koncentrują się na takich zagadnieniach, jak wydajne partycjonowanie i planowanie zadań na heterogenicznych urządzeniach, zunifikowane zarządzanie pamięcią oraz szybkie łącza międzysystemowe dla systemów heterogenicznych. Wraz z ewolucją ekosystemu akceleratorów, projektowanie procesorów GPU będzie prawdopodobnie coraz bardziej ukierunkowane na płynną integrację z innymi typami wyspecjalizowanego sprzętu.

Stosy 3D i projekty oparte na chipletach

Stosy 3D i projekty oparte na chipletach to nowe technologie pakowania, które otwierają nowe możliwości dla innowacji w architekturze GPU. Technologie te umożliwiają integrację wielu układów scalonych lub warstw w ramach pojedynczego pakietu, co pozwala na uzyskanie większej przepustowości, niższej latencji i bardziej efektywną dostawę energii w porównaniu do tradycyjnego pakowania 2D.

Stosy 3D, takie jak przechodzące przez krzem wyjścia (TSV) lub technologia sześciennej pamięci hybrydowej (HMC) [Jeddeloh i Keeth, 2012], umożliwiają pionową integrację wielu warstw logiki lub pamięci. Ta technologia została wykorzystana w pamięci wysokiej przepustowości (HBM) [Lee i in., 2014], która zapewnia znacznie większą przepustowość pamięci i niższe zużycie energii w porównaniu do tradycyjnej pamięci GDDR. Procesory GPU, takie jak AMD Radeon R9 Fury X i NVIDIA Tesla P100, już adoptują HBM, aby złagodzić problemy z przepustowością pamięci w obciążeniach wymagających dużej ilości pamięci.Projekty oparte na chipletach, z drugiej strony, obejmują integrację wielu mniejszych układów scalonych (chipletów) w pojedynczym opakowaniu przy użyciu wysokogęstościowych połączeń, takich jak interposery krzemowe lub wbudowane mosty międzyukładowe (EMIB) [Demir i in., 2018]. Takie podejście umożliwia mieszanie i dopasowywanie różnych technologii procesu, pozwalając na optymalizację każdego chipleta pod kątem jego konkretnej funkcji. Na przykład chipleты intensywnie obliczeniowe mogą być produkowane przy użyciu zaawansowanych węzłów procesowych, podczas gdy chipleты intensywnie korzystające z pamięci mogą wykorzystywać starsze, bardziej opłacalne węzły procesowe.

Modułowy charakter projektów opartych na chipletach umożliwia również bardziej elastyczne i skalowalne architektury GPU. Na przykład liczbę chipletów obliczeniowych można parametryzować, tworząc GPU o różnych charakterystykach wydajności i poboru mocy, bez konieczności kompletnej przebudowy GPU. To podejście może również ułatwić integrację wyspecjalizowanych akceleratorów lub technologii pamięci obok chipletów obliczeniowych GPU.

Badania w tej dziedzinie obejmują takie tematy, jak 3D-zintegrowane architektury GPU, projekty GPU oparte na chipletach oraz nowe technologie połączeń międzyukładowych dla integracji układów wielochipowych. Ponieważ skalowanie technologii procesowych staje się coraz bardziej wymagające i kosztowne, układy 3D i projekty oparte na chipletach oferują obiecującą drogę dalszej poprawy wydajności i efektywności energetycznej w architekturach GPU.

Architektury dedykowane do AI/ML

Gwałtowny rozwój zastosowań sztucznej inteligencji (AI) i uczenia maszynowego (ML) doprowadził do opracowania architektur dedykowanych do tych obciążeń. Chociaż w ostatnich latach GPU były główną platformą do przyspieszania AI/ML, obserwuje się rosnący trend w kierunku bardziej wyspecjalizowanego sprzętu, który może zapewnić wyższą wydajność i efektywność energetyczną dla konkretnych zadań AI/ML.

Jednym z przykładów takiego wyspecjalizowanego sprzętu jest neuronal processing unit (NPU), który jest zaprojektowany specjalnie do przyspieszania głębokich sieci neuronowych (Tutaj znajduje się tłumaczenie na język polski.

Wnioskowanie i szkolenie DNN (Deep Neural Network)

Jednostki NPU (Neural Processing Units) często wykorzystują arytmetykę o obniżonej dokładności, wyspecjalizowane hierarchie pamięci i architektury przepływu danych, które są dostosowane do unikalnych charakterystyk obciążeń DNN. Przykłady NPU obejmują Tensor Processing Units (TPU) Google'a [Jouppi i in., 2017], Nervana Neural Network Processors (NNP) Intela [Rao, 2019] i Ascend AI Processors Huaweia [Huawei, 2020].

Innym rosnącym trendem w architekturach ukierunkowanych na domeny dla AI/ML jest wykorzystanie obliczeń w pamięci (in-memory computing) i technik obliczeń analogowych. Architektury obliczeń w pamięci mają na celu zmniejszenie energii i opóźnienia związanych z ruchem danych poprzez wykonywanie obliczeń bezpośrednio w pamięci. Techniki obliczeń analogowych, takie jak te stosowane w akceleratorach opartych na memristorach [Shafiee i in., 2016], wykorzystują właściwości fizyczne urządzeń, aby wykonywać obliczenia w bardziej energooszczędny sposób w porównaniu z obwodami cyfrowymi.

Ponieważ obciążenia AI/ML nadal ewoluują i stają się coraz bardziej zróżnicowane, istnieje rosnące zapotrzebowanie na elastyczne i programowalne architektury ukierunkowane na domeny, które mogą dostosowywać się do zmieniających się wymagań. Jednym z podejść do osiągnięcia tej elastyczności jest wykorzystanie architektur o grubej granularności rekonfigurowalnych (CGRAs) [Prabhakar i in., 2017], które zapewniają tablicę programowalnych elementów przetwarzających, które mogą być rekonfigurowane w celu obsługi różnych wzorców przepływu danych i algorytmów.

Badania w tej dziedzinie eksplorują takie tematy, jak nowe architektury akceleratorów AI/ML, techniki obliczeń w pamięci i analogowych, a także programowalne i rekonfigurowane architektury dla AI/ML. Ponieważ procesory graficzne (GPU) nadal odgrywają znaczącą rolę w przyspieszaniu AI/ML, projektowanie przyszłych architektur GPU będzie prawdopodobnie wpływane przez potrzebę integracji większej liczby wyspecjalizowanego sprzętu i dostosowania się do unikalnych wymagań tych obciążeń.

Otwarte problemy badawcze i możliwości

Pomimo znacznych postępów w architekturze GPU i obliczeniach równoległych w ostatnich latach, wciąż istnieje wiele otwartych problemów badawczychPoniżej znajdziesz tłumaczenie na język polski:

  1. Efektywność energetyczna: Wraz ze wzrostem wydajności i złożoności kart GPU, coraz ważniejsze staje się zwiększenie efektywności energetycznej. Możliwości badawcze w tej dziedzinie obejmują nowe techniki obwodów i architektury, mające na celu zmniejszenie zużycia energii, takie jak obliczenia bliskie progowi napięcia, wyłączanie zasilania (ang. power gating) oraz dynamiczne skalowanie napięcia i częstotliwości.

  2. Skalowalność: Umożliwienie kart GPU skalowania do jeszcze większej liczby rdzeni i wątków przy zachowaniu wysokiej wydajności i programowalności stanowi znaczące wyzwanie. Badania w tej dziedzinie mogą obejmować takie tematy, jak hierarchiczne i rozproszone architektury GPU, skalowalny system pamięci oraz modele programowania, które efektywnie wykorzystują równoległość przyszłych kart GPU.

  3. Niezawodność i odporność: Wraz ze wzrostem zastosowania kart GPU w krytycznych dla misji i bezpieczeństwa aplikacjach, zapewnienie ich niezawodności i odporności staje się najwyższym priorytetem. Możliwości badawcze w tej dziedzinie obejmują nowe techniki tolerancji na usterki i korekcji błędów, takie jak tolerancja na usterki oparta na algorytmach, mechanizmy sprawdzania i odzyskiwania stanu oraz odporne na awarie projekty architektury.

  4. Wirtualizacja i wielodostępność: Umożliwienie efektywnego współdzielenia zasobów GPU między różnymi aplikacjami i użytkownikami ma kluczowe znaczenie dla środowisk chmury obliczeniowej i centrów danych. Badania w tej dziedzinie mogą dotyczyć technik wirtualizacji GPU, zarządzania jakością usług (QoS) oraz algorytmów alokacji i planowania zasobów dla wielodostępnych systemów GPU.

  5. Modele programowania i narzędzia: Opracowanie modeli programowania i narzędzi, które skutecznie wykorzystują wydajność przyszłych architektur GPU, przy jednoczesnym utrzymaniu wysokiej produktywności programistów, stanowi stałe wyzwanie. Możliwości badawcze w tej dziedzinie obejmują języki specyficzne dla danej dziedziny i kompilatory dla GPU, systemy dostrajania i optymalizacji oraz narzędzia do debugowania i profilowania systemów równoległych.Tutaj znajduje się tłumaczenie na język polski tego pliku Markdown. Komentarze w kodzie zostały przetłumaczone, ale sam kod pozostał niezmieniony.

Ponieważ architektury GPU nadal ewoluują, a pojawiają się nowe domeny aplikacji, badacze i inżynierowie będą musieli stawić czoła tym i innym wyzwaniom, aby w pełni wykorzystać potencjał obliczeń równoległych. Poprzez eksplorowanie innowacyjnych projektów architektonicznych, modeli programowania i narzędzi programistycznych, społeczność badawcza może pomóc kształtować przyszłość obliczeń GPU i umożliwić nowe przełomy w dziedzinach takich jak obliczenia naukowe, sztuczna inteligencja i analityka danych.

Dalsze czytanie

Dla osób zainteresowanych głębszym wnikaniem w tematy poruszane w tym rozdziale, zalecamy następujące zasoby:

  1. Jouppi, N. P., Young, C., Patil, N., Patterson, D., Agrawal, G., Bajwa, R., ... i Yoon, D. (2017). Analiza wydajności jednostki przetwarzania tensorów w centrum danych. W Proceedings of the 44th Annual International Symposium on Computer Architecture (str. 1-12). https://dl.acm.org/doi/abs/10.1145/3079856.3080246 (opens in a new tab)

  2. Ham, T. J., Wu, L., Sundaram, N., Satish, N. i Martonosi, M. (2016). Graphicionado: szybki i energooszczędny akcelerator do analizy grafów. W 2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO) (str. 1-13). IEEE. https://ieeexplore.ieee.org/abstract/document/7783759 (opens in a new tab)

  3. AMD. (2015). AMD Heterogeneous System Architecture (HSA). https://www.amd.com/en/technologies/hsa (opens in a new tab)

  4. NVIDIA. (2020). Uniwersalna pamięć CUDA. https://developer.nvidia.com/blog/unified-memory-cuda-beginners/ (opens in a new tab)

  5. Jeddeloh, J. i Keeth, B. (2012). Hybrydowa pamięć sześcienna - nowa architektura DRAM zwiększa gęstość i wydajność. W 2012 symposium on VLSI technology (VLSIT) (str. 87-88). IEEE. https://ieeexplore.ieee.org/abstract/document/6243767 (opens in a new tab)

  6. Lee, J. H., Lim, D., Jeong, H.,Oto polski przekład tego pliku Markdown. Dla kodu nie tłumaczono kodu, tylko komentarze:

Kim, H., Song, T., Lee, J., ... i Kim, G. (2014). 1,2 V 8 Gb 8-kanałowa 128 GB/s pamięć o dużej przepustowości (HBM) z układem DRAM w warstwie z efektywnymi metodami testowania mikropunktów we/wy przy użyciu procesu 29 nm i TSV. W 2014 IEEE International Solid-State Circuits Conference Digest of Technical Papers (ISSCC) (str. 432-433). IEEE. https://ieeexplore.ieee.org/abstract/document/6757501 (opens in a new tab)

  1. Demir, Y., Pan, Y., Song, S., Hardavellas, N., Kim, J. i Memik, G. (2018). Galaxy: Wysokowydajny energooszczędny wieloczipowy architektura wykorzystująca połączenia fotoniczne. W Proceedings of the 28th ACM International Conference on Supercomputing (str. 303-312). https://dl.acm.org/doi/abs/10.1145/2597652.2597664 (opens in a new tab)

  2. Rao, T. (2019). Procesory sieci neuronowych Intel Nervana (NNP) na nowo definiują układ AI. [https://www.intel.com/content/www/us/en/artificial-intelligence (opens in a new tab)