REKLAMA

Gra krztusi się na śledzeniu promieni? Dla tej 13-letniej karty graficznej to pikuś

Nawet najnowsze karty graficzne miewają niemałe problemy z poprawną symulacją światła, wymagającą bardzo dużej mocy obliczeniowej. Jakim więc cudem ta karta Intela z 2009 roku sobie z tym radzi bez wielkiego trudu? I dlaczego nie jest bestsellerem? Oto krótka i smutna historia Intel Larrabee.

06.05.2023 16.08
Intel Larrabee co to
REKLAMA

W minionym roku na rynku konsumenckich układów graficznych dość niespodziewanie pojawi się nowy konkurent. To Intel, którego karty Arc okazały się konstrukcją co najmniej intrygującą. Nvidia i AMD jeszcze nie muszą drżeć z przerażenia, tym niemniej układy Arc oferują przyzwoitą wydajność rasteryzacji, przetwarzania śledzenia promieni (ray tracing) i przetwarzania zadań SI/ML w korzystnej cenie i przy relatywnie niskim zużyciu energii.

REKLAMA

To jednak zdecydowanie nie jest pierwsza przygoda Intela z układami graficznymi - i nie mam tu na myśli tylko układów GPU wbudowanych w procesory Intel Core. Widząc jak kolejna gra krztusi się na nowym Xboksie, PlayStation czy karcie graficznej za kilka tysięcy złotych - bo używa skomplikowanej techniki śledzenia promieni, i to też najczęściej tylko wybiórczo - nie mogę się powstrzymać przed wspomnieniem prezentacji na Intel Development Forum 2009.

To na niej (przez Internet) zobaczyłem po raz pierwszy mainstreamową i nowoczesną grę wideo zmodyfikowaną o technikę ray tracingu. Renderowaną na żywo i w wysokiej płynności przez rewolucyjną kartę graficzną, która na zawsze zmieni rynek gier i profesjonalnej grafiki 3D. Nie było w tym żadnej przesady: Intel Larrabee w istocie kompletnie zmieniał podejście do technologii renderingu. Co było największym atutem i zarazem największym problemem tego układu.

Jak ewoluowały karty graficzne? Zdaniem Intela, w złym kierunku.

Początkowo rola karty graficznej w komputerach IBM PC była bardzo ograniczona. Niemal wszystkie przeliczenia związane z renderowaniem grafiki 2D lub 3D wykonywał procesor główny (CPU) komputera o architekturze x86. Karta graficzna w zasadzie pełniła rolę bufora ramki, przenosząc wygenerowaną grafikę na monitor.

Z czasem jej rola się zwiększała, kolejne wynalazki pokroju akceleratorów 3D i kart graficznych 3D znacząco ułatwiły życie twórcom gier wideo, którzy mogli wykorzystywać x86 CPU do znacznie szerszej ilości zastosowań - a zarazem mieć dostęp do dużej mocy obliczeniowej wyspecjalizowanego pod kątem grafiki 3D chipu. Dziś GPU jest oczywistą częścią architektury PC, ale nie zawsze tak było.

Typowy układ GPU zawiera w sobie setki, nawet tysiące relatywnie prostych rdzeni obliczeniowych, zoptymalizowanych pod bardzo konkretne, typowe dla grafiki 3D obliczenia. Dzięki temu przy względnie niskiej cenie i zużyciu energii taki chip jest w stanie zapewnić zazwyczaj nieporównywalnie lepsze rezultaty od zużywającego podobną ilość energii czy kosztującemu podobną kwotę przy produkcji układu ogólnego zastosowania. Ta specjalizacja wiąże się jednak z problemem.

Za każdym razem, jak opracowywana jest nowa metoda renderowania grafiki 3D, to wymaga ona aktualizacji sprzętu. Teselacja, cyfrowa rekonstrukcja obrazu, śledzenie promieni, różne techniki wygładzania krawędzi - prawie zawsze nowa generacja technologii DirectX, OpenGL czy Vulkana oznaczała konieczność wymiany karty graficznej na nowszy model. Przynajmniej, jeśli trzeba było uruchomić nowość przy jakkolwiek sensownej wydajności.

Układy CPU takiego problemu nie mają. Z natury są układami ogólnego zastosowania, więc są znacznie bardziej elastyczne i znacznie łatwiej do nich wprowadzać innowacje - wystarczy nowy algorytm, nowa programowa metoda, nie trzeba zmieniać sprzętu. Tylko gdzie leży złoty środek pomiędzy wydajnością przetwarzania grafiki 3D a elastycznością chipów x86? Intel myślał, że go znalazł. I że będzie to prawdziwa żyła złota.

Intel Larrabee, czyli kilkadziesiąt chipów x86 dbających o płynną grafikę.

