Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

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

Podobne prezentacje


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

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

2 Plan prezentacji Równoległość – motywacja Równoległość – motywacja Karty graficzne – rasteryzacja Karty graficzne – rasteryzacja Techniki śledzenia promieni Techniki śledzenia promieni Przetwarzanie strumieniowe Przetwarzanie strumieniowe Technologie SLI i Crossfire Technologie SLI i Crossfire Obliczenia GPGPU vs. maszyny wieloprocesorowe Obliczenia GPGPU vs. maszyny wieloprocesorowe Podsumowanie 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 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 Optymalizacje architektury też mają swoje granice © Toms 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 Obiekty trójwymiarowe opisane poprzez tablice wierzchołków i trójkątów Przekształcanie wierzchołków niezależne 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 Rysowanie trójkątów: poprzez bufor głębi, rozbicie na poszczególne piksele, wypełniane niezależnie Idealne do zrównoleglenia Idealne do zrównoleglenia Niestety słaba jakość generowanej grafiki Niestety słaba jakość generowanej grafiki

6 Rasteryzacja – cd.

7 Podstawowy algorytm używany w grafice kompu- terowej – od początków tej dyscypliny do dziś 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 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ę Powstały w celu generacji grafiki o jakości znacznie przewyższającej rasteryzację Podstawowy algorytm: Podstawowy algorytm: śledzenie promieni światła pod prąd, od kamery, szukając przecięć z elementami sceny śledzenie promieni światła pod prąd, od kamery, szukając przecięć z elementami sceny odbicia od elementów odbicia od elementów uwzględnienie oświetlenia pochodzącego ze źródeł światła uwzględnienie oświetlenia pochodzącego ze źródeł światła

9 Techniki śledzenia promieni – cd.

10

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

12 Techniki śledzenia promieni – cd. Do zrównoleglenia algorytmów śledzenia promieni najlepiej nadają się maszyny wieloprocesorowe 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 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 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 Zaawansowany algorytm oparty o śledzenie promieni Technika dwuprzebiegowa Technika dwuprzebiegowa śledzenie promieni od źródeł światła, rejestracja fotonów w mapie w punktach przecięcia z geometrią sceny ś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 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 Bardzo dobre rezultaty Niestety duże zużycie pamięci, w szczególności dla złożonych scen 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 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 Ś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 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 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 rendering mapy fotonów – zrównoleglenie identyczne jak w przypadku metody podstawowej

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

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

19 Przetwarzanie strumieniowe – cd. Podstawowa metoda śledzenia promieni jest idealnym kandydatem na przetwarzanie strumieniowe Podstawowa metoda śledzenia promieni jest idealnym kandydatem na przetwarzanie strumieniowe Opis sceny reprezentowany przez pamięć tylko do odczytu Opis sceny reprezentowany przez pamięć tylko do odczytu Strumień wejściowy – numery promieni Strumień wejściowy – numery promieni Strumień wyjściowy – światło wpadające do kamery wzdłuż danego promienia 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 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 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 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 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 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 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) Niektóre aplikacje mogą skorzystać z trybu multi-GPU, a inne nie (nie wiadomo dlaczego) Niestabilne działanie, błędy w sterownikach Niestabilne działanie, błędy w sterownikach

23

24 Obliczenia GPGPU GPGPU – General Purpose GPU – obliczenia ogól- nego przeznaczenia na procesorach graficznych 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) Ogromna moc obliczeniowa (450 GFlops peak Nvidia Tesla GPU vs. 80 GFlops peak 4-rdzeniowego 3GHz CPU) Pojedyncza precyzja Pojedyncza precyzja Ograniczenia na możliwe algorytmy Ograniczenia na możliwe algorytmy Brak zarządzania pamięcią, dynamicznych struktur danych, rekurencji, funkcji wirtual- nych, max. 1.5GB pamięci na procesor 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) Algebra liniowa (np. mnożenie macierzy) Równania różniczkowe cząstkowe Równania różniczkowe cząstkowe FFT FFT I wiele innych, ogólnie: wszystkie te algorytmy, które operują na regularnych strukturach danych I wiele innych, ogólnie: wszystkie te algorytmy, które operują na regularnych strukturach danych Budowa i przeszukiwanie drzew niestety działa źle 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 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 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 Compute Unified Device Architecture Środowisko programistyczne dedykowane GPGPU Środowisko programistyczne dedykowane GPGPU Kompilator implementujący podzbiór języka C 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 Moc obliczeniowa znacznie większa niż w przypadku maszyn jednoprocesorowych Jednak wyraźnie mniejsza niż nawet pojedynczego GPU Jednak wyraźnie mniejsza niż nawet pojedynczego GPU Możliwość uruchamiania dowolnych algorytmów, podwójna precyzja 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 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 Algorytm używa nieregularnych struktur danych – np. drzew kd do przechowywania geometrii sceny Trudność tę można obejść, jednak kosztem utraty wydajności 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ń 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 Do uruchamiania algorytmu rasteryzacji najlepiej nadaje się wydajna karta graficzna z pojedynczym GPU Należy unikać technologii SLI i Crossfire Należy unikać technologii SLI i Crossfire Do śledzenia promieni najlepsze są maszyny wieloprocesorowe, oparte o CPU Do śledzenia promieni najlepsze są maszyny wieloprocesorowe, oparte o CPU Rozwiązania GPGPU zapewniają ogromną moc obliczeniową, niestety dla wąskiej klasy algorytmów Rozwiązania GPGPU zapewniają ogromną moc obliczeniową, niestety dla wąskiej klasy algorytmów


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

Podobne prezentacje


Reklamy Google