AMD FireStream

AMD FireStream była marką AMD dla ich linii produktów opartych na Radeonie , ukierunkowanych na przetwarzanie strumieniowe i / lub GPGPU w superkomputerach . Pierwotnie opracowana przez ATI Technologies wokół Radeona X1900 XTX w 2006 roku, linia produktów była wcześniej oznaczona zarówno jako ATI FireSTREAM , jak i AMD Stream Processor . AMD FireStream może być również używany jako koprocesor zmiennoprzecinkowy do odciążania obliczeń procesora, co jest częścią inicjatywy Torrenza . Linia FireStream została wycofana z produkcji od 2012 roku, kiedy obciążenia GPGPU zostały całkowicie przeniesione do AMD FirePro .

Przegląd

Linia FireStream to seria dodatkowych kart rozszerzeń wydanych w latach 2006-2010, opartych na standardowych procesorach graficznych Radeon, ale zaprojektowanych jako koprocesor ogólnego przeznaczenia , zamiast renderowania i generowania grafiki 3D. Podobnie jak FireGL/FirePro , dano im więcej pamięci i przepustowości pamięci, ale karty FireStream niekoniecznie mają porty wyjścia wideo. Wszystkie obsługują 32-bitowe operacje zmiennoprzecinkowe pojedynczej precyzji , a wszystkie z wyjątkiem pierwszej wersji obsługują 64-bitowe operacje podwójnej precyzji . Linia została połączona z nowymi interfejsami API, aby zapewnić wyższą wydajność niż istniejące API shaderów OpenGL i Direct3D , poczynając od Close to Metal , następnie OpenCL i Stream Computing SDK, a ostatecznie zintegrowano z APP SDK .

W przypadku wysoce równoległych obciążeń matematycznych zmiennoprzecinkowych karty mogą przyspieszyć duże obliczenia ponad 10-krotnie; Folding@Home, najwcześniejszy i jeden z najbardziej widocznych użytkowników GPGPU, uzyskał 20-40 razy wyższą wydajność procesora. Każdy moduł cieniujący piksele i wierzchołki lub ujednolicony moduł cieniujący w późniejszych modelach może wykonywać dowolne obliczenia zmiennoprzecinkowe.

Historia

Po wypuszczeniu rdzeni graficznych Radeon R520 i GeForce G70 z programowalnymi shaderami , duża przepustowość zmiennoprzecinkowa zwróciła uwagę grup akademickich i komercyjnych, eksperymentujących z wykorzystaniem ich do prac niezwiązanych z grafiką. Zainteresowanie to skłoniło ATI (i Nvidię ) do stworzenia produktów GPGPU — zdolnych do obliczania wzorów matematycznych ogólnego przeznaczenia w masowo równoległy sposób — do przetwarzania ciężkich obliczeń tradycyjnie wykonywanych na procesorach i wyspecjalizowanych zmiennoprzecinkowych koprocesorach matematycznych . Przewidywano, że procesory GPGPU będą miały natychmiastowy wzrost wydajności o współczynnik 10 lub większy w porównaniu ze współczesnymi obliczeniami obejmującymi tylko procesory wieloprocesorowe.

Ponieważ prace nad wysokowydajnym X1900 XFX były prawie zakończone, ATI oparło na nim swój pierwszy projekt procesora strumieniowego, ogłaszając go jako nadchodzący ATI FireSTREAM wraz z nowym interfejsem API Close to Metal na SIGGRAPH 2006. Sam rdzeń pozostał w większości niezmieniony, z wyjątkiem do podwojenia wbudowanej pamięci i przepustowości, podobnie jak w przypadku FireGL V7350 ; obsługa nowych sterowników i oprogramowania stanowiła większość różnicy. Firma Folding@home zaczęła używać X1900 do ogólnych obliczeń, korzystając z przedpremierowej wersji 6.5 sterownika ATI Catalyst i zgłosiła 20-40-krotną poprawę wydajności procesora graficznego w stosunku do procesora. Pierwszy produkt został wydany pod koniec 2006 roku, przemianowany jako AMD Stream Processor po fuzji z AMD.

