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

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

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

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

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

Programowanie z wykorzystaniem technologii CUDA i OpenCL Wykład 1

Tesla. Architektura Fermi

Programowanie procesorów graficznych GPGPU

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

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

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

Programowanie aplikacji równoległych i rozproszonych

Moc płynąca z kart graficznych

Implementacja sieci neuronowych na karcie graficznej. Waldemar Pawlaszek

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

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

i3: internet - infrastruktury - innowacje

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

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

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

Grafika komputerowa i wizualizacja

Julia 4D - raytracing

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

Programowanie Współbieżne

Obliczenia Wysokiej Wydajności

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

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

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

Podstawy Informatyki Systemy sterowane przepływem argumentów

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

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

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

Obliczenia Wysokiej Wydajności

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

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

Karty graficzne możemy podzielić na:

Autor: inż. Wojciech Zatorski Opiekun pracy: dr inż. Krzysztof Małecki

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

Budowa komputera Komputer computer computare

Przetwarzanie Równoległe i Rozproszone

Architektura komputerów

dr inż. Jarosław Forenc

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

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Wykład 6. Mikrokontrolery z rdzeniem ARM

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

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

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

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

CENA BRUTTO ADAXPC ADAX ALFA VBS ,63 ADAXPC ADAX ALFA VBX ,87 ADAXPC ADAX ALFA W7PX ,45

Architektura komputerów

Programowanie kart graficznych

Programowanie Równoległe Wykład, CUDA praktycznie 1. Maciej Matyka Instytut Fizyki Teoretycznej

WIDEOS O ER E WER E ÓW

Procesory. Schemat budowy procesora

Welcome to the waitless world. Inteligentna infrastruktura systemów Power S812LC i S822LC

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

Architektura von Neumanna

Programowanie Równoległe wykład 12. OpenGL + algorytm n ciał. Maciej Matyka Instytut Fizyki Teoretycznej

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

AMD Ryzen recenzja procesora. Wpisany przez Mateusz Ponikowski Piątek, 11 Październik :47

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

Praca dyplomowa magisterska

Nowoczesne technologie przetwarzania informacji

Budowa Mikrokomputera

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Architektura komputerów

GPGPU General-Purpose computing on the GPU. Piotr Stańczyk

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.

CZYM JEST KARTA GRAFICZNA.

Wprowadzenie do programowania w środowisku CUDA. Środowisko CUDA

PROPOZYCJE KONFIGURACJI ZESTAWÓW KOMPUTERÓW STACJONARNYCH OPISANYCH ZGODNIE Z REKOMENDACJAMI UZP

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

Część I Komputery stacjonarne KONFIGURACJA WYMAGANE PARAMETRY PARAMETRY OFEROWANE 1 2 3

Architektura mikroprocesorów TEO 2009/2010

Komputer VIPER i x4,2ghz 8GB GTX 1050TI 4GB 1TB USB 3.0

komputery dla firm Katalog komputerów przenośnych Oferta specjalnie dla biznesu

Opis przedmiotu zamówienia

która metoda jest najlepsza

Organizacja pamięci w procesorach graficznych

Implementacje algorytmów oddziałujących cząstek na architekturach masywnie równoległych

MESco. Testy skalowalności obliczeń mechanicznych w oparciu o licencje HPC oraz kartę GPU nvidia Tesla c2075. Stanisław Wowra

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Przyspieszanie sprzętowe

Jednostka centralna. Miejsca na napędy 5,25 :CD-ROM, DVD. Miejsca na napędy 3,5 : stacja dyskietek

1 Temat: Vertex Shader

Komputer Dell 780 w obudowie MT (Mini-Tower) Intel Core 2 Quad Q x 2,83 GHz / 4 GB / 250 GB / DVD-RW / Windows 7 Professional

16. Taksonomia Flynn'a.

Gamingowy Fujitsu Esprimo P720 z grafiką nvidia ASUS GTX 1050Ti na pokładzie

Przegląd architektury PlayStation 3

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

Transformacja Fouriera i biblioteka CUFFT 3.0

Informatyka Studia II stopnia

