Fermi - przyszłość według Nvidii

| Technologia
Nvidia

Nvidia zaprezentowała nową architekturę procesorów graficznych. Fermi ma być nie tylko następcą obecnie wykorzystywanej architektury G80. To także pierwszy procesor graficzny ogólnego przeznaczenia.

Jen-Hsun Huang podczas wstępnej prezentacji nowej architektury przedstawił ją jako architekturę GPU, jednak Fermi to coś więcej niż procesor graficzny. Dlatego też Nvidia pozycjonuje go bardzo ostrożnie, wskazując na jego przydatność we współpracy z CUDA.

Procesory wykonane w architekturze Fermi będą zawierały 512 rdzeni CUDA, czyli dwukrotnie więcej niż obecne GPU Nvidii, oraz 3 miliardy tranzystorów. Firma zapewnia, że udało się jej ośmiokrotnie zwiększyć szybkość wykonywania operacji zmiennoprzecinkowych podwójnej precyzji.

Kość składa się z 16 multiprocesorów strumieniowych (SM), na które przypadają po 32 rdzenie. Każdy z nich ma do dyspozycji 64 kilobajty przestrzeni pamięci L1, którą można skonfigurować albo jako 48 kB pamięci współdzielonej + 16 kB cache L1 lub też 16 kB współdzielone + 48 kB L1. Na każdy SM przypada również 768 kilobajtów współdzielonej pamięci L2.

Nvidia zastosowała też zunifikowaną przestrzeń adresową, dzięki czemu Fermi w pełni wspiera oprogramowanie napisane nie tylko w C, ale również w C++. Usprawnieniu operacji i lepszemu wykorzystaniu C i C++ służy też zaimplementowanie technologii Nvidia Parallel DataCache, dzięki której oba rodzaje pamięci cache obsługują wszystkie przeprowadzane operacje, które są dokonywane w ściśle określonym porządku. Dzięki wykorzystaniu pamięci L1 do przechowywania danych rejestru (wcześniej były one przechowywane bezpośrednio w pamięci RAM) uzyskano znaczne skrócenie czasu dostępu do danych. Natomiast współdzielona pamięć L2 umożliwia błyskawiczną wymianę danych pomiędzy poszczególnymi SM.

Fermi to pierwszy układ graficzny, w którym zaimplementowano obsługę ECC (Error Correcting Code), chroniącą dane przed błędami powodowanymi przez wpływ promieniowania kosmicznego.

Jedną z ważnych technologii wykorzystanych w Fermim jest Nvidia GigaThread Engine. Pozwala on na jednoczesne wykonywanie różnych obliczeń w kontekście tej samej aplikacji. Dzięki temu programy wykorzystujące liczne mikrojądra mają do dyspozycji całą dostępną moc obliczeniową. W przypadku tradycyjnego, sekwencyjnego przetwarzania mikrojąder, wykorzystuje się tylko część dostępnej mocy.

Fermi współpracuje z 384-bitowymi kośćmi GDDR5 i jest w stanie obsłużyć do terabajta pamięci. Obsługuje technologie DirectX 11, OpenGL 3.2 oraz OpenCL.

Przy okazji prezentacji architektury Fermi poinformowano, że Nvidia i Microsoft stworzyły środowisko programistyczne Nexus. Zostało ono opracowane na potrzeby masowych obliczeń równoległych i jest zintegrowane z Microsoft Visual Studio. Nexus będzie, oczywiście, korzystał z możliwości Fermiego.

Producent Fermiego podkreśla jego przydatność w obliczeniach naukowych i związek z CUDA, jednak z drugiej strony porównuje go do G80. Fermi może więc być układem wykorzystywanym zarówno superkomputerach jak i pecetach miłośników gier komputerowych.

Fermi architektura Nvidia procesor graficzny CUDA