artykuły

Pogłębiony test Radeona HD 7970 – multi-GPU, GPGPU, kodowanie wideo, karty różnych firm, podkręcanie ekstremalne

Powrót na Tahiti

168
8 lutego 2012, 06:00 Michał Grzegorz Wójcik

Video Codec Engine

Doskonała implementacja sprzętowego dekodera H.264 w procesorach Intel Core drugiej generacji wymusiła na AMD stworzenie równie wydajnego rozwiązania. Intel QuickSync umożliwia kodowanie materiałów H.264 na bieżąco przy użyciu procesora. Ponieważ uczestniczą w tym jednostki wykonawcze zintegrowanego GPU, tej funkcji zabrakło w najnowszych procesorach Sandy Bridge E. Niemniej jednak nawet tanie Core i7/i5/i3 umożliwiają kodowanie H.264 na bieżąco. AMD pozostało zatem zrobić coś lepszego:

 

 

Kodowanie H.264 może się odbywać szybciej niż „w czasie rzeczywistym”. Tryb „pełny” (Full Mode) będzie miał zastosowanie w tańszych układach graficznych, w tym zintegrowanych w przyszłych APU. Kodowaniem w tym trybie będą się zajmować ściśle wyspecjalizowane jednostki będące częścią VCE (ang. Video Codec Engine). W dużej mierze przypomina to QuickSync. Jednak czy tak jak u Intela wydajność w przypadku najtańszych i najdroższych produktów będzie taka sama? Niezupełnie:

Tryb hybrydowy, przeznaczony do wykorzystania w GPU z lepszej półki, umie to samo co tryb pełny, tylko robi to dużo szybciej. Ma to umożliwić użycie jednostek obliczeniowych ogólnego przeznaczenia w procesorze graficznym do równoległych zadań będących częściami składowymi kodowania strumienia H.264. Tylko kodowanie entropii jest w tym trybie pozostawione wyspecjalizowanej, sprzętowej jednostce VCE. Zatem GPU będzie znacznie mocniej zaangażowany niż w trybie pełnym, w którym do pracy zaprzęgnięty zostaje jedynie VCE. Skrótowo przedstawia to poniższy schemat:

 

Tryb hybrydowy kodowania powinien być zatem jeszcze szybszy od pełnego. Ten drugi i tak jest szybszy niż kodowanie „w czasie rzeczywistym”.

Unified Video Decoder

Sprzętowy dekoder strumieni wideo pozostaje niezmieniony. AMD podczas prezentacji produktu nie chwali się numerem UVD, a jedynie przedstawia jego możliwości. Z naszych informacji wynika, że odpowiada on UVD3, choć wcześniej mówiło się, że jest nieco rozbudowany. Najlepiej będzie sprawdzić to na przykładzie. W obliczu braku alternatywnego oprogramowania użyliśmy znanego nam narzędzia obsługującego akcelerację sprzętową dekodowania wideo na kartach graficznych obydwu producentów. W przypadku Tahiti dostępne jest tylko sprzętowe przyspieszenie dekodowania, a w przypadku starszego Radeona i karty Nvidia w użyciu jest technika wykorzystująca akcelerację kodowania i dekodowania. Jak tylko zdobędziemy inne programy obsługujące funkcje VCE najnowszego Radeona HD 7970, wzbogacimy procedurę testową.

W oczy rzuca się to, że obciążenie procesora po użyciu karty AMD Radeon HD 7970 jest nieco za duże. Zastanawiamy się, czy to kwestia sterowników, czy może charakterystyka obecnej wersji akceleracji sprzętowej. MediaEspresso wykrywa w przypadku Tahiti jedynie akcelerację sprzętową kodowania, natomiast Radeon HD 6970 wspomaga w nim zarówno kodowanie, jak i dekodowanie. Zapewne to jest przyczyna większego obciążenia CPU i najpewniej zostanie to poprawione w przyszłych wersjach oprogramowania.  

Steady Video 2.0

Funkcja Steady Video została w architekturze GCN odświeżona. Pierwsza wersja tej techniki jest dostępna wraz z procesorami AMD Llano od zeszłego roku. Funkcjonalność Steady Video 2.0 została rozbudowana o obsługę materiałów wideo z przeplotem oraz obrazów o proporcjach innych, niż ma ekran, wyświetlanych z czarną ramką. W tym drugim przypadku uwzględnione są dwie sytuacje: letterbox, gdy obraz ma większy stosunek szerokości do wysokości niż ekran, oraz pillarbox, gdy to stosunek wysokości do szerokości jest większy (np. obraz 4 : 3 jest wyświetlany na ekranie 16 : 9).

Nowością są dodatkowe instrukcje obsługujące oprócz SAD (ang. Sum of Absolute Differences) także QSAD, co oznacza poczwórne sumy bezwzględnych różnic. Suma różnic bezwzględnych to prosty i powszechnie używany algorytm do mierzenia podobieństwa między blokami obrazu. Obliczenia opierają się na analizie bezwzględnej różnicy między pikselem w bloku obrazu a pikselem w bloku obrazu użytym do porównania. Te różnice są sumowane, co pozwala stworzyć prostą metrykę podobieństwa bloków. Implementacja QSAD umożliwia znaczne przyspieszenie przetwarzania tego typu danych, gdyż obejmuje nie tylko cztery typowe instrukcje SAD, które są przetwarzane w jednym cyklu obliczeń, ale także informacje o osiowaniu obrazu.

 

 

9