Mikroprocesory rodziny INTEL 80x86

Sprawdzian test egzaminacyjny GRUPA I

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie. dr inż. Adam Piórkowski. Jakub Osiadacz Marcin Wróbel

CUDA. obliczenia na kartach graficznych. Łukasz Ligowski. 11 luty Łukasz Ligowski () CUDA 11 luty / 36

Dr inż. hab. Siergiej Fialko, IF-PK,

Programowanie kart graficznych

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

Transkrypt:

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ść i7-3770k (@4,7GHz) 120 GFLOPS Energia 120 GFLOPS / 120W = 1 GFLOPS/W (chłodzenie not included) GPU Pamięć GDDR5-224 GB/s Wydajność Radeon 7970 4 TFLOPS / 1 TFLOPS Energia 1000 GFLOPS / 314W = 3,1 GFLOPS/W

CPU (CORE 2 DUO QUAD Q6600 2,4GHZ 4GB DDR2) RayTracer 720p: 3-4 FPS SGEMM 1000: 5924 ms Sort 10^6: 43 ms Sort 10^8: 1 s GPU (NVIDIA GEFORCE GTX470 1296MB GDDR5) RayTracer 720p: 80 FPS SGEMM 1000: 528 ms Sort 10^6: 547 ms Sort 10^8: 800 ms

NBody simulation FluidSimulation2D MD5 Brute Force Attack

Piękne liczby, powodują dreszcze, ale gdzie jest haczyk?

Na początku było słowo Do komunikacji z komputerem wystarczały terminale znakowe. (nadal wystarczają ) Renderowanie obrazu składającego się z pixeli (piksli). Akceleracja 2D, rysowanie kształtów, z- bufory, sprite y.

Gry komputerowe zaczynają napędzać biznes Wejście w świat 3D obliczenia na wierzchołkach brył, wektorach, macierzach liczb zmiennoprzecinkowych. Akceleracja 3D coraz bogatsza grafika, coraz więcej smaczków, dynamiczne oświetlenie

Powstanie pierwszego GPU NV10. Karta graficzna przejmuje obliczenia Transform&Lightning. Pojawiają się shadery krótkie programiki ładowane do karty graficznej obrabiające znajdujące się w niej dane (NV30).

Coraz większe wymagania dla potoku przetwarzania i shaderów. Pomysł obrabiania zjawisk fizyki w grach na GPU. Pojawia się CUDA (chipset G80) dowolne programowanie na GPU z dostępem do prawie całej infrastruktury karty graficznej w kodzie pochodnym C.

Świat 3D jest konstruowany w karcie graficznej za pomocą liczb zmiennoprzecinkowych. Liczby te opisują wierzchołki brył które są rzutowane na ekran (lub inne urządzenia wyświetlające). Najczęściej są to liczby pojedynczej precyzji. Architektura GPU jest dostosowana do natury obliczeń obrazu 3D. Wiele wierzchołków, wiele pikseli, ale wszystkie obrabiane tym samym programem. GPU to procesory SIMD single instruction - multiple data

CONTROL UNIT CACHE DDR3 DRAM

CON TROL CACHE CON TROL CACHE GDDR5 DRAM

SHARED MEMORY INSTRUCTION MEMORY REGISTERS TEXTURE MEMORY CONSTANTS MEMORY REGISTERS GDDR5 DRAM

Symulacje objętościowe cieczy i gazów, Optymalizacja wydajności aerodynamicznej pojazdów, Analiza pogody, Wizualizacje, Obliczanie hashy, i wiele innych Gdziekolwiek gdzie zastosowanie znajdują algorytmy obliczeń równoległych najlepiej operujące na liczbach zmiennoprzecinkowych.

Nadzorowanie macierzy RAID Kontrola ruchu sieciowego Obliczenia wymagające dużej liczby rekurencji Bazy danych Gdziekolwiek, gdzie potrzebne są operacje IO.

