Akceleracja sprzętowa symulacji elektromagnetycznych. graficznych (GPU)

Wielkość: px
Rozpocząć pokaz od strony:

Download "Akceleracja sprzętowa symulacji elektromagnetycznych. graficznych (GPU)"

Transkrypt

1 Posiedzenie Polskiego Chapteru IEEE EMC-s Wrocław, 13 czerwca 2013 Akceleracja sprzętowa symulacji elektromagnetycznych za pomocą kart graficznych (GPU) Politechnika Śląska

2 Posiedzenie Polskiego Chapteru IEEE EMC-s, Wrocław, 13 czerwca 2013 Plan prezentacji Motywacja Potok graficzny Architektura GPU Model programistyczny CUDA Metoda momentów Przykłady obliczeniowe Podsumowanie 2

3 Motywacja Metody pełnofalowe wykorzystywane do rozwiązywania zadań elektromagnetyzmu obliczeniowego (CEM) angażują bardzo duże zasoby komputerowe (pamięć RAM, czas obliczeń) Współczesne karty graficzne dysponują ogromną mocą obliczeniową, która może zostać wykorzystana do realizacji zadań CEM Moc obliczeniowa kart graficznych jest obecnie stosunkowo łatwo dostępna 3

4 Posiedzenie Polskiego Chapteru IEEE EMC-s, Wrocław, 13 czerwca 2013 Motywacja Moc obliczeniowa kart graficznych 4

5 Posiedzenie Polskiego Chapteru IEEE EMC-s, Wrocław, 13 czerwca 2013 Cel prowadzonych prac Przystosowanie istniejących kodów numerycznych implementujących metody CEM do wykonania w heterogenicznym środowisku obliczeniowym CPU/GPU Określenie efektywności obliczeniowej zmodyfikowanych algorytmów 5

6 Przetwarzanie Przetwarzanie wierzchołków wierzchołków Tworzenie Tworzenie geometrii geometrii (triangularyzacja) (triangularyzacja) Potok graficzny Rasteryzacja Rasteryzacja Rendering Obróbka Obróbka obrazu obrazu poddanego poddanego rasteryzacji rasteryzacji Kształtowanie Kształtowanie danych danych bufora bufora ramki ramki Vetrtex Vetrtex transforms transforms Primitive Primitive assembly assembly Rasterization Rasterization Raster Raster operations operations Frame Frame buffer buffer 6