Marka stała się AMD FireStream wraz z drugą generacją procesorów strumieniowych w 2007 roku, opartych na układzie RV650 z nowymi ujednoliconymi modułami cieniującymi i obsługą podwójnej precyzji. Asynchroniczne DMA poprawiło również wydajność, umożliwiając większą pulę pamięci bez pomocy procesora. Wypuszczono jeden model, 9170, za początkową cenę 1999 USD. Plany obejmowały opracowanie procesora strumieniowego na module MXM do 2008 roku do laptopów, ale nigdy nie został wydany.

Trzecia generacja szybko pojawiła się w 2008 roku, oferując radykalną poprawę wydajności z rdzenia RV770; 9250 miał prawie dwukrotnie większą wydajność niż 9170 i stał się pierwszym jednoukładowym teraflopowym , pomimo obniżenia ceny do poniżej 1000 USD. Szybsze rodzeństwo, 9270, zostało wypuszczone wkrótce potem za 1999 USD.

W 2010 roku pojawiła się ostatnia generacja FireStreams, karty 9350 i 9370, oparte na chipie Cypress zastosowanym w HD 5800. Ta generacja ponownie podwoiła wydajność w stosunku do poprzedniej, do 2 teraflopów w 9350 i 2,6 teraflopów w 9370 i był pierwszym zbudowanym od podstaw dla OpenCL . Ta generacja była również jedyną, która posiadała w pełni pasywne chłodzenie, a aktywne chłodzenie było niedostępne.

Generacje Northern i Southern Islands zostały pominięte, aw 2012 roku AMD ogłosiło, że nowe serie FirePro W (stacja robocza) i S (serwer) oparte na nowej architekturze Graphics Core Next zastąpią karty FireStream.

modele


Model ( nazwa kodowa )
Początek
Architektura ( Fab )
Interfejs magistrali Procesory strumieniowe Częstotliwość zegara Pamięć
Moc obliczeniowa ( GFLOPS )
TDP ( Waty )
Rdzeń (MHz) Pamięć (MHz) Rozmiar ( MB ) Typ Szerokość magistrali ( bit ) Przepustowość ( GB /s) Pojedynczy Podwójnie

Procesor strumieniowy (R580)
2006
R500 80 nm
240 600 1024 GDDR3 256 83,2 375 Nie dotyczy 165

FireStream 9170 (RV670)
8 listopada 2007
TeraScale 1 55 nm
PCIe 2.0 x16 320 800 800 2048 GDDR3 256 51,2 512 102,4 105

FireStream 9250 (RV770)
16 czerwca 2008 r
TeraScale 1 55 nm
PCIe 2.0 x16 800 625 993 1024 GDDR3 256 63,6 1000 200 150

FireStream 9270 (RV770)
13 listopada 2008 r
TeraScale 1 55 nm
PCIe 2.0 x16 800 750 850 2048 GDDR5 256 108,8 1200 240 160

FireStream 9350 (Cypress XT)
23 czerwca 2010 r
TeraScale 2 40 nm
PCIe 2.1 x16 1440 700 1000 2048 GDDR5 256 128 2016 403.2 150

FireStream 9370 (Cyprys XT)
23 czerwca 2010 r
TeraScale 2 40 nm
PCIe 2.1 x16 1600 825 1150 4096 GDDR5 256 147,2 2640 528 225

Oprogramowanie

AMD FireStream został uruchomiony z szeroką gamą platform obsługujących oprogramowanie. Jedną z firm wspierających był PeakStream (przejęty przez Google w czerwcu 2007 r.), który jako pierwszy dostarczył otwartą wersję beta oprogramowania do obsługi procesorów CTM i AMD FireStream, a także procesorów x86 i Cell (Cell Broadband Engine). FireStream został uznany za 20 razy szybszy w typowych zastosowaniach niż zwykłe procesory po uruchomieniu oprogramowania PeakStream [ potrzebne źródło ] . Firma RapidMind dostarczyła również oprogramowanie do przetwarzania strumieniowego, które współpracowało z procesorami ATI i NVIDIA, a także z procesorami Cell.