Zwiększanie precyzji obliczeń (double naprawdę wchodzą do gry) Każdy producent chce mieć swoje GPU do liderów nvidii i ATI(AMD) dołączają Apple, Samsung, Intel, ARM Stopniowe odejście od typowych zastosowań rozrywkowych Programy użytkowe zaczynają czerpać korzyści z GPU: Photoshop, AutoCAD, ArchiCAD, pakery

C++ na kartach graficznych Rekurencja Pojawiają się struktury danych i rozwijają biblioteki (CuFFT, CuBLAS.) PRINTF!!! Debug na karcie graficznej

Kiepskie IO. (generalnie tylko O monitor komputera) Brak wydajnego mostu CPU-GPU. (PCI-E 16x jest za wolne) Ilość zużywanej energii. Sposób programowania.

Choose your destiny CUDA OpenCL ATI-Stream DirectCompute

Cytując stronę NVidii: CUDA jest opracowaną przez firmę NVIDIA, równoległą architekturą obliczeniową, która zapewnia radykalny wzrost wydajności obliczeń dzięki wykorzystaniu mocy układów GPU (graphics processing unit jednostka przetwarzania graficznego).

Jest to również synonim rozszerzenia standardowego języka C o składnię i biblioteki potrzebne do wygodnego przeprowadzania obliczeń na kartach graficznych.

Kup GeForce'a/Quadro/Tesla/Tegra... CUDA Zone - nvidia dba o devów http://www.nvidia.pl/object/cuda_home_new_pl. html Duże community, dużo wykładów i tutoriali

Kernel - funkcja ładowana do pamięci instrukcji multiprocesora. Przykładowo

Jak się wywołuje kernele?

Jak się wywołuje kernele?

Jak się wywołuje kernele?

Jak się wywołuje kernele?

Organizacja kerneli: Blok Grid Grid Grid Grid Grid Grid Grid Grid Wątek Wątek Wątek Wątek Grid Grid Grid Grid Grid Grid Grid Grid Wątek Wątek Wątek Wątek

Organizacja kerneli: Grid Grid Grid Grid Grid Grid Grid Grid Grid Blok Blok Blok Blok Grid Grid Grid Grid Grid Grid Grid Grid Blok Blok Blok Blok

Organizacja kerneli: Wykonanie Grid Grid Grid Grid Grid Grid Grid Grid Grid Grid Grid Grid Grid Grid Grid Grid Grid Grid Grid Grid Grid Grid Grid Grid

Jak się wywołuje kernele?

Ilość wątków: 1024 na blok do ułożenia w 3 wymiarach w zakresach x,y:<1;1024> z: <1;64> (2^31-1)^3 bloków do ułożenia w 3 wymiarach na gridzie w zakresach x,y,z:<1;2^31-1>

Klucz do dobrego programowania w CUDA (moim zdaniem): Zmiana sposobu myślenia o programowaniu równoległym w bardziej masowy Opanowanie kruczków obsługi pamięci Opanowanie dobrego programowania w C

AMD http://developer.amd.com/tools/hc/pages/default.asp x Intel http://software.intel.com/enus/vcsource/tools/opencl-sdk Apple https://developer.apple.com/library/mac/#documenta tion/performance/conceptual/opencl_macprogguid e/introduction/introduction.html ARM nvidia

Podobna koncepcja do CUDY: Thread work-item Block work-group Grid ND-range Dynamiczna kompilacja kerneli Dużo więcej formalizmu w zapisie programu

Krótka prezentacja

ZALETY Przodownik programowania na GPU Prędkość Dostęp do wszystkich smaczków programowania na GPU (zarządzanie pamięcią, wyrównywanie słów w pamięci) WADY You ll never know what next CUDA will be programy pisane są tylko na dany typ karty (chip) Monopol nvidii działa tylko na jej urządzeniach

ZALETY Stały standard Wszyscy go implementują Learn once Uniwersalny Dobrze integruje się z OpenGL em WADY Wolniejszy od CUDY Nie nadąża za sprzętem Formalny Dynamiczna kompilacja kerneli

Dziękuję za uwagę

?

Libra.cs.put.poznan.pl/mailman/listinfo/skisrkolo Skisr-kolo@libra.cs.put.poznan.pl