7 Potok graficzny Systemy wyświetlania rastrowego (tworzenie obrazu w technologii VGA i SVGA Krok 1: Procesor przesyła przetworzony obraz wideo do karty graficznej (zajmuje się on m.in. : przetwarzaniem wierzchołków, dokonuje traingularyzacji oraz przeprowadza rendering) Krok 2: Przetworzony, cyfrowy sygnał wideo przesłany zostaje do karty graficznej Krok 3 Krok 4: Analogowy sygnał wideo (z wyodrębnionymi trzema składowymi koloru R, G i B) przesłany zostaje do monitora Przesłane dane zostają zapisane w pamięci karty. Przetwornik cyfrowoanalogowy DAC przetwarza cyfrowy sygnał obrazu na sygnał analogowy obrazu Krok 5: Trzy niezależne działa elektronowe emitują strumienie elektronów, które bombardują ekran monitora Krok 6 Dochodzi do pobudzenia luminoforów monitora i na ekranie wyświetlony zostaje obraz 7

8 Potok graficzny Systemy wyświetlania rastrowego (tworzenie obrazu w technologii VGA i SVGA Krok 1: Procesor przesyła przetworzony obraz wideo do karty graficznej (zajmuje się on m.in. : przetwarzaniem wierzchołków, dokonuje traingularyzacji oraz przeprowadza rendering) Krok 2: Przetworzony, cyfrowy sygnał wideo przesłany zostaje do karty graficznej Krok 3 Krok 4: Analogowy sygnał wideo (z wyodrębnionymi trzema składowymi koloru R, G i B) przesłany zostaje do monitora Przesłane dane zostają zapisane w pamięci karty. Przetwornik cyfrowoanalogowy DAC przetwarza cyfrowy sygnał obrazu na sygnał analogowy obrazu Krok 5: Trzy niezależne działa elektronowe emitują strumienie elektronów, które bombardują ekran monitora Zauważmy, że karty graficzne oparte na technologii VGS i SVGA nie uczestniczyły w żaden sposób w tworzeniu treści obrazu Krok 6 Dochodzi do pobudzenia luminoforów monitora i na ekranie wyświetlony zostaje obraz 8

9 Potok graficzny Systemy wyświetlania rastrowego (tworzenie obrazu w technologii VGA i SVGA Krok 2: Przetworzony, cyfrowy sygnał wideo przesłany zostaje do karty Krok 4: Analogowy sygnał wideo (z wyodrębnionymi trzema składowymi koloru R, G i B) przesłany zostaje do monitora Krok 1: graficznej Procesor przesyła przetworzony obraz wideo do karty graficznej (zajmuje się on m.in. : przetwarzaniem wierzchołków, dokonuje train- Przesłane dane zostają zapisane w tworzeniem i zmianami Krok 3treści obrazu gularyzacji oraz pamięci karty. Przetwornik cyfrowoanalogowy DAC przetwarza cyfro- przeprowadza renderingwy sygnał obrazu na sygnał analogowy obrazu Krok 5: Trzy niezależne działa elektronowe emitują strumienie elektronów, które bombardują ekran monitora Zauważmy, że karty graficzne oparte na technologii VGS i SVGA nie uczestniczyły w żaden sposób w tworzeniu treści obrazu Pojawienie się graficznego interfejsu użytkownika GUI (system operacyjny Windows, OS/2) spowodowało znaczący wzrost ilości przetwarzanych informacji graficznych, co przełożyło się na: duże obciążenie procesora głównego obliczeniami Krok związanymi 6 Dochodzi do pobudzenia luminoforów monitora i na konieczność przesyłania dużej ilości informacji poprzez ekranie wyświetlony magis- zostaje obraz tralę łączącą procesor główny z pamięcią wideo karty graficznej 9

10 Potok graficzny Systemy wyświetlania rastrowego (tworzenie obrazu w technologii VGA i SVGA Krok 1: Procesor przesyła przetworzony obraz wideo do karty graficznej (zajmuje się on m.in. : przetwarzaniem wierzchołków, dokonuje traingularyzacji oraz przeprowadza rendering) Przetworzony, cyfrowy sygnał wideo przesłany zostaje do karty graficznej Krok 3 Krok 4: Analogowy sygnał wideo (z wyodrębnionymi trzema składowymi koloru R, G i B) przesłany zostaje do monitora Przesłane dane zostają zapisane w pamięci karty. Przetwornik cyfrowoanalogowy DAC przetwarza cyfrowy sygnał obrazu na sygnał analogowy obrazu Krok 5: Trzy niezależne działa elektronowe emitują strumienie elektronów, które bombardują ekran monitora Jedynym rozsądnym sposobem pozwalającym zmniejszyć obciążenie procesora głównego oraz magistrali danych było przekazanie części uprawnień do tworzenia obrazu bezpośrednio karcie Krok 2: graficznej. Krok 6 Dochodzi do pobudzenia luminoforów monitora i na ekranie wyświetlony zostaje obraz 10

11 Potok graficzny Systemy wyświetlania rastrowego (tworzenie obrazu w technologii VGA i SVGA Krok 4: Analogowy sygnał wideo (z wyodrębnionymi trzema składowymi koloru R, Krok 2: G i B) przesłany zostaje Przetworzony, do monitora graficznej. cyfrowy sygnał wideo przesłany zostaje do karty Krok 1: graficznej Procesor przesyła przetworzony obraz wideo do karty graficznej i (zajmuje koprocesorowych. się on m.in. : przetwarzaniem wierzchołków, dokonuje train- Przesłane dane zostają zapisane w Krok 3 gularyzacji oraz pamięci karty. Przetwornik cyfrowoanalogowy DAC przetwarza cyfro- przeprowadza renderingwy sygnał obrazu na sygnał analogowy obrazu Krok 5: Trzy niezależne działa elektronowe emitują strumienie elektronów, które bombardują ekran monitora Jedynym rozsądnym sposobem pozwalającym zmniejszyć obciążenie procesora głównego oraz magistrali danych było przekazanie części uprawnień do tworzenia obrazu bezpośrednio karcie Efektem tych spostrzeżeń było powstanie kart akceleratorowych Krok 6 Dochodzi do pobudzenia luminoforów monitora i na ekranie wyświetlony zostaje obraz 11

12 Posiedzenie Polskiego Chapteru IEEE EMC-s, Wrocław, 13 czerwca 2013 Potok graficzny Koprocesory graficzne i akceleratory graficzne Karta akceleratorowa Karta koprocesorowa 12

13 Potok graficzny Karty graficzne generacji 0 do początku lat 90-tych XX-go wieku Przetwarzanie Przetwarzanie wierzchołków wierzchołków Tworzenie Tworzenie geometrii geometrii (triangularyzacja) (triangularyzacja) Rasteryzacja Rasteryzacja Karty graficzne generacji I lata Przetwarzanie Przetwarzanie wierzchołków wierzchołków Tworzenie Tworzenie geometrii geometrii (triangularyzacja) (triangularyzacja) CPU Rasteryzacja Rasteryzacja Obróbka Obróbka obrazu obrazu poddanego poddanego rasteryzacji rasteryzacji Obróbka Obróbka obrazu obrazu poddanego poddanego rasteryzacji rasteryzacji Kształtowanie Kształtowanie danych danych bufora bufora ramki ramki Kształtowanie Kształtowanie danych bufora danych bufora ramki ramki CPU PCI GPU 13

14 Potok graficzny Karty graficzne generacji II lata AGP Przetwarzanie Przetwarzanie wierzchołków wierzchołków Tworzenie Tworzenie geometrii geometrii (triangularyzacja) (triangularyzacja) Rasteryzacja Rasteryzacja GPU Obróbka Obróbka obrazu obrazu poddanego poddanego rasteryzacji rasteryzacji Kształtowanie Kształtowanie danych danych bufora bufora ramki ramki 14

15 Potok graficzny Karty graficzne generacji II lata AGP Przetwarzanie Przetwarzanie wierzchołków wierzchołków Tworzenie Tworzenie geometrii geometrii (triangularyzacja) (triangularyzacja) Rasteryzacja Rasteryzacja GPU Obróbka Obróbka obrazu obrazu poddanego poddanego rasteryzacji rasteryzacji Jednostka T&L Kształtowanie Kształtowanie danych danych bufora bufora ramki ramki 15

16 Potok graficzny Karty graficzne generacji II lata AGP Przetwarzanie Przetwarzanie wierzchołków wierzchołków Tworzenie Tworzenie geometrii geometrii (triangularyzacja) (triangularyzacja) Rasteryzacja Rasteryzacja GPU Karty graficzne generacji III lata Przetwarzanie Przetwarzanie wierzchołków wierzchołków Tworzenie Tworzenie geometrii geometrii (triangularyzacja) (triangularyzacja) Rasteryzacja Rasteryzacja Obróbka Obróbka obrazu obrazu poddanego poddanego rasteryzacji rasteryzacji Jednostka T&L Obróbka Obróbka obrazu obrazu poddanego poddanego rasteryzacji rasteryzacji Kształtowanie Kształtowanie danych danych bufora bufora ramki ramki Kształtowanie Kształtowanie danych danych bufora bufora ramki ramki Programowalny Programowalny układ układ cieniowania cieniowania wierzchołków wierzchołków AGP 16 GPU

17 Potok graficzny Karty graficzne generacji II lata AGP Przetwarzanie Przetwarzanie wierzchołków wierzchołków Tworzenie Tworzenie geometrii geometrii (triangularyzacja) (triangularyzacja) Rasteryzacja Rasteryzacja GPU Karty graficzne generacji III lata Przetwarzanie Przetwarzanie wierzchołków wierzchołków Vertex Shader Tworzenie Tworzenie geometrii geometrii (triangularyzacja) (triangularyzacja) Rasteryzacja Rasteryzacja Obróbka Obróbka obrazu obrazu poddanego poddanego rasteryzacji rasteryzacji Jednostka T&L Pixel Shader Obróbka Obróbka obrazu obrazu poddanego poddanego rasteryzacji rasteryzacji Kształtowanie Kształtowanie danych danych bufora bufora ramki ramki Kształtowanie Kształtowanie danych danych bufora bufora ramki ramki Programowalny Programowalny układ układ cieniowania cieniowania wierzchołków wierzchołków AGP 17 GPU

18 Potok graficzny Karty graficzne generacji IV lata AGP Przetwarzanie Przetwarzanie wierzchołków wierzchołków Tworzenie Tworzenie geometrii geometrii (triangularyzacja) (triangularyzacja) Programowalny Programowalny układ układ cieniowania cieniowania wierzchołków wierzchołków Rasteryzacja Rasteryzacja GPU Programowalny Programowalny układ układ cieniowania cieniowania pikseli pikseli Obróbka Obróbka obrazu obrazu poddanego poddanego rasteryzacji rasteryzacji Kształtowanie Kształtowanie danych danych bufora bufora ramki ramki Pamięć Pamięć tekstur tekstur 18

19 Potok graficzny Karty graficzne generacji IV lata AGP Przetwarzanie Przetwarzanie wierzchołków wierzchołków Tworzenie Tworzenie geometrii geometrii (triangularyzacja) (triangularyzacja) Programowalny Programowalny układ układ cieniowania cieniowania wierzchołków wierzchołków Vertex Shader Rasteryzacja Rasteryzacja GPU Programowalny Programowalny układ układ cieniowania cieniowania pikseli pikseli Pixel Shader Obróbka Obróbka obrazu obrazu poddanego poddanego rasteryzacji rasteryzacji Kształtowanie Kształtowanie danych danych bufora bufora ramki ramki Pamięć Pamięć tekstur tekstur 19

20 Potok graficzny Karty graficzne generacji IV.5 (cztery i pół) lata AGP Przetwarzanie Przetwarzanie wierzchołków wierzchołków Tworzenie Tworzenie geometrii geometrii (triangularyzacja) (triangularyzacja) Programowalny Programowalny układ układ cieniowania cieniowania wierzchołków wierzchołków Pamięć tekstur Pamięć tekstur Rasteryzacja Rasteryzacja GPU Programowalny Programowalny układ układ cieniowania cieniowania pikseli pikseli Obróbka Obróbka obrazu obrazu poddanego poddanego rasteryzacji rasteryzacji Pamięć tekstur Pamięć tekstur Kształtowanie Kształtowanie danych danych bufora bufora ramki ramki 20

21 Potok graficzny Karty graficzne generacji IV.5 (cztery i pół) lata AGP Przetwarzanie Przetwarzanie wierzchołków wierzchołków Tworzenie Tworzenie geometrii geometrii (triangularyzacja) (triangularyzacja) Programowalny Programowalny układ układ cieniowania cieniowania wierzchołków wierzchołków Vertex Shader Pamięć tekstur Pamięć tekstur Rasteryzacja Rasteryzacja GPU Programowalny Programowalny układ układ cieniowania cieniowania pikseli pikseli Pixel Shader Obróbka Obróbka obrazu obrazu poddanego poddanego rasteryzacji rasteryzacji Pamięć tekstur Pamięć tekstur Kształtowanie Kształtowanie danych danych bufora bufora ramki ramki 21

22 Potok graficzny Karty graficzne generacji V od roku 2006 do chwili obecnej Programowalny Programowalny Programowalny Dane Programowalny Programowalny Programowalny Dane układ układ cieniowania układ Rasteryzacja cieniowa- układ układ cieniowania wejściowe geomeryzacja cieniowa- cieniowania cieniowania Raste- układ wejściowchołków wierz- wierzchołków geometrycznegninia pikseli trycznego pikseli PCI-E GPU Agregacja Agregacja i i przesył przesył danych danych wyjściowych wyjściowych 22

23 Potok graficzny Karty graficzne generacji V od roku 2006 do chwili obecnej Programowalny Programowalny Programowalny Agregacja Dane Programowalny Programowalny Programowalny Agregacja Dane układ i i przesył układ cieniowaniryzacja cieniowa- danych układ Raste- układ układ cieniowania wejściowe wierz- geomeryzacja cieniowa- wyj- cieniowania cieniowania Raste- układ przesył wejściowchołkótrycznegniściowych danych wyj- wierz- geomechołkónia pikseli trycznego pikseli ściowych Programowalny potok graficzny PCI-E GPU 23

24 Potok graficzny Karty graficzne generacji V od roku 2006 do chwili obecnej Agregacja Dane Agregacja Dane Programowalne i i przesył Programowalne zunifikowane zunifikowane jednostki jednostki cieniujące wejściowe unified shaders) wyj- cieniujące przesył wejściowściowych (ang. danych danych wyj- (ang. programmable programmable unified shaders) ściowych Programowalny potok graficzny PCI-E GPU Wprowadzenie zunifikowanych jednostek cieniowania (unified shaders) Pełne wsparcie dla obliczeń ogólnego przeznaczenia GPGPU 24

25 Architektura GPU Uwaga: Chcąc wykonywać obliczenia ogólnego przeznaczenia GPGPU na kartach graficznych, należy upewnić się, czy karta wyposażona jest w technologię CUDA lub ATI/AMD Stream Na opakowaniu kart graficznych należy więc poszukiwać jednego z prezentowanych logo. 25

26 Architektura GPU G80 G80 NVIDIA NVIDIA GT200 GT200 NVIDIA NVIDIA RV670 RV670 ATI ATI RV770 RV770 ATI/AMD ATI/AMD Architektura Architektura I-szej I-szej generacji generacji Architektura Architektura II-giej II-giej generacji generacji GF100 GF100 (Fermi) (Fermi) NVIDIA NVIDIA RV870 RV870 (Cypress) (Cypress) AMD AMD Architektura Architektura III-ciej III-ciej generacji generacji GK104 GK104 (Kepler) (Kepler) NVIDIA NVIDIA Maxwell Maxwell NVIDIA NVIDIA Cayman Cayman AMD AMD Tahiti Tahiti AMD AMD Architektura Architektura IV-tej IV-tej generacji generacji Architektura Architektura V-tej V-tej generacji generacji Karty graficzne V-tej generacji 26

27 Architektura GPU Procesor graficzny NVIDIA GK104 (Kepler) z technologią CUDA Podstawowym elementem architektury GK104 jest procesor strumieniowy SP, SPU (ang. Streaming Processor, Streaming Processor Unit) zwany również CUDA Core Procesor strumieniowy SP składa się z jednej 32-bitowej jednostki arytmetyczno-logicznej ALU (operacje na liczbach całkowitych) oraz jednej 64- bitowej jednostki zmiennoprzecinkowej FPU działającej z pojedynczą i podwójną precyzją Jednostki ALU i FPU nie mogą wykonywać obliczeń jednocześnie Core 27

28 Architektura GPU Procesor graficzny NVIDIA GK104 (Kepler) z technologią CUDA 192 procesory strumieniowe tworzą jeden multiprocesor strumieniowy SMX (ang. Streaming Multiprocessor) W skład SMX wchodzą także: 32 jednostki specjalne SFU (ang. Special Function Unit) do obliczania funkcji trygonometrycznych, wykładniczych i logarytmicznych 32 jednostki LD/ST (ang. Load/ Store Unit) ułatwiające zarządzanie adresami źródłowymi i docelowymi Pamięć współdzielona (ang. shared memory) 64kB Pamięć podręczna instrukcji (I Cache) 32kB Pamięć podręczna danych (Uniform Cache) 8 jednostek sterujących DU (ang. Dispatch Unit) rejestry 32-bitowe 28

29 Architektura GPU Procesor graficzny NVIDIA GK104 (Kepler) z technologią CUDA 2 multiprocesory strumieniowe SMX tworzą razem klaster GPC (ang. Graphics Processing Cluster) Klaster GPC zawiera dodatkowo: Jeden skalowalny silnik rastrujący (ang. Raster Engine) Dwa silniki polimorficzne (ang. Polymorph Engines) 32 jednostki teksturujące TU (ang. Texture Units) Pamięć podręczną tekstur TC (ang. Texture Cach) dwa bloki po jeden na każdy SMX o pojemności 32 kb 29

30 Architektura GPU Procesor graficzny NVIDIA GK104 (Kepler) z technologią CUDA 4 klastry GPC tworzy macierz procesorów strumieniowych SPA (ang. Streaming Processor Array) 1 GPU = 4 GPC 1 GPU = 8 SMX 1 GPU = 1536 SP 30

31 Architektura GPU Procesor graficzny NVIDIA GK104 (Kepler) z technologią CUDA Karta graficzna GeForce GTX

32 Architektura GPU Procesor graficzny NVIDIA GK110 (Kepler) z technologią CUDA 192 procesory strumieniowe tworzą jeden multiprocesor strumieniowy SMX (ang. Streaming Multiprocessor) W skład SMX wchodzą także: Pamięć współdzielona (ang. shared memory) 64kB Pamięć podręczna instrukcji (I Cache) Pamięć podręczna danych (Read-Only Data Cache) 48 kb 8 jednostek sterujących DU (ang. Dispatch Unit) rejestry 32-bitowe Brak silników sprzętowych wspmagających tworzenie grafiki (Raster Polymorph Engine) 32

33 Architektura GPU Procesor graficzny NVIDIA GK110 (Kepler) z technologią CUDA 192 procesory strumieniowe tworzą jeden multiprocesor strumieniowy SMX (ang. Streaming Multiprocessor) W skład SMX wchodzą także: 32 jednostki specjalne SFU (ang. Special Function Unit) do obliczania funkcji trygonometrycznych, wykładniczych i logarytmicznych 32 jednostki LD/ST (ang. Load/ Store Unit) ułatwiające zarządzanie adresami źródłowymi i docelowymi 64 jednostki DP (ang. Double Precision) zwiększające efektywność wykonywania operacji zmiennoprzecinkowych na liczbach podwójnej precyzji 33

34 Architektura GPU Procesor graficzny NVIDIA GK110 (Kepler) z technologią CUDA 1 GPU = 2880 SP, 1 GPU = 15 SMX, 1 SMX = 192 SP 34

35 Architektura GPU Procesor graficzny NVIDIA GK110 (Kepler) z technologią CUDA Akcelerator graficzny Tesla K20 35

36 Architektura GPU Procesor graficzny AMD Tahiti z technologią GCN (ang. Graphics Core Next) Podstawowym elementem architektury Tahiti jest jednostka arytmetyczno-logiczna ALU nazywana przez producenta procesorem strumieniowym SPU (ang. Streaming Processor Unit) Jednostki arytmetyczno-logiczne ALU wykonują operacje na liczbach całkowitych i zmiennoprzecinkowych zarówno pojedynczej jak i podwójnej precyzji ALU 36

37 Architektura GPU Procesor graficzny AMD Tahiti z technologią GCN (ang. Graphics Core Next) 16 jednostek ALU wraz z 64 kb rejestrem wykorzystywanym do przechowywania danych tworzy jeden rdzeń GCN SIMD (ang. Graphics Core Next SIMD) ALU 37

38 Architektura GPU Procesor graficzny AMD Tahiti z technologią GCN (ang. Graphics Core Next) 4 rdzenie GCN SIMD (16-wide Vector SIMD) tworzą tzw. jednostki obliczeniowe CU (ang. Compute Unit) 38

39 Architektura GPU Procesor graficzny AMD Tahiti z technologią GCN (ang. Graphics Core Next) Karta graficzna Radeon HD

40 Porównanie 40 Architektura GPU Pod względem oferowanej mocy obliczeniowej obydwa konkurencyjne rozwiązania wypadają podobnie Jeśli chodzi o cenę to karty graficzne firmy AMD są tańsze Jeśli chodzi o ilość oraz dostępność narzędzi programistycznych oraz liczbę powstałych apaplikacji to palmę pierwszeństwa należy oddać firmie NVIDIA

41 Architektura GPU - cechy Możliwość jednoczesnego wykonywania funkcji jądra i kopiowania danych z i do pamięci graficznej (ang. overlapping) 2-way overlapping 3-way overlapping 41

42 Architektura GPU - cechy Możliwość współbieżnego wykonywania kilku różnych funkcji jądra (ang. concurrent kernel execution) Sekwencyjne wykonywanie kilku różnych funkcji jądra Współbieżne wykonywanie kilku różnych funkcji jądra 42

43 Architektura GPU - cechy Pełne wsparcie dla standardu zapisu danych IEEE-754 znak bity kodu cechy bity ułamkowe mantysy Definicja formatu zmiennoprzecinkowego float Zakres: double Zakres: Wartości zdenormalizowane, wartości specjalne: QNaN, SNaN 43

44 Model programistyczny CUDA Technologia CUDA (ang. Compute Unified Device Architecture) to dziś: Uniwersalna architektura sprzętowo-programistyczna masowo równoległych, masowo wielordzeniowych procesorów (graficznych) firmy NVIDIA oraz Specjalny model programistyczny obejmujący: Specjalny interfejs programowania aplikacji Specjalny model pamięci Język wysokiego poziomu oparty na C, F95 Dedykowany kompilator (NVCC, PGI Fortran) 44

45 Model programistyczny CUDA Model przepływu danych 45

46 Model programistyczny CUDA Schemat wywołania funkcji jądra Kod jądra wykonywany jest jako krata wątków (ang. grid) Krata wątków dzieli się na bloki (ang. block of threads ), a każdy z bloków dzieli się na wątki (ang. threads) Zarówno krata jak i bloki wątków mogą mieć strukturę tablicy jedno-, dwu- lub trójwymiarowej Taki sposób podziału wątków ułatwia organizację obliczeń prowadzonych na procesorach strumieniowych 46

47 Model programistyczny CUDA Hierarchia wątków Każdy z wywołanych wątków jest wykonywany przez jeden procesor strumieniowy SP Wątki zgrupowane w bloki wątków są wykonywane współbieżnie na multiprocesorze strumieniowym SMX W zależności od dostępnych zasobów sprzętowych na jednym multiprocesorze strumieniowym SMX może być wykonywanych współbieznie do kilku bloków wątków Bloki wątkówi są zgrupowane w kratę wątków, na której jest wykonywana wywoływana funkcja jądra 47

48 Model programistyczny CUDA Osnowy (wiązki wątków) Jednostka sterująca DU multiprocesora strumieniowego SMX tworzy, zarządza, planuje i wykonuje współbieżnie wątki w grupach nazywanych osnową (wiązką) wątków Na osnowę (wiązkę) wątków składają się 32 wątki Przez pół-osnowę rozumie się pierwsze lub drugie 16 kolejnych wątków osnowy Wątki w osnowie wykonują tę samą instrukcję ale operują na różnych danych Dostęp do pamięci globalnej w ramach jednej transakcji uzyskuje jednocześnie po 16 wątków z każdego bloku wątków (jedna pół-osnowa) 48

49 Model programistyczny CUDA Organizacja dostępu do pamięci Lokalizacja: on-chip, rozmiar: mały Lokalizacja: off-chip, rozmiar: mały Lokalizacja: on-chip, rozmiar: mały Lokalizacja: off-chip, rozmiar: duży Lokalizacja: off-chip, rozmiar: mały Lokalizacja: off-chip, rozmiar: mały 49

50 Model programistyczny CUDA Dostępne narzędzia software owe i biblioteki numeryczne System operacyjny Windows Język programowania C, C++, kompilator nvcc firmy NVIDIA (darmowy) Język programowania C, kompilator Brook, Stanford University (darmowy) Język programowania C99, otwarty standard OpenCL (darmowy), kompilator MSVS (odpłatny z wyjątkiem środowisk akademickich), ICC (odpłatny), MinGW (darmowy) Język programowania Fortran, kompilator firmy PGI (odpłatny) Matlab parallel computing toolbox (odpłatny) Biblioteki: CUBLAS (darmowa), CULA (odpłatna z wyjątkiem środowisk akademickich), MAGMA (darmowa) 50

51 Model programistyczny CUDA Dostępne narzędzia software owe i biblioteki numeryczne System operacyjny Linux Język programowania C, C++, kompilator nvcc firmy NVIDIA (darmowy) Język programowania C, kompilator Brook, Stanford University (darmowy) Język programowania C99, otwarty standard OpenCL, kompilator GCC (darmowy), kompilator ICC (odpłatny) Język programowania Fortran, kompilator firmy PGI (odpłatny) Matlab parallel computing toolbox (odpłatny) Biblioteki: CUBLAS (darmowa), CULA (odpłatna z wyjątkiem środowisk akademickich), MAGMA (darmowa) 51

52 Metoda momentów Metody pełnofalowe wykorzystywane w elektrodynamice obliczeniowej Metoda momentów MoM (ang. Method of Moments) Metoda FDTD (ang. Finite Difference Timie Domain) Metoda elementów skończonych FEM (ang. Finite Element Method) 52

53 Metoda momentów Metody pełnofalowe wykorzystywane w elektrodynamice obliczeniowej Metoda momentów MoM (ang. Method of Moments) Metoda FDTD (ang. Finite Difference Timie Domain) Metoda elementów skończonych FEM (ang. Finite Element Method) Z wymienionych tutaj trzech metod pełnofalowych, metodę FDTD jest najłatwiej zaadoptować do realizacji na platformach/maszynach równoległych, natomiast metodę momentów najtrudniej. 53

54 54 Metoda momentów [ Z ][ I] [ V] Z macierz impedancyjna I poszukiwany prąd V znane pobudzenie

55 55 Metoda momentów [ Z ][ I] [ V] Z macierz impedancyjna I poszukiwany prąd V znane pobudzenie Najbardziej intensywne obliczeniowo jest: wypełnianie macierzy impedancyjnej rozwiązywanie układu równań

56 56 Metoda momentów [ Z ][ I] [ V]

57 57 Metoda momentów [ Z ][ I] [ V]

58 58 MoM CPU/GPU

59 59 MoM CPU/GPU

60 60 MoM CPU/GPU

61 61 MoM CPU/GPU

62 62 MoM CPU/GPU

63 63 MoM CPU/GPU

64 Obliczenia numeryczne Sprzęt CPU (3.6 GHz Intel Core i7 3820) GPU (Nvidia GeForce typu GTX 680) Oprogramowanie Implementacja CPU Kompilator Intel Fortran MKL Implementacja GPU Kompilator Fortranu PGI Biblioteka CULA R16a 64

65 Obliczenia numeryczne Przykład 1 Rozpraszanie fali elektromagnetycznej na bryle doskonale przewodzącej zamodelowanej za pomocą siatki złożonej z cienkich drucików CPU 65

66 Obliczenia numeryczne Przykład 1 Rozpraszanie fali elektromagnetycznej na bryle doskonale przewodzącej zamodelowanej za pomocą siatki złożonej z cienkich drucików CPU 66

67 Obliczenia numeryczne Przykład 1 Rozpraszanie fali elektromagnetycznej na bryle doskonale przewodzącej zamodelowanej za pomocą siatki złożonej z cienkich drucików GPU 67

68 Obliczenia numeryczne Przykład 1 Rozpraszanie fali elektromagnetycznej na bryle doskonale przewodzącej zamodelowanej za pomocą siatki złożonej z cienkich drucików GPU 68

69 Obliczenia numeryczne Przykład 1 Rozpraszanie fali elektromagnetycznej na bryle doskonale przewodzącej zamodelowanej za pomocą siatki złożonej z cienkich drucików 69

70 Obliczenia numeryczne Przykład 2 Wyznaczenie przebiegu częstotliwościowego impedancji wejściowej anteny umieszczonej na powierzchni przewodzącej bryły Liczba segmentów 3865 Liczba niewiadomych T. Topa, A. Karwowski, A. Noga,,,Using GPU with CUDA to accelerate MoM-based electromagnetic simulation of wire-grid models, IEEE Antennas Wireless Propag. Lett., vol. 10, str ,

71 Obliczenia numeryczne Przykład 2 Wyznaczenie przebiegu częstotliwościowego impedancji wejściowej anteny umieszczonej na powierzchni przewodzącej bryły 71

72 Obliczenia numeryczne Przykład 2 Wyznaczenie przebiegu częstotliwościowego impedancji wejściowej anteny umieszczonej na powierzchni przewodzącej bryły CPU 36s GPU 6.2s Zysk 5.8x 72

73 Obliczenia numeryczne Przykład 3 Wyznaczenie przebiegu częstotliwościowego impedancji wejściowej anteny śrubowej umieszczonej w ekranie cylindrycznym Liczba segmentów 277 Liczba płatków Liczba niewiadomych T. Topa, A. Noga, A. Karwowski,,,Adapting MoM with RWG basis functions to GPU technology using CUDA, IEEE Antennas Wireless Propag. Lett., vol. 10, str ,

74 Obliczenia numeryczne Przykład 3 Wyznaczenie przebiegu częstotliwościowego impedancji wejściowej anteny śrubowej umieszczonej w ekranie cylindrycznym 74

75 Obliczenia numeryczne Przykład 3 Wyznaczenie przebiegu częstotliwościowego impedancji wejściowej anteny śrubowej umieszczonej w ekranie cylindrycznym CPU 47.5s GPU 7.2s Zysk 6.6x 75

76 Obliczenia numeryczne Przykład 4 Badanie skuteczności ekranowania ekranu siatkowego Brak szczeliny Liczba segmentów 6228 Liczba niewiadomych 8307 Szczelina Liczba segmentów 6207 Liczba niewiadomych 8257 A. Karwowski, A. Noga, Interpolating broadband shielding behaviour of wire-grid cages from full-wave electromagnetic simulation, International Symposium on Electromagnetic Compatibility, EMC Europe 2012, Sep. 2012, Rome, Italy. 76

77 Obliczenia numeryczne Przykład 4 Badanie skuteczności ekranowania ekranu siatkowego Szczelina 77

78 Obliczenia numeryczne Przykład 4 Badanie skuteczności ekranowania ekranu siatkowego Brak szczeliny 78

79 Obliczenia numeryczne Przykład 4 Badanie skuteczności ekranowania ekranu siatkowego CPU 72,5s GPU 10.4s Zysk 6.95x Brak szczeliny 79

80 Obliczenia numeryczne Przykład 5 Wyznaczenie przebiegu częstotliwościowego impedancji wejściowej anteny QSA umieszczonej na powierzchni przewodzącego pudełka w kształcie prostopadłościanu Liczba segmentów 3732 Liczba niewiadomych

81 Obliczenia numeryczne Przykład 5 Wyznaczenie przebiegu częstotliwościowego impedancji wejściowej anteny QSA umieszczonej na powierzchni przewodzącego pudełka w kształcie prostopadłościanu Organizacja obliczeń numerycznych 81

82 Obliczenia numeryczne Przykład 5 Wyznaczenie przebiegu częstotliwościowego impedancji wejściowej anteny QSA umieszczonej na powierzchni przewodzącego pudełka w kształcie prostopadłościanu Wykorzystywana platforma obliczeniowa (4 x GTX 680, 4-rdzeniowy procesor i7 3820) 82

83 Obliczenia numeryczne Przykład 5 Wyznaczenie przebiegu częstotliwościowego impedancji wejściowej anteny QSA umieszczonej na powierzchni przewodzącego pudełka w kształcie prostopadłościanu 83

84 Obliczenia numeryczne Przykład 5 Wyznaczenie przebiegu częstotliwościowego impedancji wejściowej anteny QSA umieszczonej na powierzchni przewodzącego pudełka w kształcie prostopadłościanu 84

85 Obliczenia numeryczne Przykład 5 Wyznaczenie przebiegu częstotliwościowego impedancji wejściowej anteny QSA umieszczonej na powierzchni przewodzącego pudełka w kształcie prostopadłościanu CPU 35.2s 1 GPU 6s Zysk 5.9x 2 GPU 3s Zysk 11.6x 85

86 Obliczenia numeryczne Przykład 5 Wyznaczenie przebiegu częstotliwościowego impedancji wejściowej anteny QSA umieszczonej na powierzchni przewodzącego pudełka w kształcie prostopadłościanu CPU 35.2s 3 GPU 2s Zysk 17.6x 4 GPU 1.5s Zysk 23.5x 86

87 Podsumowanie Pokazano wyniki obliczeń numerycznych uzyskanych za pomocą metody momentów wspomaganej sprzętowo. Algorytmy metody zmodyfikowano tak, aby możliwa była jej implementacja na kartach graficznych firmy NVIDIA. Środowisko heterogeniczne CPU/GPU zastosowano przy wypełnianiu macierzy impedancyjnej i rozwiązywaniu układu równań. Zaproponowany kierunek rozwoju oprogramowania służącego do rozwiązywania problemów numerycznych elektrodynamiki obliczeniowej wydaje się być właściwy, gdyż stwarza możliwość przyspieszenia obliczeń w już prowadzonych projektach. 87

88 Dalsze prace Implementacja algorytmów MoM dla klastrów obliczeniowych złożonych z procesorów strumieniowych GPU i wielordzeniowych CPU T. Topa, A. Karwowski, A. Noga, "Multi-Core/Multi-GPU Hardware Acceleration of Frequency-Domain Numerical Simulations", Computer Physics Communications (submitted). Implementacja algorytmów out-of-core Wypełnianie macierzy impedancyjnej Rozwiązywanie układu równań Iteracyjne rozwiązywanie układu równań 88

89 89 Posiedzenie Polskiego Chapteru IEEE EMC-s Wrocław, 13 czerwca 2013 DZIĘKUJĘ ZA UWAGĘ

Tesla. Architektura Fermi

Tesla. Architektura Fermi Tesla Architektura Fermi Tesla Tesla jest to General Purpose GPU (GPGPU), GPU ogólnego przeznaczenia Obliczenia dotychczas wykonywane na CPU przenoszone są na GPU Możliwości jakie daje GPU dla grafiki

Bardziej szczegółowo

i3: internet - infrastruktury - innowacje

i3: internet - infrastruktury - innowacje i3: internet - infrastruktury - innowacje Wykorzystanie procesorów graficznych do akceleracji obliczeń w modelu geofizycznym EULAG Roman Wyrzykowski Krzysztof Rojek Łukasz Szustak [roman, krojek, lszustak]@icis.pcz.pl

Bardziej szczegółowo

Programowanie procesorów graficznych GPGPU

Programowanie procesorów graficznych GPGPU Programowanie procesorów graficznych GPGPU 1 GPGPU Historia: lata 80 te popularyzacja systemów i programów z graficznym interfejsem specjalistyczne układy do przetwarzania grafiki 2D lata 90 te standaryzacja

Bardziej szczegółowo

Podsystem graficzny. W skład podsystemu graficznego wchodzą: karta graficzna monitor

Podsystem graficzny. W skład podsystemu graficznego wchodzą: karta graficzna monitor Plan wykładu 1. Pojęcie podsystemu graficznego i karty graficznej 2. Typy kart graficznych 3. Budowa karty graficznej: procesor graficzny (GPU), pamięć podręczna RAM, konwerter cyfrowo-analogowy (DAC),

Bardziej szczegółowo

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Mariusz Uchroński 3 grudnia 2010 Plan prezentacji 1. Wprowadzenie 2.

Bardziej szczegółowo

Programowanie procesorów graficznych NVIDIA (rdzenie CUDA) Wykład nr 1

Programowanie procesorów graficznych NVIDIA (rdzenie CUDA) Wykład nr 1 Programowanie procesorów graficznych NVIDIA (rdzenie CUDA) Wykład nr 1 Wprowadzenie Procesory graficzne GPU (Graphics Processing Units) stosowane są w kartach graficznych do przetwarzania grafiki komputerowej

Bardziej szczegółowo

Przetwarzanie Równoległe i Rozproszone

Przetwarzanie Równoległe i Rozproszone POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI I TECHNOLOGII INFORMACYJNYCH Przetwarzanie Równoległe i Rozproszone www.pk.edu.pl/~zk/prir_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl

Bardziej szczegółowo

Programowanie z wykorzystaniem technologii CUDA i OpenCL Wykład 1

Programowanie z wykorzystaniem technologii CUDA i OpenCL Wykład 1 Programowanie z wykorzystaniem technologii CUDA i OpenCL Wykład 1 Organizacja przedmiotu Dr inż. Robert Banasiak Dr inż. Paweł Kapusta 1 2 Nasze kompetencje R n D Tomografia 3D To nie tylko statyczny obraz!

Bardziej szczegółowo

Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest

Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest KARTA GRAFICZNA Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest odbiór i przetwarzanie otrzymywanych od komputera

Bardziej szczegółowo

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK 1 PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK POLITECHNIKA CZĘSTOCHOWSKA 2 Część teoretyczna Informacje i wstępne wymagania Cel przedmiotu i zakres materiału Zasady wydajnego

Bardziej szczegółowo

Libra.cs.put.poznan.pl/mailman/listinfo/skisrkolo.

Libra.cs.put.poznan.pl/mailman/listinfo/skisrkolo. Konrad Szałkowski Libra.cs.put.poznan.pl/mailman/listinfo/skisrkolo Skisr-kolo@libra.cs.put.poznan.pl Po co? Krótka prezentacja Skąd? Dlaczego? Gdzie? Gdzie nie? Jak? CPU Pamięć DDR3-19200 19,2 GB/s Wydajność

Bardziej szczegółowo

Karty graficzne możemy podzielić na:

Karty graficzne możemy podzielić na: KARTY GRAFICZNE Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest odbiór i przetwarzanie otrzymywanych od komputera

Bardziej szczegółowo

Przegląd architektury PlayStation 3

Przegląd architektury PlayStation 3 Przegląd architektury PlayStation 3 1 Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) Sony PlayStation 3 Konsola siódmej generacji Premiera: listopad 2006 33,5 mln sprzedanych

Bardziej szczegółowo

Programowanie współbieżne Wprowadzenie do programowania GPU. Rafał Skinderowicz

Programowanie współbieżne Wprowadzenie do programowania GPU. Rafał Skinderowicz Programowanie współbieżne Wprowadzenie do programowania GPU Rafał Skinderowicz Literatura Sanders J., Kandrot E., CUDA w przykładach, Helion. Czech Z., Wprowadzenie do obliczeń równoległych, PWN Ben-Ari

Bardziej szczegółowo

Architektura von Neumanna

Architektura von Neumanna Architektura von Neumanna Klasyfikacja systemów komputerowych (Flynna) SISD - Single Instruction Single Data SIMD - Single Instruction Multiple Data MISD - Multiple Instruction Single Data MIMD - Multiple

Bardziej szczegółowo

Programowanie Współbieżne

Programowanie Współbieżne Programowanie Współbieżne Agnieszka Łupińska 5 października 2016 Hello World! helloworld.cu: #include global void helloworld(){ int thid = (blockidx.x * blockdim.x) + threadidx.x; printf("hello

Bardziej szczegółowo

OpenGL - Open Graphics Library. Programowanie grafiki komputerowej. OpenGL 3.0. OpenGL - Architektura (1)

OpenGL - Open Graphics Library. Programowanie grafiki komputerowej. OpenGL 3.0. OpenGL - Architektura (1) OpenGL - Open Graphics Library Programowanie grafiki komputerowej Rados$aw Mantiuk Wydzia$ Informatyki Zachodniopomorski Uniwersytet Technologiczny! OpenGL: architektura systemu do programowania grafiki

Bardziej szczegółowo

GRAFIKA KOMPUTEROWA. Rozwiązania sprzętowe i programowe. Przyspieszanie sprzętowe. Synteza dźwięku i obrazu

GRAFIKA KOMPUTEROWA. Rozwiązania sprzętowe i programowe. Przyspieszanie sprzętowe. Synteza dźwięku i obrazu Synteza dźwięku i obrazu GRAFIKA KOMPUTEROWA Rozwiązania sprzętowe i programowe Przyspieszanie sprzętowe Generowanie obrazu 3D wymaga złożonych obliczeń, szczególnie jeżeli chodzi o generowanie płynnej

Bardziej szczegółowo

Klasyfikacja systemów komputerowych. Architektura von Neumanna Architektura harwardzka Zmodyfikowana architektura harwardzka. dr inż.

Klasyfikacja systemów komputerowych. Architektura von Neumanna Architektura harwardzka Zmodyfikowana architektura harwardzka. dr inż. Rok akademicki 2011/2012, Wykład nr 6 2/46 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2011/2012

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2011/2012 Wykład nr 6 (27.04.2012) dr inż. Jarosław Forenc Rok akademicki

Bardziej szczegółowo

GRAFIKA KOMPUTEROWA. Rozwiązania sprzętowe i programowe. Przyspieszanie sprzętowe. Synteza i obróbka obrazu

GRAFIKA KOMPUTEROWA. Rozwiązania sprzętowe i programowe. Przyspieszanie sprzętowe. Synteza i obróbka obrazu Synteza i obróbka obrazu GRAFIKA KOMPUTEROWA Rozwiązania sprzętowe i programowe Przyspieszanie sprzętowe Generowanie obrazu 3D wymaga złożonych obliczeń, szczególnie jeżeli chodzi o generowanie płynnej

Bardziej szczegółowo

PROJEKTOWANIE SYSTEMÓW KOMPUTEROWYCH

PROJEKTOWANIE SYSTEMÓW KOMPUTEROWYCH PROJEKTOWANIE SYSTEMÓW KOMPUTEROWYCH WYKŁAD NR 6 KARTY GRAFICZNE I PROCESORY GRAFICZNE dr Artur Woike Historia rozwoju kart graficznych IBM MDA Standard MDA (Monochrome Display Adapter) powstał w 1981

Bardziej szczegółowo

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz

Bardziej szczegółowo

JCuda Czy Java i CUDA mogą się polubić? Konrad Szałkowski

JCuda Czy Java i CUDA mogą się polubić? Konrad Szałkowski JCuda Czy Java i CUDA mogą się polubić? Konrad Szałkowski Agenda GPU Dlaczego warto używać GPU Budowa GPU CUDA JCuda Przykładowa implementacja Co to jest? GPU GPU Graphical GPU Graphical Processing GPU

Bardziej szczegółowo

Praca dyplomowa magisterska

Praca dyplomowa magisterska Praca dyplomowa magisterska Implementacja algorytmów filtracji adaptacyjnej o strukturze transwersalnej na platformie CUDA Dyplomant: Jakub Kołakowski Opiekun pracy: dr inż. Michał Meller Plan prezentacji

Bardziej szczegółowo

Przyspieszanie sprzętowe

Przyspieszanie sprzętowe Synteza dźwięku i obrazu GRAFIKA KOMPUTEROWA Rozwiązania sprzętowe i programowe Przyspieszanie sprzętowe Generowanie obrazu 3D wymaga złoŝonych obliczeń, szczególnie jeŝeli chodzi o generowanie płynnej

Bardziej szczegółowo

Moc płynąca z kart graficznych

Moc płynąca z kart graficznych Moc płynąca z kart graficznych Cuda za darmo! Czyli programowanie generalnego przeznaczenia na kartach graficznych (GPGPU) 22 października 2013 Paweł Napieracz /20 Poruszane aspekty Przetwarzanie równoległe

Bardziej szczegółowo

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC Architektura Systemów Komputerowych Rozwój architektury komputerów klasy PC 1 1978: Intel 8086 29tys. tranzystorów, 16-bitowy, współpracował z koprocesorem 8087, posiadał 16-bitową szynę danych (lub ośmiobitową

Bardziej szczegółowo

Grafika komputerowa i wizualizacja

Grafika komputerowa i wizualizacja Grafika komputerowa i wizualizacja Radosław Mantiuk ( rmantiuk@wi.zut.edu.pl, p. 315 WI2) http://rmantiuk.zut.edu.pl Katedra Systemów Multimedialnych Wydział Informatyki, Zachodniopomorski Uniwersytet

Bardziej szczegółowo

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1 i sieci komputerowe Szymon Wilk Superkomputery 1 1. Superkomputery to komputery o bardzo dużej mocy obliczeniowej. Przeznaczone są do symulacji zjawisk fizycznych prowadzonych głównie w instytucjach badawczych:

Bardziej szczegółowo

CZYM JEST KARTA GRAFICZNA.

CZYM JEST KARTA GRAFICZNA. Karty Graficzne CZYM JEST KARTA GRAFICZNA. Karta graficzna jest kartą rozszerzeń, umiejscawianą na płycie głównej poprzez gniazdo PCI lub AGP, która odpowiada w komputerze za obraz wyświetlany przez monitor.

Bardziej szczegółowo

CUDA część 1. platforma GPGPU w obliczeniach naukowych. Maciej Matyka

CUDA część 1. platforma GPGPU w obliczeniach naukowych. Maciej Matyka CUDA część 1 platforma GPGPU w obliczeniach naukowych Maciej Matyka Bariery sprzętowe (procesory) ok na. 1 10 00 la raz t y Gdzie jesteśmy? a ok. 2 razy n 10 lat (ZK) Rozwój 1985-2004 i dalej? O roku ów

Bardziej szczegółowo

Wysokowydajna implementacja kodów nadmiarowych typu "erasure codes" z wykorzystaniem architektur wielordzeniowych

Wysokowydajna implementacja kodów nadmiarowych typu erasure codes z wykorzystaniem architektur wielordzeniowych Wysokowydajna implementacja kodów nadmiarowych typu "erasure codes" z wykorzystaniem architektur wielordzeniowych Ł. Kuczyński, M. Woźniak, R. Wyrzykowski Instytut Informatyki Teoretycznej i Stosowanej

Bardziej szczegółowo

Implementacja metody momentów z wykorzystaniem kart graficznych i architektury CUDA

Implementacja metody momentów z wykorzystaniem kart graficznych i architektury CUDA doi:1.1199/48.21.3.8 Tomasz TOPA 1, Artur NOGA 1 Silesian University of Technology (1) Implementacja metody momentów z wykorzystaniem kart graficznych i architektury CUDA Streszczenie. W artykule omówiono

Bardziej szczegółowo

Algorytmy i Struktury Danych

Algorytmy i Struktury Danych POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Algorytmy i Struktury Danych www.pk.edu.pl/~zk/aisd_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 12: Wstęp

Bardziej szczegółowo

Programowanie w modelu równoległości danych oraz dzielonej globalnej pamięci wspólnej. Krzysztof Banaś Obliczenia równoległe 1

Programowanie w modelu równoległości danych oraz dzielonej globalnej pamięci wspólnej. Krzysztof Banaś Obliczenia równoległe 1 Programowanie w modelu równoległości danych oraz dzielonej globalnej pamięci wspólnej Krzysztof Banaś Obliczenia równoległe 1 Model równoległości danych Model SPMD (pierwotnie dla maszyn SIMD) Zrównoleglenie

Bardziej szczegółowo

Sprawdzian test egzaminacyjny GRUPA I

Sprawdzian test egzaminacyjny GRUPA I ... nazwisko i imię ucznia Sprawdzian test egzaminacyjny GRUPA I 1. Na rys. 1 procesor oznaczony jest numerem A. 2 B. 3 C. 5 D. 8 2. Na rys. 1 karta rozszerzeń oznaczona jest numerem A. 1 B. 4 C. 6 D.

Bardziej szczegółowo

Zastosowanie technologii nvidia CUDA do zrównoleglenia algorytmu genetycznego dla problemu komiwojażera

Zastosowanie technologii nvidia CUDA do zrównoleglenia algorytmu genetycznego dla problemu komiwojażera Zastosowanie technologii nvidia CUDA do zrównoleglenia algorytmu genetycznego dla problemu komiwojażera Adam Hrazdil Wydział Inżynierii Mechanicznej i Informatyki Kierunek informatyka, Rok V hrazdil@op.pl

Bardziej szczegółowo

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer Sprzęt komputerowy 2 Autor prezentacji: 1 prof. dr hab. Maria Hilczer Budowa komputera Magistrala Procesor Pamięć Układy I/O 2 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący

Bardziej szczegółowo

Podręcznik użytkownika PCI-x Karta przechwytująca 4xHDMI

Podręcznik użytkownika PCI-x Karta przechwytująca 4xHDMI Podręcznik użytkownika PCI-x Karta przechwytująca 4xHDMI Spis treści 1. Specyfikacja... 3 1.1 Cechy:... 3 1.2 Rozdzielczość wideo na wejściu :... 3 1.3 Zawartość opakowania... 3 1.4 Wymagania systemowe...

Bardziej szczegółowo

Wykorzystanie architektury Intel MIC w obliczeniach typu stencil

Wykorzystanie architektury Intel MIC w obliczeniach typu stencil Wykorzystanie architektury Intel MIC w obliczeniach typu stencil Kamil Halbiniak Wydział Inżynierii Mechanicznej i Informatyki Kierunek informatyka, Rok IV Instytut Informatyki Teoretycznej i Stosowanej

Bardziej szczegółowo

Programowanie kart graficznych

Programowanie kart graficznych CUDA Compute Unified Device Architecture Programowanie kart graficznych mgr inż. Kamil Szostek AGH, WGGIOŚ, KGIS Wykorzystano materiały z kursu Programowanie kart graficznych prostsze niż myślisz M. Makowski

Bardziej szczegółowo

Implementacja sieci neuronowych na karcie graficznej. Waldemar Pawlaszek

Implementacja sieci neuronowych na karcie graficznej. Waldemar Pawlaszek Implementacja sieci neuronowych na karcie graficznej Waldemar Pawlaszek Motywacja Czyli po co to wszystko? Motywacja Procesor graficzny GPU (Graphics Processing Unit) Wydajność Elastyczność i precyzja

Bardziej szczegółowo

Organizacja pamięci w procesorach graficznych

Organizacja pamięci w procesorach graficznych Organizacja pamięci w procesorach graficznych Pamięć w GPU przechowuje dane dla procesora graficznego, służące do wyświetlaniu obrazu na ekran. Pamięć przechowuje m.in. dane wektorów, pikseli, tekstury

Bardziej szczegółowo

Karty graficzne: budowa, zasada działania, standardy, parametry, dodatkowe funkcje

Karty graficzne: budowa, zasada działania, standardy, parametry, dodatkowe funkcje 018 URZĄDZENIA TECHNIKI KOMPUTEROWEJ Karty graficzne: budowa, zasada działania, standardy, parametry, dodatkowe funkcje 1 UTK Treść niniejszej prezentacji oparto na artykułach pisma Komputer Świat Ekspert

Bardziej szczegółowo

Plan wykładu. Akcelerator 3D Potok graficzny

Plan wykładu. Akcelerator 3D Potok graficzny Plan wykładu Akcelerator 3D Potok graficzny Akcelerator 3D W 1996 r. opracowana została specjalna karta rozszerzeń o nazwie marketingowej Voodoo, którą z racji wspomagania procesu generowania grafiki 3D

Bardziej szczegółowo

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz

Bardziej szczegółowo

Architektury komputerów Architektury i wydajność. Tomasz Dziubich

Architektury komputerów Architektury i wydajność. Tomasz Dziubich Architektury komputerów Architektury i wydajność Tomasz Dziubich Przetwarzanie potokowe Przetwarzanie sekwencyjne Przetwarzanie potokowe Architektura superpotokowa W przetwarzaniu potokowym podczas niektórych

Bardziej szczegółowo

Karta przedmiotu. Podstawy programowania procesorów graficznych. realizowanego w ramach projektu PO WER

Karta przedmiotu. Podstawy programowania procesorów graficznych. realizowanego w ramach projektu PO WER Karta przedmiotu Podstawy programowania procesorów graficznych realizowanego w ramach projektu PO WER 2017-2019 Wydział Inżynierii Elektrycznej i Komputerowej Kierunek studiów: Informatyka Profil: Ogólnoakademicki

Bardziej szczegółowo

Programowanie kart graficznych

Programowanie kart graficznych Programowanie kart graficznych Sławomir Wernikowski swernikowski@wi.zut.edu.pl Wykład #1: Łagodne wprowadzenie do programowania w technologii NVIDIA CUDA Terminologia: Co to jest GPGPU? General-Purpose

Bardziej szczegółowo

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................

Bardziej szczegółowo

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer Sprzęt komputerowy 2 Autor prezentacji: 1 prof. dr hab. Maria Hilczer Budowa komputera Magistrala Procesor Pamięć Układy I/O 2 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący

Bardziej szczegółowo

XIV International PhD Workshop OWD 2012, October 2012 NOWOCZESNE TECHNIKI WYKONYWANIA ZAAWANSOWANYCH OBLICZEŃ NUMERYCZNYCH

XIV International PhD Workshop OWD 2012, October 2012 NOWOCZESNE TECHNIKI WYKONYWANIA ZAAWANSOWANYCH OBLICZEŃ NUMERYCZNYCH XIV International PhD Workshop OWD 2012, 20 23 October 2012 NOWOCZESNE TECHNIKI WYKONYWANIA ZAAWANSOWANYCH OBLICZEŃ NUMERYCZNYCH MODERN ADVANCED COMPUTATIONAL METHOD Konrad Andrzej Markowski, Warsaw University

Bardziej szczegółowo

Budowa i zasada działania komputera. dr Artur Bartoszewski

Budowa i zasada działania komputera. dr Artur Bartoszewski Budowa i zasada działania komputera 1 dr Artur Bartoszewski Jednostka arytmetyczno-logiczna 2 Pojęcie systemu mikroprocesorowego Układ cyfrowy: Układy cyfrowe służą do przetwarzania informacji. Do układu

Bardziej szczegółowo

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu inż. Daniel Solarz Wydział Fizyki i Informatyki Stosowanej AGH 1. Cel projektu. Celem projektu było napisanie wtyczki

Bardziej szczegółowo

Architektura Komputerów

Architektura Komputerów Architektura systemów Architektura Komputerów komputerowych Wykład nr. 9 dr Artur Bartoszewski Budowa karty graficznej Akceleratory graficzne Pamięć karty służy do przechowywania bitmapy przygotowanej

Bardziej szczegółowo

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK 1 PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK POLITECHNIKA CZĘSTOCHOWSKA 2 Trendy rozwoju współczesnych procesorów Budowa procesora CPU na przykładzie Intel Kaby Lake

Bardziej szczegółowo

Budowa Mikrokomputera

Budowa Mikrokomputera Budowa Mikrokomputera Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Podstawowe elementy komputera Procesor Pamięć Magistrala (2/16) Płyta główna (ang. mainboard, motherboard) płyta drukowana komputera,

Bardziej szczegółowo

Obliczenia Wysokiej Wydajności

Obliczenia Wysokiej Wydajności Obliczenia wysokiej wydajności 1 Wydajność obliczeń Wydajność jest (obok poprawności, niezawodności, bezpieczeństwa, ergonomiczności oraz łatwości stosowania i pielęgnacji) jedną z najważniejszych charakterystyk

Bardziej szczegółowo

Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.

Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności. Procesory wielordzeniowe (multiprocessor on a chip) 1 Procesory wielordzeniowe 2 Procesory wielordzeniowe 3 Intel Nehalem 4 5 NVIDIA Tesla 6 ATI FireStream 7 NVIDIA Fermi 8 Sprzętowa wielowątkowość 9 Architektury

Bardziej szczegółowo

Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.

Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności. Procesory wielordzeniowe (multiprocessor on a chip) 1 Procesory wielordzeniowe 2 Procesory wielordzeniowe 3 Konsekwencje prawa Moore'a 4 Procesory wielordzeniowe 5 Intel Nehalem 6 Architektura Intel Nehalem

Bardziej szczegółowo

Programowanie procesorów graficznych GPGPU. Krzysztof Banaś Obliczenia równoległe 1

Programowanie procesorów graficznych GPGPU. Krzysztof Banaś Obliczenia równoległe 1 Programowanie procesorów graficznych GPGPU Krzysztof Banaś Obliczenia równoległe 1 OpenCL projektowanie kerneli Przypomnienie: kernel program realizowany przez urządzenie OpenCL wątek (work item) rdzeń

Bardziej szczegółowo

Odwzorowanie procedur całkowania numerycznego w metodzie elementów skończonych na architektury procesorów masowo wielordzeniowych

Odwzorowanie procedur całkowania numerycznego w metodzie elementów skończonych na architektury procesorów masowo wielordzeniowych Instytut Podstawowych Problemów Techniki Polska Akademia Nauk Odwzorowanie procedur całkowania numerycznego w metodzie elementów skończonych na architektury procesorów masowo wielordzeniowych Filip Krużel

Bardziej szczegółowo

Klasyfikacja systemów komputerowych. Architektura von Neumanna. dr inż. Jarosław Forenc

Klasyfikacja systemów komputerowych. Architektura von Neumanna. dr inż. Jarosław Forenc Rok akademicki 2010/2011, Wykład nr 6 2/56 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 2010/2011

Bardziej szczegółowo

4 NVIDIA CUDA jako znakomita platforma do zrównoleglenia obliczeń

4 NVIDIA CUDA jako znakomita platforma do zrównoleglenia obliczeń Spis treści Spis treści i 1 Wstęp 1 1.1 Wprowadzenie.......................... 1 1.2 Dostępne technologie, pozwalające zrównoleglić obliczenia na kartach graficznych....................... 1 1.2.1 Open

Bardziej szczegółowo

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa... 9. Wstęp... 11

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa... 9. Wstęp... 11 Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1 Spis treúci Przedmowa... 9 Wstęp... 11 1. Komputer PC od zewnątrz... 13 1.1. Elementy zestawu komputerowego... 13 1.2.

Bardziej szczegółowo

System komputerowy. System komputerowy

System komputerowy. System komputerowy System komputerowy System komputerowy System komputerowy układ współdziałających ze sobą (według pewnych zasad) dwóch składowych: sprzętu komputerowego (hardware) oraz oprogramowania (software) po to,

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 6 (28.03.2011) Rok akademicki 2010/2011, Wykład

Bardziej szczegółowo

Programowanie aplikacji równoległych i rozproszonych

Programowanie aplikacji równoległych i rozproszonych Programowanie aplikacji równoległych i rozproszonych Dr inż. Krzysztof Rojek krojek@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Strumienie operacji na GPU Domyślne

Bardziej szczegółowo

Ogólne informacje. cią pracy, wielkości wyświetlan. cią obrazu, wietlaną rozdzielczości. częstotliwo. wieŝania obrazu.

Ogólne informacje. cią pracy, wielkości wyświetlan. cią obrazu, wietlaną rozdzielczości. częstotliwo. wieŝania obrazu. Karty graficzne Ogólne informacje Karta rozszerzeń,, umiejscawiana na płycie p głównej poprzez gniazdo PCI lub AGP odpowiada w komputerze za obraz wyświetlany wietlany przez monitor. Karty graficzne róŝnir

Bardziej szczegółowo

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury 1976 r. Apple PC Personal Computer 1981 r. pierwszy IBM PC Komputer jest wart tyle, ile wart jest człowiek, który go wykorzystuje... Hardware sprzęt Software oprogramowanie Komputer IBM PC niezależnie

Bardziej szczegółowo

Magistrala systemowa (System Bus)

Magistrala systemowa (System Bus) Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki systemowa (System Bus) Pamięć operacyjna ROM, RAM Jednostka centralna Układy we/wy In/Out Wstęp do Informatyki

Bardziej szczegółowo

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,

Bardziej szczegółowo

Larrabee GPGPU. Zastosowanie, wydajność i porównanie z innymi układami

Larrabee GPGPU. Zastosowanie, wydajność i porównanie z innymi układami Larrabee GPGPU Zastosowanie, wydajność i porównanie z innymi układami Larrabee a inne GPU Różnią się w trzech podstawowych aspektach: Larrabee a inne GPU Różnią się w trzech podstawowych aspektach: Larrabee

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 6 (06.05.2011) Rok akademicki 2010/2011, Wykład

Bardziej szczegółowo

Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387

Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387 Mikroinformatyka Koprocesory arytmetyczne 8087, 80187, 80287, i387 Koprocesor arytmetyczny 100 razy szybsze obliczenia numeryczne na liczbach zmiennoprzecinkowych. Obliczenia prowadzone równolegle z procesorem

Bardziej szczegółowo

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system. Wstęp Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system. Przedstawienie architektur sprzętu wykorzystywanych do

Bardziej szczegółowo

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,

Bardziej szczegółowo

INŻYNIERIA OPROGRAMOWANIA

INŻYNIERIA OPROGRAMOWANIA INSTYTUT INFORMATYKI STOSOWANEJ 2013 INŻYNIERIA OPROGRAMOWANIA Inżynieria Oprogramowania Proces ukierunkowany na wytworzenie oprogramowania Jak? Kto? Kiedy? Co? W jaki sposób? Metodyka Zespół Narzędzia

Bardziej szczegółowo

Załącznik nr 6 do SIWZ nr postępowania II.2420.1.2014.005.13.MJ Zaoferowany. sprzęt L P. Parametry techniczne

Załącznik nr 6 do SIWZ nr postępowania II.2420.1.2014.005.13.MJ Zaoferowany. sprzęt L P. Parametry techniczne L P Załącznik nr 6 do SIWZ nr postępowania II.2420.1.2014.005.13.MJ Zaoferowany Parametry techniczne Ilość sprzęt Gwaran Cena Cena Wartość Wartość (model cja jednostk % jednostkow ogółem ogółem i parametry

Bardziej szczegółowo

Wprowadzenie do programowania w środowisku CUDA. Środowisko CUDA

Wprowadzenie do programowania w środowisku CUDA. Środowisko CUDA Wprowadzenie do programowania w środowisku CUDA Środowisko CUDA 1 Budowa procesora CPU i GPU Architektura GPU wymaga większej ilości tranzystorów na przetwarzanie danych Control ALU ALU ALU ALU Cache DRAM

Bardziej szczegółowo

Budowa komputera Komputer computer computare

Budowa komputera Komputer computer computare 11. Budowa komputera Komputer (z ang. computer od łac. computare obliczać) urządzenie elektroniczne służące do przetwarzania wszelkich informacji, które da się zapisać w formie ciągu cyfr albo sygnału

Bardziej szczegółowo

Systemy na Chipie. Robert Czerwiński

Systemy na Chipie. Robert Czerwiński Systemy na Chipie Robert Czerwiński Cel kursu Celem kursu jest zapoznanie słuchaczy ze współczesnymi metodami projektowania cyfrowych układów specjalizowanych, ze szczególnym uwzględnieniem układów logiki

Bardziej szczegółowo

Wykład 6. Mikrokontrolery z rdzeniem ARM

Wykład 6. Mikrokontrolery z rdzeniem ARM Wykład 6 Mikrokontrolery z rdzeniem ARM Plan wykładu Cortex-A9 c.d. Mikrokontrolery firmy ST Mikrokontrolery firmy NXP Mikrokontrolery firmy AnalogDevices Mikrokontrolery firmy Freescale Mikrokontrolery

Bardziej szczegółowo

Klaster obliczeniowy

Klaster obliczeniowy Warsztaty promocyjne Usług kampusowych PLATON U3 Klaster obliczeniowy czerwiec 2012 Przemysław Trzeciak Centrum Komputerowe Politechniki Łódzkiej Agenda (czas: 20min) 1) Infrastruktura sprzętowa wykorzystana

Bardziej szczegółowo

Procesory. Schemat budowy procesora

Procesory. Schemat budowy procesora Procesory Procesor jednostka centralna (CPU Central Processing Unit) to sekwencyjne urządzenie cyfrowe którego zadaniem jest wykonywanie rozkazów i sterowanie pracą wszystkich pozostałych bloków systemu

Bardziej szczegółowo

WIDMOWA I FALKOWA ANALIZA PRĄDU SILNIKA LSPMSM Z WYKORZYSTANIEM OPENCL

WIDMOWA I FALKOWA ANALIZA PRĄDU SILNIKA LSPMSM Z WYKORZYSTANIEM OPENCL POZNAN UNIVE RSITY OF TE CHNOLOGY ACADE MIC JOURNALS No 85 Electrical Engineering 06 Wojciech PIETROWSKI* Grzegorz D. WIŚNIEWSKI Konrad GÓRNY WIDMOWA I FALKOWA ANALIZA PRĄDU SILNIKA LSPMSM Z WYKORZYSTANIEM

Bardziej szczegółowo

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386 Budowa procesora 80386 Struktura wewnętrzna logiczna procesora 80386 Pierwszy prawdziwy procesor 32-bitowy. Zawiera wewnętrzne 32-bitowe rejestry (omówione zostaną w modułach następnych), pozwalające przetwarzać

Bardziej szczegółowo

Metody optymalizacji soft-procesorów NIOS

Metody optymalizacji soft-procesorów NIOS POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Metody optymalizacji soft-procesorów NIOS Warszawa, 27.01.2011

Bardziej szczegółowo

Grafika komputerowa. Grafika komputerowa. Grafika komputerowa

Grafika komputerowa. Grafika komputerowa. Grafika komputerowa OpenGL - Koncepcja i architektura Aplikacja odwo!uje si" poprzez funkcje API OpenGL bezpo#rednio do karty graficznej (z pomini"ciem systemu operacyjnego). Programowanie grafiki komputerowej Rados!aw Mantiuk

Bardziej szczegółowo

LEKCJA TEMAT: Współczesne procesory.

LEKCJA TEMAT: Współczesne procesory. LEKCJA TEMAT: Współczesne procesory. 1. Wymagania dla ucznia: zna pojęcia: procesor, CPU, ALU, potrafi podać typowe rozkazy; potrafi omówić uproszczony i rozszerzony schemat mikroprocesora; potraf omówić

Bardziej szczegółowo

Nowinki technologiczne procesorów

Nowinki technologiczne procesorów Elbląg 22.04.2010 Nowinki technologiczne procesorów Przygotował: Radosław Kubryń VIII semestr PDBiOU 1 Spis treści 1. Wstęp 2. Intel Hyper-Threading 3. Enhanced Intel Speed Technology 4. Intel HD Graphics

Bardziej szczegółowo

Podstawy Informatyki Systemy sterowane przepływem argumentów

Podstawy Informatyki Systemy sterowane przepływem argumentów Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Komputer i jego architektura Taksonomia Flynna 2 Komputer i jego architektura Taksonomia Flynna Komputer Komputer

Bardziej szczegółowo

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1 Metodologia programowania równoległego Przykłady podziałów zadania na podzadania: Podział ze względu na funkcje (functional

Bardziej szczegółowo

16. Taksonomia Flynn'a.

16. Taksonomia Flynn'a. 16. Taksonomia Flynn'a. Taksonomia systemów komputerowych według Flynna jest klasyfikacją architektur komputerowych, zaproponowaną w latach sześćdziesiątych XX wieku przez Michaela Flynna, opierająca się

Bardziej szczegółowo

PRACA DYPLOMOWA INŻYNIERSKA. Rafał Karolewski. Rok akademicki 2011/2012

PRACA DYPLOMOWA INŻYNIERSKA. Rafał Karolewski. Rok akademicki 2011/2012 Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Informatyki Rok akademicki 2011/2012 PRACA DYPLOMOWA INŻYNIERSKA Rafał Karolewski Realizacja algorytmu ewolucyjnego na programowalnych

Bardziej szczegółowo

Technika mikroprocesorowa

Technika mikroprocesorowa Technika mikroprocesorowa zajmuje się przetwarzaniem danych w oparciu o cyfrowe programowalne układy scalone. Systemy przetwarzające dane w oparciu o takie układy nazywane są systemami mikroprocesorowymi

Bardziej szczegółowo

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII Spis treści Od autora..................................................... Obliczenia inżynierskie i naukowe.................................. X XII Ostrzeżenia...................................................XVII

Bardziej szczegółowo

Obliczenia Wysokiej Wydajności

Obliczenia Wysokiej Wydajności Obliczenia wysokiej wydajności 1 Wydajność obliczeń Wydajność jest (obok poprawności, niezawodności, bezpieczeństwa, ergonomiczności i łatwości stosowania i pielęgnacji) jedną z najważniejszych charakterystyk

Bardziej szczegółowo

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych Mechatronika i inteligentne systemy produkcyjne Modelowanie systemów mechatronicznych Platformy przetwarzania danych 1 Sterowanie procesem oparte na jego modelu u 1 (t) System rzeczywisty x(t) y(t) Tworzenie

Bardziej szczegółowo