Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Obliczenia równoległe w grafice komputerowej

Podobne prezentacje


Prezentacja na temat: "Obliczenia równoległe w grafice komputerowej"— Zapis prezentacji:

1 Obliczenia równoległe w grafice komputerowej
Michał Radziszewski

2 Plan prezentacji Równoległość – motywacja
Karty graficzne – rasteryzacja Techniki śledzenia promieni Przetwarzanie strumieniowe Technologie SLI i Crossfire Obliczenia GPGPU vs. maszyny wieloprocesorowe Podsumowanie

3 Równoległość – motywacja
Obecna technologia nie pozwala na zwięk-szenie częstotliwości ponad ~3GHz bez znacznego wzrostu poboru prądu Optymalizacje architektury też mają swoje granice © Tom’s Hardware

4 Równoległość – motywacja
Obecnie jedyną możliwością znacznego zwiększenia mocy obliczeniowej pojedyn-czego komputera jest zwiększenie liczby procesorów bądź rdzeni w procesorze

5 Rasteryzacja Obiekty trójwymiarowe opisane poprzez tablice wierzchołków i trójkątów Przekształcanie wierzchołków niezależne Rysowanie trójkątów: poprzez bufor głębi, rozbicie na poszczególne piksele, wypełniane niezależnie Idealne do zrównoleglenia Niestety słaba jakość generowanej grafiki

6 Rasteryzacja – cd.

7 Rasteryzacja – cd. Podstawowy algorytm używany w grafice kompu-terowej – od początków tej dyscypliny do dziś W komputerach PC równoległe wykonanie znacznie wcześniej niż wiele rdzeni – od 2. połowy lat ‘90

8 Techniki śledzenia promieni
Powstały w celu generacji grafiki o jakości znacznie przewyższającej rasteryzację Podstawowy algorytm: śledzenie promieni światła ‘pod prąd’, od kamery, szukając przecięć z elementami sceny odbicia od elementów uwzględnienie oświetlenia pochodzącego ze źródeł światła

9 Techniki śledzenia promieni – cd.

10 Techniki śledzenia promieni – cd.

11 Techniki śledzenia promieni – cd.
Przy podstawowej metodzie obliczanie kolo-ru każdego fragmentu obrazu wynikowego jest niezależne Metody bardziej zaawansowane wprowadza-ją pewne zależności Mimo to, śledzenie promieni jest doskona-łym kandydatem do zrównoleglenia Źle działa na kartach graficznych

12 Techniki śledzenia promieni – cd.
Do zrównoleglenia algorytmów śledzenia promieni najlepiej nadają się maszyny wieloprocesorowe Od opublikowania biblioteki DirectX 9 są próby uruchomienia tych algorytmów na kartach graficznych Ta druga opcja, mimo nieznacznego wzrostu wydajności, wciąż narzuca zbyt poważne ograniczenia na oprogramowanie

13 Mapowanie fotonów Zaawansowany algorytm oparty o śledzenie promieni
Technika dwuprzebiegowa śledzenie promieni od źródeł światła, rejestracja fotonów w mapie w punktach przecięcia z geometrią sceny rendering podobnie jak w zwykłej metodzie śledzenia promieni, ale z użyciem mapy fotonów zamiast oryginalnych źródeł światła

14 Mapowanie fotonów – cd. © Henrik Wann Jensen

15 Mapowanie fotonów – cd. Bardzo dobre rezultaty
Niestety duże zużycie pamięci, w szczególności dla złożonych scen Nieco trudniejsze w zrównolegleniu, niż podstawowy algorytm śledzenia promieni Śledzenie fotonów – zrównoleglenie podobnie jak w przypadku metody podstawowej, rejestracja fotonów w tablicy

16 Mapowanie fotonów – cd. Nieco trudniejsze w zrównolegleniu, niż podstawowy algorytm śledzenia promieni budowa struktury kd-tree na podstawie tablicy fotonów – tez można zrównoleglić, choć nieco trudniej rendering mapy fotonów – zrównoleglenie identyczne jak w przypadku metody podstawowej

17 Przetwarzanie strumieniowe
Podejścia SIMD i MIMD A może jedna procedura i wiele danych?

18 Przetwarzanie strumieniowe – cd.
Model pewnej klasy algorytmów równoległych Abstrakcyjny model procesora strumieniowe-go pozwala wykonać dowolny program na każdym elemencie strumienia wejściowego Przetwarzanie elementów strumienia niezależne, bez zachowania kolejności Procesor strumieniowy narzuca pewne ograniczenia, ale oferuje lepszą wydajność

