r   e   k   l   a   m   a
r   e   k   l   a   m   a

Larrabee nie chce odejść: jeden człowiek tworzy GPU na wolnej licencji, nawiązujące do pomysłów Intela

Strona główna AktualnościSPRZĘT

Niewiele jest w świecie IT urządzeń równie obciążonych patentowo co procesory graficzne. Każdy z liczących się producentów siedzi na ogromnym patentowym portfolio, zazdrośnie strzegąc swojej własności intelektualnej do tego stopnia, że nawet samo oglądanie kodu własnościowych sterowników graficznych wiąże się z koniecznością podpisania NDA. Dziś, gdy GPU odgrywa znaczącą rolę nie tylko w renderowaniu grafiki, ale staje się po prostu programowalnym procesorem do wszelkich obliczeń równoległych, potrzebujemy nie tylko potężnych i kosztownych kart pokroju Titana X, ale też sprzętu, którego schematy, specyfikacja i dokumentacja byłyby wolne i dostępne dla wszystkich. Poznajcie procesor Nyuzi, powstający na bazie porzuconego przez Intela procesora Larrabee.

Larrabee było głośnym projektem minionej dekady – na bazie rdzeni x86 z Pentium, połączonych z jednostkami przetwarzania wektorowego, Intel chciał zbudować kartę graficzną, która konkurować by mogła z rozwiązaniami zielonych i czerwonych. Niewiele z tego wyszło – skromna wydajność i ciągłe opóźnienia prawie pogrzebały tę inicjatywę. Dziś pozostały z niej tylko stosowane w stacjach roboczych i superkomputerach koprocesory Xeon Phi.

Nyuzi jest próbą powrotu do założeń, jakie stały za Larrabee. Pracuje nad nim jeden człowiek, Jeff Bush, a uzyskane przez niego wyniki każą powiedzieć chapeau bas! Zaprojektowany przez niego rdzeń zawiera pełen potok grafiki, wsparcie dla wielowątkowości, wektorową jednostkę zmiennoprzecinkową i podsystem pamięci podręcznej L1/L2. Zrobić go sobie może każdy, kto ma pod ręką odpowiedni układ FPGA – całość jest zdefiniowana w języku SystemVerilog i udostępniona na wolnej licencji LGPL.

r   e   k   l   a   m   a

Bush przygotował także dla swojego układu pełen zestaw narzędzi deweloperskich, w tym biblioteki dla kompilatora LLVM i narzędzia testowe. Znaleźć je możecie na GitHubie. Znajdziemy tu też emulator software'owy, dzięki któremu definicję GPU można uruchomić na dowolnym komputerze osobistym, działającym pod kontrolą Linuksa, OS X czy Windows. Pomóc to ma wszystkim, którzy eksperymentują z mikroarchitekturami, modelują wydajność czy piszą oprogramowanie na równoległe procesory.

Zastanawiacie się pewnie, jak wygląda kwestia wydajności takiego GPU dla majsterkowiczów. Informacje o tym pojawiły się w zeszłym miesiącu na usenetowej grupie comp.arch.fpga. Autor stworzył własny silnik 3D, wykorzystujący jednostkę wektorową i wielordzeniowość, za jego pomocą wyrenderował animację klasycznego czajniczka OpenGL (około 2300 trójkątów), uruchomioną na jednym rdzeniu na FPGA taktowanym zegarem 50 MHz. Wygląda to tak:

Zademonstrował też renderowanie statycznej sceny z użyciem 66 tys. trójkątów. Osiem wirtualnych rdzeni w 32 wątkach potrzebowało do tego 200 milionów instrukcji:

Ożywienie idei stojącej za Larrabee – wykorzystania wielu małych, prostych rdzeni, połączonych wysokoprzepustową pierścieniową magistralą – może wydawać się próbą powrotu do początków stulecia, czy też wskrzeszenia założeń stojących za procesorami Cell (znanymi głównie z PlayStation 3), ale czy oznacza to, że nie warto próbować tej drogi? To prawda, kolejne generacje GPU Nvidii i AMD zyskiwały coraz więcej możliwości obiecywanych przez Larrabee poprzez OpenCL, CUDA czy DirectCompute, ale i tak taka architektura była znacznie bardziej elastyczna, łatwiej sobie radząc z kwestiami dla tradycyjnych GPU trudnymi, obiecując nawet możliwość ujednolicenia w przyszłości procesorów szeregowych i równoległych.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.