Układ Larrabee miał składać się z dużej liczby rdzeni uproszczonej wersji procesora Pentium MMX korzystających ze wspólnej puli pamięci podręcznej. Co prawda rdzenie te zostały wzbogacone o instrukcje związane z przetwarzaniem grafiki, większość technik akcelerowanych przez typowe karty 3D na Larrabee były przetwarzane programowo, metodą tile-based renering – a więc rysując klatkę obrazu kafelek po kafelku.

A co z problemem niskiej wydajności w porównaniu do wyspecjalizowanych kart? Intel wyszedł z założenia, że za sprawą wykorzystania chipów x86 starszej generacji będzie w stanie zmieścić ich odpowiednią liczbę na karcie bez znacznego zwiększania ceny czy zużycia energii. Wszak Larrabee miał się pojawić w czasach Intel Core, a nie Pentium MMX (konkretniej P54C).

Intel Larrabee - architektura

W zamian Larrabee oferować miały obiecaną elastyczność. Karty te bez problemu radziły sobie z takimi zagadnieniami, jak symulacja wielu przeźroczystych znajdujących się jeden za drugim materiałów, wydajne nakładanie nieregularnych map cieni (irregular shadow maps) czy przetwarzane w czasie rzeczywistym pełne przetwarzanie śledzenia promieni. To techniki, z którymi nawet niektóre nowoczesne GPU miewają problemy, tymczasem Larrabee, za sprawą zoptymalizowanego pod nie oprogramowania, radziły sobie z tym bez problemu.

Każdy rdzeń Larrabee wyposażony był w 512-bitowy koprocesor wektorowy. Jedynym rozszerzeniem typowo graficznym i pochodzącym z GPU była jednostka teksturująca, odpowiadająca za ich filtrowanie i dekompresję. Komunikacja między rdzeniami i pamięcią odbywała się przez 1024-bitową szynę (512-bitową w jednym kierunku). Każdy rdzeń mógł równolegle przetwarzać do czterech wątków obliczeniowych.

To skomplikowana i imponująca konstrukcja, ale jej działanie Intel zdołał udowodnić w praktyce. Larrabee zazwyczaj działał z istniejącymi aplikacjami i grami DirectX/OpenGL bez ingerencji w ich kod, choć z wydajnością istotnie niższą od mających stanowić jego konkurencję kart GeForce i Radeon. Natomiast gdy ktoś decydował się pisać kod renderujący od zera, zoptymalizowany pod Larrabee, mógł liczyć na rezultaty znacząco wykraczające poza karty od Nvidii i ATI (dziś AMD).

Gdzie się podział Larrabee? W koncepcji Intela był jeden, istotny feler.

Właściwie to dwa. Ten mniej ważny to konieczność optymalizacji oprogramowania pod kartę Intela. Przy czym optymalizacja to łagodne ujęcie problemu, bo by wycisnąć pełnię możliwości wynalazku Intela należałoby przepisać znaczną część silnika danej gry czy aplikacji. Mając na uwadze, że każdy inny liczący się na rynku chip 3D przetwarza dane w inny, klasyczny sposób, Intel mógł oczekiwać od deweloperów zbyt wiele. Tyle że nawet nie zdążył się o tym przekonać. Larrabee nie dotarły na rynek, bo trafiły na zbyt poważny technologiczny problem.

512-bitowa szyna danych i kontroler pamięci GDDR5 były wówczas bardzo nowoczesnymi rozwiązaniami i sprawdzały się świetnie w 16-rdzeniowych wersjach Larrabee. Problem w tym, że by dogonić lub przegonić karty Nvidii, Larrabee musiałby być oferowany w 32- lub nawet 48-rdzeniowej wersji. Prototypy takich kart powstały, jednak były dużo droższe w produkcji, zużywając więcej energii. Larrabee może i był dobrym pomysłem - ale zbyt trudnym w produkcji, i to niekoniecznie z uwagi na koszt technologiczny samego układu scalonego.

Czy ktoś wrócił do technologii Larrabee?

Pomysł Intela był dużą inspiracją dla inżynierów budujących układy Cell, które znane są przede wszystkim z bycia sercem konsol PlayStation 3. Również i tam do generowania grafiki wykorzystano wiele niewielkich, prostych i programowalnych rdzeni połączonych wysokowydajną szyną danych.

REKLAMA

Układy Larrabee w teorii można nabyć i przetestować, jeżeli ktoś byłby na tyle zdolny, by zaprojektować i zbudować dla nich dedykowaną grom wideo płytę główną. By nie zmarnować poniesionych w nie inwestycji, Intel zaczął szukać innych dla nich zastosowań. I je znalazł.

Układy Inel Xeon Phi to wyspecjalizowane pod przeliczenia równoległe procesory x86 dla superkomputerów. Współnapędzają jeden z najwydajniejszych, czyli chiński Tianhe-2, tym niemniej nie zdobyły większego rynkowego sukcesu. Technologia ta nie jest już rozwijana i prawdopodobnie nigdy nie dowiemy się, czy faktycznie miała większy sens. Poniekąd szkoda.

REKLAMA
Najnowsze
REKLAMA
REKLAMA
REKLAMA