19 Przetwarzanie strumieniowe – cd.
Podstawowa metoda śledzenia promieni jest idealnym kandydatem na przetwarzanie strumieniowe Opis sceny reprezentowany przez pamięć tylko do odczytu Strumień wejściowy – numery promieni Strumień wyjściowy – światło wpadające do kamery wzdłuż danego promienia

20 Przetwarzanie strumieniowe – cd.
Niestety, mapowanie fotonów nie daje się opisać przy pomocy jednej procedury Pierwszy krok strumieniowy – numery fotonów na wejściu, ich energie i położenia na wyjściu Budowa mapy fotonów na podstawie wyjścia poprzedniego kroku, ogólny (nie-strumieniowy) algorytm równoległy Drugi krok strumieniowy – rendering, w pamięci do odczytu opis sceny + mapa fotonów

21 Technologie SLI/Crossfire
Zwiększenie mocy obliczeniowej poprzez użycie kilku kart graficznych bądź karty dwuprocesorowej Metody SFR (Split Frame Rendering) i AFR (Alternate Frame Rendering)

22 Technologie SLI/Crossfire – cd.
Niestety, technologie te są przykładem na to, jak teoretycznie bardzo dobre rozwiązanie można zepsuć w praktyce Replikacja danych w pamięci, karta mająca w sloganach reklamowych 1GB pamięci potrafi przechowywać 512MB danych Niektóre aplikacje mogą skorzystać z trybu multi-GPU, a inne nie (nie wiadomo dlaczego) Niestabilne działanie, błędy w sterownikach

23

24 Obliczenia GPGPU GPGPU – General Purpose GPU – obliczenia ogól-nego przeznaczenia na procesorach graficznych © Goodnight, Woolley, Lewin, Luebke, Humphreys: Graphics Hardware 2003

25 Obliczenia GPGPU – cd. Ogromna moc obliczeniowa (450 GFlops peak Nvidia Tesla GPU vs. 80 GFlops peak 4-rdzeniowego 3GHz CPU) Pojedyncza precyzja Ograniczenia na możliwe algorytmy Brak zarządzania pamięcią, dynamicznych struktur danych, rekurencji, funkcji wirtual-nych, max. 1.5GB pamięci na procesor

26 Algorytmy GPGPU Algebra liniowa (np. mnożenie macierzy)
Równania różniczkowe cząstkowe FFT I wiele innych, ogólnie: wszystkie te algorytmy, które operują na regularnych strukturach danych Budowa i przeszukiwanie drzew niestety działa źle

27 Algorytmy GPGPU – cd. Jeżeli dany algorytm da się bezproblemowo uruchomić w technologii GPGPU, to algorytm ten będzie działał wielokrotnie szybciej niż na CPU W przeciwnym wypadku straty wydajności na podziale na elementy CPU i GPGPU oraz na transmisje danych powodują nieopłacal-ność podejścia GPGPU

28 Nvidia CUDA Compute Unified Device Architecture
Środowisko programistyczne dedykowane GPGPU Kompilator implementujący podzbiór języka C © Nvidia

29 Nvidia CUDA – GPU Tesla

30 Maszyny wieloprocesorowe
Moc obliczeniowa znacznie większa niż w przypadku maszyn jednoprocesorowych Jednak wyraźnie mniejsza niż nawet pojedynczego GPU Możliwość uruchamiania dowolnych algorytmów, podwójna precyzja W przypadku rozwiązań Intela wąskim gardłem jest dostęp do pamięci, pod koniec tego roku ma to ulec poprawie

31 Maszyny wieloprocesorowe – cd.
© Ulrich Drepper,

32 Śledzenie promieni CPU vs. GPU
Algorytm używa nieregularnych struktur danych – np. drzew kd do przechowywania geometrii sceny Trudność tę można obejść, jednak kosztem utraty wydajności Obecne implementacje GPU nieco szybsze, jednak za cenę poważnych ograniczeń (np. same trójkąty, niewielkie sceny) i nieprecy-zyjnych obliczeń

33 Podsumowanie Do uruchamiania algorytmu rasteryzacji najlepiej nadaje się wydajna karta graficzna z pojedynczym GPU Należy unikać technologii SLI i Crossfire Do śledzenia promieni najlepsze są maszyny wieloprocesorowe, oparte o CPU Rozwiązania GPGPU zapewniają ogromną moc obliczeniową, niestety dla wąskiej klasy algorytmów


Pobierz ppt "Obliczenia równoległe w grafice komputerowej"

Podobne prezentacje


Reklamy Google