Zestaw programistyczny

Po porzuceniu ich krótkotrwałego API Close to Metal , AMD skupiło się na OpenCL . Firma AMD po raz pierwszy udostępniła Stream Computing SDK (v1.0) w grudniu 2007 r. w ramach umowy AMD EULA , aby działała w systemie Windows XP . Zestaw SDK zawiera „Brook+”, zoptymalizowaną sprzętowo wersję języka Brook opracowaną przez Uniwersytet Stanforda, która sama w sobie jest wariantem języka ANSI C ( język C ), open-source i zoptymalizowaną pod kątem przetwarzania strumieniowego. Uwzględnione zostaną również biblioteki AMD Core Math Library (ACML) i AMD Performance Library (APL) z optymalizacjami dla AMD FireStream i biblioteki wideo COBRA (dalej przemianowanej na „Accelerated Video Transcoding” lub AVT) w celu przyspieszenia transkodowania wideo . Inna ważna część zestawu SDK, Compute Abstraction Layer (CAL), to warstwa programistyczna przeznaczona do niskopoziomowego dostępu, za pośrednictwem interfejsu sprzętowego CTM, do architektury GPU w celu dostrajania oprogramowania napisanego w różnych językach programowania wysokiego poziomu .

W sierpniu 2011 r. firma AMD wydała wersję 2.5 pakietu ATI APP Software Development Kit, która obejmuje obsługę OpenCL 1.1 , języka obliczeń równoległych opracowanego przez Khronos Group . Koncepcja shaderów obliczeniowych , oficjalnie nazywana DirectCompute, w interfejsie API nowej generacji firmy Microsoft o nazwie DirectX 11 jest już zawarta w sterownikach graficznych z obsługą DirectX 11.

Pakiet SDK aplikacji AMD

Wzorce

Zgodnie z zademonstrowanym przez firmę AMD systemem z dwoma dwurdzeniowymi procesorami AMD Opteron i dwoma rdzeniami graficznymi Radeon R600 działającymi w systemie Microsoft Windows XP Professional , 1 teraflop (TFLOP) można uzyskać za pomocą obliczeń typu Universal Multiple Add (MADD). Dla porównania, procesor Intel Core 2 Quad Q9650 3,0 GHz w tamtym czasie mógł osiągnąć 48 GFLOPS.

Podczas demonstracji skanowania antywirusowego Kaspersky SafeStream, które zostało zoptymalizowane pod kątem procesorów strumieniowych AMD, było w stanie skanować 21 razy szybciej z akceleracją opartą na R670 niż w przypadku wyszukiwania działającego wyłącznie na komputerze Opteron w 2007 roku.

Ograniczenia

  • Funkcje rekurencyjne nie są obsługiwane w Brook+, ponieważ wszystkie wywołania funkcji są wstawiane w czasie kompilacji. Korzystając z CAL, funkcje (rekurencyjne lub inne) są obsługiwane do 32 poziomów.
  • Obsługiwane jest tylko dwuliniowe filtrowanie tekstur; mipmapowane tekstury i filtrowanie anizotropowe nie są obsługiwane.
  • Funkcje nie mogą mieć zmiennej liczby argumentów. Ten sam problem występuje w przypadku funkcji rekurencyjnych.
  • Konwersja liczb zmiennoprzecinkowych na liczby całkowite na GPU odbywa się inaczej niż na procesorach x86; nie jest w pełni IEEE-754 .
  • Wykonanie „globalnej synchronizacji” na GPU nie jest zbyt wydajne, co zmusza GPU do podzielenia jądra i wykonania synchronizacji na CPU. Biorąc pod uwagę zmienną liczbę procesorów wieloprocesorowych i inne czynniki, idealne rozwiązanie tego problemu może nie istnieć.
  • Przepustowość magistrali i opóźnienia między procesorem a kartą graficzną mogą stać się wąskim gardłem .

Zobacz też

Linki zewnętrzne