Mo liwoœæ zastosowania GPU do przetwarzania obrazów dla celów analizy sceny**

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

Download "Mo liwoœæ zastosowania GPU do przetwarzania obrazów dla celów analizy sceny**"

Transkrypt

1 AUTOMATYKA 2011 Tom 15 Zeszyt 3 Magdalena Szymczyk*, Piotr Szymczyk* Mo liwoœæ zastosowania GPU do przetwarzania obrazów dla celów analizy sceny** 1. Wprowadzenie Aplikacje stosowane do przetwarzania obrazu i sygna³u wideo oraz grafiki staj¹ siê du ym i coraz wa niejszym obszarem zastosowañ wspó³czesnych komputerów. Wspó³czesne mikroprocesory ogólnego zastosowania (CPU Central Processing Unit) nie spe³niaj¹ jednak wysokich wymagañ wydajnoœciowych zwi¹zanych z tego typu aplikacjami. W odró nieniu od CPU specjalizowane procesory dostarczaj¹ jednak e odpowiedni¹ elastycznoœæ i programowalnoœæ niezbêdn¹ do zaimplementowania odpowiednich architektur oraz modeli programistycznych spe³niaj¹cych ich wymagania. Jednym z mo liwych rozwi¹zañ jest zastosowanie nowoczesnych kart graficznych GPU (Graphics Processing Unit). Celem artyku³u jest ogólne przedstawienie architektury GPU, zapoznanie ze sposobem implementacji aplikacji na tego typu procesorach oraz analiza mo liwoœci wykorzystania ich do tworzenia efektywnych aplikacji zwi¹zanych z przetwarzaniem obrazów. 2. CPU kontra GPU Czêstotliwoœæ pracy CPU jest obecnie ograniczana poprzez w³asnoœci fizyczne materia³ów, z których zosta³ wykonany, a tak e przez wysoki stopieñ zu ycia energii. W g³ównej mierze coraz to lepsze wydajnoœci tego typu procesorów uzyskuje siê dziêki stosowaniu coraz to wiêkszej liczby rdzeni, przy czym nale y pamiêtaæ, e s¹ to procesory ukierunkowane na wykonywanie aplikacji najczêœciej stosowanych przez zwyk³ych u ytkowników (typu edytory tekstu, przeszukiwarki internetowe itp.). Zastosowanie wielu rdzeni w CPU daje mo liwoœæ wykonywania procesów równolegle na podstawie modelu przetwarzania równoleg³ego typu MIMD (Multiple Instructions/Multiple Data) wed³ug taksonomii Flynna. * AGH Akademia Górniczo-Hutnicza, Wydzia³ Elektrotechniki, Automatyki, Informatyki i Elektroniki, Katedra Automatyki, al. A. Mickiewicza 30, Kraków ** Projekt z Ministerstwa Nauki i Szkolnictwa Wy szego nr 0128/R/t00/2010/12 271

2 272 Magdalena Szymczyk, Piotr Szymczyk Zatem ka dy z rdzeni pracuje niezale nie od pozosta³ych, wykonuj¹c ró ne instrukcje dla ró nych procesów. Cech¹ charakterystyczn¹ pamiêci w procesorach ogólnego przeznaczenia jest swobodny dostêp do niej. CPU jest tak zaprojektowane, e wykonuje na swych rdzeniach pojedynczy w¹tek z³o ony z pojedynczych instrukcji maksymalnie szybko, natomiast GPU jest tak opracowane, aby wykonywaæ szybko wiele równoleg³ych w¹tków. Oczywiœcie projektanci CPU staraj¹ siê spe³niæ tak e wymaganie wykonywania wielu instrukcji równolegle, maksymalizuj¹c efektywnoœæ przy u yciu superskalarnego wykonywania instrukcji, a tak e korzystaj¹c z wykonywania instrukcji typu out-of-order. Jednak e wykonywanie równoleg³e w¹tków instrukcji na CPU ma pewne podstawowe ograniczenia i zwiêkszanie liczby elementów wykonawczych nie daje proporcjonalnego wzrostu wydajnoœci procesora. Uk³ady NVIDIA czy AMD (g³ówni producenci kart graficznych) zbudowane s¹ przy u yciu architektury multiprocesorowej o 8 10 rdzeniach i setkach ALU, tysi¹cach rejestrów i pamiêciach wspó³dzielonych [12]. Ka da karta graficzna ma bardzo szybk¹ pamiêæ globaln¹, która jest dostêpna dla wszystkich multiprocesorów, pamiêæ lokaln¹ dla ka dego multiprocesora oraz specjalne pamiêci dla sta³ych. GPU jest ukierunkowana na wykonywanie instrukcji równolegle. Na pocz¹tek otrzymuje ona zbiory wielok¹tów, które nastêpnie poddawane s¹ wielu transformacjom i niezbêdnym operacjom w celu uzyskania z kolei zbioru pikseli. Operacje na wielok¹tach i pikselach wykonywane s¹ równolegle i niezale nie. Z powodu równoleg³ej organizacji architektury GPU dane do uk³adów wykonawczych s¹ dostarczane z tak¹ sam¹ ³atwoœci¹ jak dla pojedynczego w¹tku dla CPU. Szczególnie widoczne s¹ ró nice w dostêpie do pamiêci pomiêdzy tymi uk³adami. Wynika to z charakteru danych, na których zazwyczaj pracuje GPU. Teksele tekstury nie s¹ potrzebne pojedynczo, stanowi¹ one pewn¹ zwart¹ ca³oœæ, zazwyczaj powierzchniê, zatem na pewno zostan¹ w najbli szej przysz³oœci pobrane teksele bêd¹ce w s¹siedztwie pierwszego. Ta sama zasada dotyczy pikseli przy zapisie do pamiêci, gdy do bufora ramki zostanie wpisany jeden, to na pewno po pewnej liczbie cykli do niej zostan¹ wpisane piksele s¹siednie. GPU w odró nieniu od CPU nie potrzebuj¹ du ych pamiêci typu cache. Wiele procesorów typu CPU nie ma wbudowanych sterowników pamiêci, a GPU maj¹ wiele takich uk³adów. Karty graficzne u ywaj¹ du o szybszych pamiêci (charakteryzuj¹cych siê du ¹ przepustowoœci¹) w celu sprawnego dostarczenia ogromnych strumieni danych, co jest niezwykle istotne z punktu widzenia przetwarzania równoleg³ego. Procesory ogólnego przeznaczenia w du ej mierze wykorzystuj¹ swój obszar matrycy z tranzystorami do realizacji buforów instrukcji, sprzêtowego przewidywania rozga³êzieñ czy te ogromnych rozmiarów pamiêci cache. Takie rozwi¹zania s¹ potrzebne do przyspieszenia wykonywania kilku strumieni instrukcji. W przypadku GPU jest inaczej, tranzystory s¹ wykorzystywane do budowy tablic uk³adów wykonawczych, ekspedytorów instrukcji, ma³ych pamiêci dzielonych i sterowników pamiêci dla wielu kana³ów. Te rozwi¹zania nie powoduj¹ przyspieszenia wykonania poszczególnych strumieni instrukcji, daj¹ natomiast mo liwoœæ przetwarzania setek tysiêcy w¹tków równolegle przy wymaganiu wysokiej przepustowoœci pamiêci. Szczególnym aspektem odró niaj¹cym CPU od GPU jest sposób wykonywania operacji wielow¹tkowych.

3 Mo liwoœæ zastosowania GPU do przetwarzania obrazów dla celów analizy sceny 273 Specyfika pracy GPU wynika w g³ównej mierze z budowy pamiêci typu cache. Ró nice projektowe pomiêdzy budow¹ CPU a GPU pokazano na rysunku 1. W CPU zadaniem tej pamiêci jest ukrycie d³ugich czasów dostêpów do danych, w przypadku karty graficznej cache oraz pamiêæ wspó³dzielona u ywana jest do zwiêkszenia przepustowoœci pamiêci. Gdy GPU czeka na dane dla konkretnego w¹tku, wykonuje on wówczas inny w¹tek bez opóÿnieñ. Jest to mo liwe, gdy w uk³adach tych w odró nieniu od CPU, koszt prze³¹czenia siê na inny w¹tek to mniej ni jeden cykl, a w procesorach ogólnego przeznaczenia setki cykli zegarowych. Ogólnie rzecz ujmuj¹c, nowoczesne CPU pracuj¹, opieraj¹c siê na architekturze równoleg³ej typu SIMD (Single Instruction Multiple Data) na jednostkach wektorowych wykorzystywanych do obs³ugi instrukcji typu SSE2 i SSE3, natomiast GPU na architekturze SIMT (Single Instruction Multiple Threads) do przetwarzania skalarnych w¹tków. Karty graficznie s¹ wykorzystywane w obliczeniach równoleg³ych, które s¹ przeprowadzane na ogromnych zbiorach danych i na tych danych wykonywane s¹ te same matematyczne operacje. Najlepsze wyniki s¹ otrzymywane przy wysokiej wartoœci ilorazu liczby operacji arytmetycznych do liczby odwo³añ do pamiêci. Istotnym aspektem tego typu aplikacji jest tak e ma³a liczba instrukcji rozga³êziaj¹cych. Cechy aplikacji na GPU powoduj¹, e zanika potrzeba stosowania rozbudowanych pamiêci typu cache. Rys. 1. Ró nice projektowe pomiêdzy budow¹ CPU a GPU [12]

4 274 Magdalena Szymczyk, Piotr Szymczyk 3. Wykorzystanie GPU do obliczeñ równoleg³ych Mikroprocesory oparte na jednej jednostce centralnej, których przyk³adami mog¹ byæ Operon firmy AMD czy te Pentium Intela, charakteryzuj¹ siê wysokim przyrostem wydajnoœci wraz ze znacznym zmniejszeniem kosztów produkcji w ostatnich dwóch dekadach. Jednak e od 2003 roku mo na zauwa yæ wyraÿny spadek wydajnoœci, ze wzglêdu na du e zapotrzebowanie na energiê zasilania oraz du e straty spowodowane wydzielaniem energii cieplnej. Ma to wp³yw na czêstotliwoœæ pracy procesora, jej przyrost jest ograniczany tymi zjawiskami. W celu ratowania sytuacji producenci procesorów przerzucili siê na produkcjê uk³adów zawieraj¹cych wiele procesorów, tzw. rdzeni, w celu zapewnienia wzrostu mocy przetwarzania aplikacji. Ta operacja mia³a ogromny wp³yw na œrodowisko projektantów oprogramowania. Dotychczas aplikacje w wiêkszoœci pisane by³y na architekturê von Neumanna, w której programy realizowane s¹ krok po kroku sekwencyjnie. Je eli taki sekwencyjny program zostanie uruchomiony na jednym z rdzeni, to jego czas wykonania nie skróci siê ju znacznie, jeœli nie zostan¹ wprowadzone pewne innowacje technologiczne. Sposobem na zwiêkszenie wydajnoœci jest zastosowanie programowania równoleg³ego w nowych generacjach mikroprocesorów. Programowanie równoleg³e nie jest pojêciem nowym. By³o i jest ono stosowane przez dziesiêciolecia w oprogramowaniu komputerów drogich i o du ej skali. Jednak e tylko pewna czêœæ programistów potrafi pisaæ tego typu aplikacje. Z pojawieniem siê procesorów nowego typu programiœci musz¹ podj¹æ siê nowego wyzwania opracowywania nowych równoleg³ych aplikacji na nowe procesory. Od 2003 rozwój mikroprocesorów podzieli³ siê na dwie linie, jedn¹ z nich jest linia procesorów wielordzeniowych (multicore), pocz¹wszy od dwurdzeniowych, aktualnie na czterech skoñczywszy. Drug¹ jest linia many-core, która szczególnie ukierunkowana jest na przepustowoœæ wykonania aplikacji równoleg³ych. Procesory te maj¹ du ¹ liczbê rdzeni, przy czym ich liczba podwaja siê ka dego roku. Przyk³adem mo e byæ karta graficzna Ge- Force GTX 280 NVIDIA z 240 rdzeniami. GPU w porównaniu z CPU wykazuj¹ od 2003 sta³y, du o wiêkszy wzrost wydajnoœci w wykonywaniu operacji zmiennoprzecinkowych, osi¹gaj¹c w 2009 wartoœæ 10 do 1, na rysunku 2 mo na zauwa yæ tê tendencjê. G³ównym zadaniem kart graficznych jest ich wykorzystanie do celów renderyzacji grafiki 3D, ale ju bardzo wczeœnie próbowano wykorzystaæ je do innych typów aplikacji. Pocz¹tki by³y trudne i wymaga³y od programistów doskona³ej znajomoœci architektury GPU, znajomoœci problematyki grafiki 3D, co w znacznym stopniu ogranicza³o wykorzystanie tych kart. Wraz z rozwojem i udoskonalaniem potoku renderyzacji realizowanym na kartach graficznych mo liwe stawa³o siê tworzenie coraz to bardziej zaawansowanych aplikacji z dziedziny przetwarzania obrazów czy te systemów wizyjnych jak wykrywanie krawêdzi, okreœlanie podobieñstwa obrazów, detekcja cech obrazu, filtrowanie, a tak e tworzenie obrazów panoramicznych. Pierwszym doœæ popularnym kompilatorem do celów GPGPU by³ BrookGPU [8] przystosowany do tworzenia aplikacji niegraficznych na GPU. Z grupy projektantów tego

5 Mo liwoœæ zastosowania GPU do przetwarzania obrazów dla celów analizy sceny 275 oprogramowania wydzieli³y siê osoby, które przy³¹czy³y siê do NVIDIA w celu tworzenia zintegrowanej architektury daj¹cej mo liwoœæ programowania równoleg³ego na GPU osobom nieznaj¹cym graficznego API. Tak pojawi³a siê technologia CUDA (Computed Unified Device Architecture). Rys. 2. Porównanie wydajnoœci przetwarzania operacji zmiennoprzecinkowych przez procesory CPU i GPU [12] 4. Ogólne spojrzenie na architekturê NVIDIA CUDA NVIDIA projektuj¹c now¹ generacjê kart graficznych opartych na DirectX 10, zapocz¹tkowa³a mo liwoœæ wykorzystania GPU przez programistów w podobny sposób jak standardowe procesory ogólnego przeznaczenia. U ytkownicy mog¹ od tej pory deklarowaæ równoleg³oœæ danych w swoich aplikacjach. Procesory NVIDIA mo na traktowaæ jako wysoko wydajne procesory przetwarzaj¹ce dane zmiennoprzecinkowe jak i ca³kowite w równoleg³y sposób dla wspomagania logicznego potoku graficznego. Linia Tesla GPU, rozpoczynaj¹ca siê od GeForce 8800GTX poprzez póÿniejsze G92 i GT200 zosta³a wzbogacona w porównaniu ze swoimi poprzednikami o procesory cieniuj¹ce (shader), które sta³y siê w pe³ni programowalne z du ¹ pamiêci¹ dla instrukcji, cachem dla nich oraz logicznym uk³adem przetwarzania rozga³êzieñ. Dodatkowo wzbogacono zbiór instrukcji o instrukcje dostêpu swobodnego do pamiêci (zapis i odczyt), aby upodobniæ styl programowania do jêzyka C. Aplikacje niegraficzne dosta³y mo liwoœæ wykorzystania bardziej ogólnego modelu programowania opartego na w¹tkach, barierach synchronizacji i operacjach atomowych w celu wykonywania i zarz¹dzania wysoko równoleg³ymi programami.

6 276 Magdalena Szymczyk, Piotr Szymczyk Kompilator CUDA C/C++, biblioteki oraz oprogramowanie do uruchamiania zosta³ zaprojektowany w celu prostego dostêpu przez programistów do potencja³u oferowanego przez architekturê Tesla. Programy uruchamiane na nowoczesnych GPU, zarówno te graficzne jak i aplikacje CUDA, korzystaj¹ z mo liwoœci wykorzystania masowej, drobnoziarnistej równoleg³oœci opartej na danych, przy czym jest to oprogramowanie transparentne i skalowalne. Na rysunku 3 pokazano nowoczesn¹ kartê graficzn¹ GPU realizuj¹c¹ architekturê CUDA. Rys. 3. Architektura nowoczesnej karty graficznej GPU realizuj¹cej architekturê CUDA [12] Model programowania CUDA zbudowany jest z hosta, który zazwyczaj jest jednostk¹ CPU (wykonuj¹c¹ program szeregowo lub równolegle, ale w stopniu doœæ ograniczonym) i wielu urz¹dzeñ (devices) zbudowanych z masowo-równoleg³ych procesorów wyposa onych w du ¹ liczbê arytmetycznych jednostek wykonawczych. Kod programu (a w³aœciwie zbiór funkcji opartych na równoleg³oœci danych) uruchamiany jest na GPU i oznaczony poprzez s³owo kluczowe kernel. Funkcje kernel uruchamiaj¹ ogromn¹ liczbê w¹tków w celu wykorzystania równoleg³oœci danych. Wa n¹ informacj¹ jest to, e w¹tki te ró ni¹ siê od w¹tków uruchamianych na CPU, s¹ one l ejszego typu (prze³adowanie takiego w¹tku trwa kilka cykli pracy procesora w odró nieniu od tysiêcy cykli dla procesora CPU). Wykonanie typowego programu CUDA przedstawione jest na rysunku 4. Wykonanie rozpoczyna siê na hoœcie (CPU), a nastêpnie wywo³ywane s¹ funkcje kernela. Wszystkie w¹tki uruchamiane

7 Mo liwoœæ zastosowania GPU do przetwarzania obrazów dla celów analizy sceny 277 przez kernel s¹ okreœlane wspólna nazw¹ grid. Gdy w¹tki danego kernela zakoñcz¹ swoje dzia³anie, grid jest zamykany i sterowanie programem powraca na host, gdzie ewentualnie wywo³ywany jest nastêpny kernel. Rys. 4. Wykonanie programu na GPU [6] 5. Zalety i ograniczenia technologii CUDA do wykonywania aplikacji typu GPGPU CUDA ma wiele zalet w porównaniu z tradycyjnym oprogramowaniem ogólnego zastosowania na GPU przy u yciu graficznego API: tzw. scattered reads jedna operacja czytania danych powoduje zapis do wielu miejsc w pamiêci; pamiêæ wspó³dzielona CUDA udostêpnia szybk¹ pamiêæ wspó³dzielon¹ pomiêdzy w¹tkami (do 48 kb na multiprocesor) i mo e ona s³u yæ jako zarz¹dzany przez u ytkownika cache o du ej przepustowoœci; szybsze operacje transferu danych z i do GPU; pe³ne wspomaganie operacji ca³kowitoliczbowych oraz bitowych.

8 278 Magdalena Szymczyk, Piotr Szymczyk G³ówne ograniczenia CUDA: CUDA pozbawiona jest mo liwoœci wywo³ywania funkcji rekurencyjnych oraz korzystania ze wskaÿników, renderowanie tekstury nie jest mo liwe, podwójna precyzja dostêpna jest dla CUDA 1.3 i powy ej, z pewnymi zmianami w stosunku do standardu IEEE 754, transfer informacji pomiêdzy CPU a GPU mo e byæ w¹skim gard³em aplikacji, w¹tki powinny byæ wykonywane w grupach co najmniej 32-elementowych dla lepszej efektywnoœci, model SIMD wykonania programu doœæ ogranicza zadania z wewnêtrzn¹ dywergencj¹, w odró nieniu do OpenCL, CUDA dostêpna jest tylko dla NVIDIA (GeForce8, Quadro i Tesla). 6. Wykorzystanie CUDA do systemów wizyjnych Systemy wizyjne w ostatnim dziesiêcioleciu sta³y siê integralnym elementem aplikacji stosowanych w medycynie, transporcie i ochronie. Algorytmy z zakresu systemów wizyjnych zawieraj¹ w sobie algorytmy z zakresu wielu dyscyplin naukowych (statystyka, optyka, sztuczna inteligencja, przetwarzanie obiektów, rozpoznawanie obrazów, teoria grafów). Algorytmy tego typu charakteryzuj¹ siê ogromn¹ intensywnoœci¹ obliczeñ i w zasadzie uruchamianie ich na tradycyjnych CPU spotka³o siê ju z barier¹ ich mo liwoœci. Wspó³czesne systemy wizyjne nak³adaj¹ na tego typu aplikacje wymaganie wykonania w czasie rzeczywistym, a to mo e zostaæ zrealizowane przy u yciu procesorów równoleg³ych. Aktualnie tak¹ mo liwoœæ daj¹ tanie i ³atwo dostêpne karty graficzne GPU przy wykorzystaniu miêdzy innymi jêzyka programowania CUDA. Wykonywanie takich programów na procesorach GPU przy u yciu wysokowydajnych algorytmów równoleg³ych daje efekty nieosi¹galne dotychczas. Szczególnie istotnym aspektem w opracowywaniu systemów wizyjnych uruchamianych w czasie rzeczywistym jest teraz opracowanie nowych algorytmów równoleg³ych doskonale wykorzystuj¹cych potencja³ nowoczesnych GPU (architektura Tesla). Ta dyscyplina jest obecnie obszarem wzmo onej pracy naukowców w celu opracowania wysoko wydajnego opartego o GPU oprogramowania dla systemów wizyjnych. Ogólnie rzecz bior¹c, algorytmy systemów wizyjnych przetwarzaj¹ niezale nie ogromne iloœci pikseli oraz pewnych struktur dla których wykorzystanie modelu programowania równoleg³ego typu SIMT doskonale siê sprawdza. W dalszej czêœci przedstawione zostan¹ prace zwi¹zane z pewnymi wybranymi algorytmami wykorzystywanymi w przetwarzaniu obrazów na GPU i przedstawione zostan¹ pewne wytyczne dotycz¹ce sposobu ich projektowania wynikaj¹ce z tych badañ.

9 Mo liwoœæ zastosowania GPU do przetwarzania obrazów dla celów analizy sceny Modu³ OpenCV CUDA OpenCV jest aktualnie rozwijan¹ doœæ intensywnie bibliotek¹ graficzn¹ u³atwiaj¹c¹ implementacje z³o onych systemów wizyjnych typu open-source [12]. W 2010 NVIDIA oficjalnie og³osi³a wsparcie dla tej biblioteki. Dotychczas czêœæ algorytmów zosta³a zaimportowana do CUDA: HOG, SURF, konwersja kolorów, rozmycie gaussowskie. Kod jest aktualnie rozwijalny i cechuje siê pewn¹ niestabilnoœci¹ czêsto raportowan¹ przez u ytkowników. Jednak e uda³o siê ju przeprowadziæ pewne testy i okreœliæ wp³yw wykorzystania GPU dla istniej¹cego ju, jednak e zorientowanego na CPU oprogramowania. 8. Biblioteka NVIDIA NPP Biblioteka ta jest tworzona przez NVIDIA [5] i zawiera w sobie funkcje korzystaj¹ce z technologii CUDA w celu przyspieszenia obliczeñ. Pocz¹tkowo by³a ona ukierunkowana na przetwarzanie obrazów i jest ona intensywnie wykorzystywana przez projektantów tego typu aplikacji. Z czasem zosta³a poszerzona o inne trudne obliczeniowo zadania w ró nych obszarach zastosowañ. Biblioteka NPP jest pisana w sposób elastyczny, nie trac¹c przy tym na swych wysokich mo liwoœciach wydajnoœciowych. Mo e ona zostaæ u yta jako niezale na osobna biblioteka dodana do aplikacji w celu przyspieszenia ich pracy na GPU przy minimalnym wysi³ku programisty. Drugie rozwi¹zanie to w³¹czenie funkcji tej biblioteki w kod programu w celu stworzenia efektywnego kodu pracuj¹cego na GPU. Wybrane funkcje do przetwarzania obrazu to: wymiana danych i ich inicjalizacja (set, convert, transpose, swapchannels, copyconstborder, copy), operacje arytmetyczne i logiczne (add, sub, mul, div, absdiff), progowanie oraz porównywanie, konwersja kolorów, funkcje filtruj¹ce, transformacje geometryczne, funkcje statystyczne, algorytmy Haar, Canny. Bibliotek¹ wspó³pracuj¹c¹ z NPP jest biblioteka CUVI Lib realizuj¹ca bardziej z³o one algorytmy z przeznaczeniem do systemów wizyjnych. 9. Konwersja kolorów oraz rozmycie gaussowskie Algorytmy te nale ¹ do czêsto wykorzystywanych operacji na obrazach (retusz, korekcja koloru). Algorytmy te na CUDA zaimplementowali T. Lengyel, J. Gedarovich i inni [13]. Wykonano testy konwersji kolorów oraz rozmycia gaussowskiego na karcie graficznej NVIDIA GeForce 9800 GT przy u yciu obrazu o rozdzielczoœci pikseli oraz na CPU Intel CORE ,13 GHz. Testy wykaza³y, e algorytm istniej¹cy

10 280 Magdalena Szymczyk, Piotr Szymczyk zaimportowany do CUDA wykonuje siê 2,7 razy szybciej, przy czym wiêkszoœæ czasu zosta³a wykorzystana na przesy³anie danych pomiêdzy CPU a kart¹. Wnioski, jakie wynikaj¹ z tych badañ s¹ takie, e algorytmy te osi¹gaj¹ lepsze przyspieszenie przy du ych obrazach, gdzie czas obliczeñ jest znacz¹cy w porównaniu z czasem transferu. Wynika to z d³ugiego czasu dostêpu do pamiêci globalnej multiprocesora (oko³o 500 cykli zegara) zatem operacje czytania i pisania do niej s¹ bardzo kosztowne. Czas ten mo e zostaæ zniwelowany przez wykonanie ogromnej liczby niezale nych obliczeñ zmiennoprzecinkowych. 10. HOG Detekcja osób jest doœæ istotnym zadaniem wspó³czesnych systemów ochrony. Algorytm HoG zaprezentowany przez Dalala i Triggsa [3] oblicza histogram lokalnie znormalizowanych gradientów kierunku przy u yciu bloków pikseli (reprezentacja okna detekcji). Fakt, e okno to rozci¹ga siê przez ten obraz we wszystkich mo liwych skalach obrazu, powoduje, e to podejœcie staje siê raczej trudne do wykorzystania przez systemy czasu rzeczywistego (systemy wspomagania kierowania samochodem, œledzenia czy te nadzoru). Jedn¹ z najwa niejszych prac w detekcji obiektów ostatniego dziesiêciolecia jest kaskadowy detektor, który wykonali Viola i Jones [15]. Jest to algorytm odporny na b³êdy i oprócz tego wykazuje du o lepsze przyspieszenie (oko³o jednego rzêdu wartoœci) w porównaniu z podobnymi pracami. Ich praca oparta jest miêdzy innymi o specjaln¹ strukturê integral image, która powoduje, e obliczenie cech jest zwi¹zane z operacj¹ sumowania pikseli obrazu w pewnych regionach. Operacje te dobrze siê paralelizuj¹, gdy zawieraj¹ w sobie miêdzy innymi ³atwe do zrównoleglenia operacje sumowania. Wyniki z pracy Berkina Bilgica [2] wykazuj¹ przyspieszenie równe oko³o 3 w porównaniu z aplikacjami na CPU. Algorytm ten jest kluczowym elementem algorytmu do szybkiej detekcji osób, zatem zaimplementowanie w postaci równoleg³ej pozosta³ej czêœci detektora jest obiecuj¹ce. Berkin Bilgic w swej pracy raportuje przyspieszenie ponaddziesiêciokrotne dla tego algorytmu. Zatem te rozwi¹zania zbli aj¹ nas do wykorzystania kaskadowych detektorów w systemach z wysokimi wymaganiami czasowymi jakimi s¹ systemy czasu rzeczywistego. Testy przeprowadzone przez T. Lengyel, J. Gedarovich i innych [13] potwierdzi³y, e algorytm ten jest bardzo dobrym kandydatem na algorytm równoleg³y wykonywany na GPU. 11. Viola-Jones na GPU Testy przeprowadzone w 2009 przez studentów Harvarda [4] przy u yciu funkcji z biblioteki OpenCV oraz CUDA 2.0 dla tej aplikacji przy wykorzystaniu sprzêtu CPU Intel 32-bitowy Core-2 (2,13 GHz) 1 GB RAM oraz GPU 512 MB NVIDIA GeForce 9800GT wykaza³y osi¹gniêcie dwukrotnego przyspieszenia.

11 Mo liwoœæ zastosowania GPU do przetwarzania obrazów dla celów analizy sceny Implementacja algorytmu SURF na GPU Aktualnie prowadzone s¹ przez autorów intensywne prace nad implementacj¹ algorytmu SURF [1] na GPU przy u yciu pakietu CUDA. Wstêpne wyniki uzyskane z przeprowadzonych testów wykazuj¹, e czas przetwarzania algorytmu równoleg³ego wykazuje niewielk¹ zale noœæ od liczby punktów charakterystycznych. W zwi¹zku z tym istnieje du y potencja³ zastosowania GPU dla tego typu algorytmu. Szczegó³owe wyniki prowadzonych prac zostan¹ opublikowane w najbli szym czasie. 13. Podsumowanie GPU dostarczaj¹ pewne rozwi¹zania technologiczne u³atwiaj¹ce przetwarzanie multimedialnych aplikacji na GPU. Do takich mo liwoœci mo na zaliczyæ w zakresie tekstury: cache tekstury, interpolacjê dwuliniow¹ wykonywan¹ sprzêtowo, konwersjê danych, dostêpnoœæ tekstury po wielu kana³ach, wielowymiarowoœæ, nieomal optymaln¹ wydajnoœæ przy dostêpie do lokalnych danych 2D. CUDA daje mo liwoœæ bardzo szybkiego dostêpu do pamiêci dzielonej, w której mo na umieœciæ fragment obrazu i dzieliæ piksele pomiêdzy w¹tkami. Wykorzystanie potencja³u GPU do systemów wizyjnych jest bardzo obiecuj¹c¹ technologi¹. W celu wydajnego wykorzystania kart graficznych do tego celu koniecznym jest opracowanie algorytmów równoleg³ych wykorzystuj¹cych specyfikê ich pracy jak te dalsza praca nad bibliotek¹ OpenCV dla GPU. Problemem jest tutaj te czas przesy³ania danych pomiêdzy hostem a kart¹, ale przy dzisiejszym rozwoju algorytmów koduj¹cych i dekoduj¹cych obrazy, to w¹skie gard³o mo e zostaæ usuniête. Literatura [1] Bay H., Ess A., Tuytelaars T., Van Gool L., SURF:Speeded Up Robust Features. Computer Vision and Image Understanding (CVIU), vol. 110, No. 3, 2008, [2] Bilgic B., Fast Human Detection with Cascaded Ensembles. S.M. thesis, Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, February [3] Dalal N., Triggs B., Histograms of Oriented Gradients for Human Detection. [4] Hsiao C.H., Dai A., Face detection on CUDA. 2009, [5] [6] [7] [8] [9] [10]

12 282 Magdalena Szymczyk, Piotr Szymczyk [11] [12] Kirk D.B., Hwu W.W., Programming Massively Parallel Processors. Morgan Kaufmann, Elsevier, [13] Lengyel T.K., Gedarovich J., Cusano A., Peters T.J., GPU Vision: Accelerating Computer Vision algorithms with Graphics Processing Unit. University of Connecticut, [14] Park I.K., Singhal N., Lee M.H., Cho S., Efficient design and implementation of visual computing algorithms on tha GPU. ICIP [15] Viola P., Jones M., Robust Real-time Object Detection. Second International Workshop on Statistical and Computational Theories of Vision Modeling, Learning, Computing, and Sampling, Vancouver, Canada, 2001.

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

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

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

ROCZNIKI 2010 GEOMATYKI. Metodyka i technologia budowy geoserwera tematycznego jako komponentu INSPIRE. Tom VIII Zeszyt 3(39) Warszawa

ROCZNIKI 2010 GEOMATYKI. Metodyka i technologia budowy geoserwera tematycznego jako komponentu INSPIRE. Tom VIII Zeszyt 3(39) Warszawa POLSKIE TOWARZYSTWO INFORMACJI PRZESTRZENNEJ ROCZNIKI 2010 GEOMATYKI Metodyka i technologia budowy geoserwera tematycznego jako komponentu INSPIRE Tom VIII Zeszyt 3(39) Warszawa PROPOZYCJA ZASAD POLSKIE

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

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

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

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

Redukcja czasu wykonania algorytmu Cannego dzięki zastosowaniu połączenia OpenMP z technologią NVIDIA CUDA

Redukcja czasu wykonania algorytmu Cannego dzięki zastosowaniu połączenia OpenMP z technologią NVIDIA CUDA Dariusz Sychel Wydział Informatyki, Zachodniopomorski Uniwersytet Technologiczny w Szczecinie 71-210 Szczecin, Żołnierska 49 Redukcja czasu wykonania algorytmu Cannego dzięki zastosowaniu połączenia OpenMP

Bardziej szczegółowo

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

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

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

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

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

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

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

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, zapoczątkowana przez i wstecznie zgodna z 16-bitowym procesorem

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

Architektura mikroprocesorów TEO 2009/2010

Architektura mikroprocesorów TEO 2009/2010 Architektura mikroprocesorów TEO 2009/2010 Plan wykładów Wykład 1: - Wstęp. Klasyfikacje mikroprocesorów Wykład 2: - Mikrokontrolery 8-bit: AVR, PIC Wykład 3: - Mikrokontrolery 8-bit: 8051, ST7 Wykład

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ÓŁ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

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

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

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

SYSTEM INFORMACJI GEOGRAFICZNEJ JAKO NIEZBÊDNY ELEMENT POWSZECHNEJ TAKSACJI NIERUCHOMOŒCI**

SYSTEM INFORMACJI GEOGRAFICZNEJ JAKO NIEZBÊDNY ELEMENT POWSZECHNEJ TAKSACJI NIERUCHOMOŒCI** GEODEZJA l TOM 12 l ZESZYT 2/1 l 2006 Piotr Cichociñski*, Piotr Parzych* SYSTEM INFORMACJI GEOGRAFICZNEJ JAKO NIEZBÊDNY ELEMENT POWSZECHNEJ TAKSACJI NIERUCHOMOŒCI** 1. Wstêp Nieunikniona zapewne w przysz³oœci

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

Mikroprocesory rodziny INTEL 80x86

Mikroprocesory rodziny INTEL 80x86 Mikroprocesory rodziny INTEL 80x86 Podstawowe wła ciwo ci procesora PENTIUM Rodzina procesorów INTEL 80x86 obejmuje mikroprocesory Intel 8086, 8088, 80286, 80386, 80486 oraz mikroprocesory PENTIUM. Wprowadzając

Bardziej szczegółowo

Analiza obrazów RTG w celu zwiêkszenia skutecznoœci predykcji dysplazji oskrzelowo-p³ucnej u noworodków

Analiza obrazów RTG w celu zwiêkszenia skutecznoœci predykcji dysplazji oskrzelowo-p³ucnej u noworodków AUTOMATYKA 2008 Tom 12 Zeszyt 2 Marcin Ochab* Analiza obrazów RTG w celu zwiêkszenia skutecznoœci predykcji dysplazji oskrzelowo-p³ucnej u noworodków 1. Wprowadzenie Dotychczas w pracach dotycz¹cych przewidywañ

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

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

PROCESOR Z ODBLOKOWANYM MNOŻNIKIEM!!! PROCESOR INTEL CORE I7 4790K LGA1150 BOX

PROCESOR Z ODBLOKOWANYM MNOŻNIKIEM!!! PROCESOR INTEL CORE I7 4790K LGA1150 BOX amigopc.pl 883-364-274 SKLEP@AMIGOPC.PL PROCESOR INTEL CORE I7-4790K QUAD CORE, 4.00GHZ, 8MB, LGA1150, 22NM, 84W, VGA, BOX CENA: 1 473,00 PLN CZAS WYSYŁKI: 24H PRODUCENT: INTEL NUMER KATALOGOWY: BX80646I74790K

Bardziej szczegółowo

Algorytmy dla maszyny PRAM

Algorytmy dla maszyny PRAM Instytut Informatyki 21 listopada 2015 PRAM Podstawowym modelem służącym do badań algorytmów równoległych jest maszyna typu PRAM. Jej głównymi składnikami są globalna pamięć oraz zbiór procesorów. Do rozważań

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: PROGRAMOWANIE APLIKACJI RÓWNOLEGŁYCH I ROZPROSZONYCH Programming parallel and distributed applications Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach specjalności: Inżynieria

Bardziej szczegółowo

Rozproszona pamiêæ dzielona - 1

Rozproszona pamiêæ dzielona - 1 Rozproszona pamiêæ dzielona - 1 Wieloprocesor - wiele ma dostêp do wspólnej pamiêci g³ównej Wielokomputer - ka dy ma w³asn¹ pamiêæ g³ówn¹; nie ma wspó³dzielenia pamiêci Aspekt sprzêtowy: Skonstruowanie

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

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

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

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

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

Nowoczesne technologie przetwarzania informacji

Nowoczesne technologie przetwarzania informacji Projekt Nowe metody nauczania w matematyce Nr POKL.09.04.00-14-133/11 Nowoczesne technologie przetwarzania informacji Mgr Maciej Cytowski (ICM UW) Lekcja 2: Podstawowe mechanizmy programowania równoległego

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

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

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

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

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

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

Skanowanie trójwymiarowej przestrzeni pomieszczeñ

Skanowanie trójwymiarowej przestrzeni pomieszczeñ AUTOMATYKA 2008 Tom 12 Zeszyt 3 S³awomir Je ewski*, Micha³ Jaros* Skanowanie trójwymiarowej przestrzeni pomieszczeñ 1. Wprowadzenie Obecnie w erze komputerów, które pozwalaj¹ na wizualizacje scen nie tylko

Bardziej szczegółowo

INŻYNIERIA OPROGRAMOWANIA

INŻYNIERIA OPROGRAMOWANIA INSTYTUT INFORMATYKI STOSOWANEJ 2014 Nowy blok obieralny! Testowanie i zapewnianie jakości oprogramowania INŻYNIERIA OPROGRAMOWANIA Inżynieria Oprogramowania Proces ukierunkowany na wytworzenie oprogramowania

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

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

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

Automatyka i Robotyka studia stacjonarne drugiego stopnia

Automatyka i Robotyka studia stacjonarne drugiego stopnia #384 #380 dr inż. Mirosław Gajer Projekt i implementacja narzędzia do profilowania kodu natywnego przy wykorzystaniu narzędzi Android NDK (Project and implementation of tools for profiling native code

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

Julia 4D - raytracing

Julia 4D - raytracing i przykładowa implementacja w asemblerze Politechnika Śląska Instytut Informatyki 27 sierpnia 2009 A teraz... 1 Fraktale Julia Przykłady Wstęp teoretyczny Rendering za pomocą śledzenia promieni 2 Implementacja

Bardziej szczegółowo

która metoda jest najlepsza

która metoda jest najlepsza która metoda jest najlepsza dr inż. Marek Żabka Instytut Matematyki Wydział Matematyki Stosowanej Politechnika Śląska 20 września 2012r Nowa metoda tworzenia grafiki na stronie internetowej: element,,canvas

Bardziej szczegółowo

Architektura Komputerów

Architektura Komputerów 1/3 Architektura Komputerów dr inż. Robert Jacek Tomczak Uniwersytet Przyrodniczy w Poznaniu Architektura a organizacja komputera 3.1 Architektura komputera: atrybuty widzialne dla programisty, atrybuty

Bardziej szczegółowo

Wyznaczanie charakterystyki widmowej kolorów z wykorzystaniem zapisu liczb o dowolnej precyzji

Wyznaczanie charakterystyki widmowej kolorów z wykorzystaniem zapisu liczb o dowolnej precyzji AUTOMATYKA 2011 Tom 15 Zeszyt 3 Maciej Nowak*, Grzegorz Nowak* Wyznaczanie charakterystyki widmowej kolorów z wykorzystaniem zapisu liczb o dowolnej precyzji 1. Wprowadzenie 1.1. Kolory Zmys³ wzroku stanowi

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

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

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

Projektowanie. Projektowanie mikroprocesorów

Projektowanie. Projektowanie mikroprocesorów WYKŁAD Projektowanie mikroprocesorów Projektowanie układ adów w cyfrowych - podsumowanie Algebra Boole a Bramki logiczne i przerzutniki Automat skończony System binarny i reprezentacja danych Synteza logiczna

Bardziej szczegółowo

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości

Bardziej szczegółowo

zna wybrane modele kolorów i metody transformacji między nimi zna podstawowe techniki filtracji liniowej, nieliniowej dla obrazów cyfrowych

zna wybrane modele kolorów i metody transformacji między nimi zna podstawowe techniki filtracji liniowej, nieliniowej dla obrazów cyfrowych Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Wydział Matematyki i Informatyki Instytut Informatyki Przetwarzanie i analiza obrazów cyfrowych w

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

Projektowanie logistycznych gniazd przedmiotowych

Projektowanie logistycznych gniazd przedmiotowych Zygmunt Mazur Projektowanie logistycznych gniazd przedmiotowych Uwagi wstępne Logistyka obejmuje projektowanie struktury przep³ywu w procesie wytwarzania. Projektowanie dotyczy ustalania liczby, kszta³tu

Bardziej szczegółowo

3.Przeglądarchitektur

3.Przeglądarchitektur Materiały do wykładu 3.Przeglądarchitektur Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 17 marca 2014 Architektura a organizacja komputera 3.1 Architektura komputera: atrybuty widzialne

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

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 7 Jan Kazimirski 1 Pamięć podręczna 2 Pamięć komputera - charakterystyka Położenie Procesor rejestry, pamięć podręczna Pamięć wewnętrzna pamięć podręczna, główna Pamięć zewnętrzna

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

NOWE TRENDY ROZWOJU MIKROPROCESORÓW

NOWE TRENDY ROZWOJU MIKROPROCESORÓW NOWE TRENDY ROZWOJU MIKROPROCESORÓW Marcin LORENC, Krzysztof CEGIELSKI Streszczenie: Celem artykułu jest zaprezentowanie kierunków rozwoju mikrokontrolerów. Przedstawiono krótką historię procesorów, pojęcie

Bardziej szczegółowo

3.Przeglądarchitektur

3.Przeglądarchitektur Materiały do wykładu 3.Przeglądarchitektur Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 24 stycznia 2009 Architektura a organizacja komputera 3.1 Architektura komputera: atrybuty widzialne

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

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Jednostki obliczeniowe w zastosowaniach mechatronicznych Kierunek: Mechatronika Rodzaj przedmiotu: dla specjalności Systemy Sterowania Rodzaj zajęć: Wykład, laboratorium Computational

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

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

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

Konwerter RS 232 / Centronics typ KSR

Konwerter RS 232 / Centronics typ KSR W i t o l d J u r e c z k o 44-151 Gliwice, ul. Daszyñskiego 560 Regon: 271215331 NIP: 631-010-66-35 Internet: www.yuko.com.pl e-mail: yuko@yuko.com.pl tel./ fax : (+48) (32) 230-89-49 telefony wewnêtrzne,

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

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx 1. WPROWADZENIE Program AutoCAD ma wielu użytkowników i zajmuje znaczące miejsce w graficznym

Bardziej szczegółowo

Raport Hurtownie Danych

Raport Hurtownie Danych Raport Hurtownie Danych Algorytm Apriori na indeksie bitmapowym oraz OpenCL Mikołaj Dobski, Mateusz Jarus, Piotr Jessa, Jarosław Szymczak Cel projektu: Implementacja algorytmu Apriori oraz jego optymalizacja.

Bardziej szczegółowo

Nowinkach technologicznych procesorów

Nowinkach technologicznych procesorów Elbląg 22.04.2010 Nowinkach technologicznych 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

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

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

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

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

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535 Opis funkcjonalny i architektura Modu³ sterownika mikroprocesorowego KM535 Modu³ KM535 jest uniwersalnym systemem mikroprocesorowym do pracy we wszelkiego rodzaju systemach steruj¹cych. Zastosowanie modu³u

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

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

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

Kabel USB 2.0 do poù¹czenia komputerów PCLinq2 (PL-2501) podrêcznik u ytkownika

Kabel USB 2.0 do poù¹czenia komputerów PCLinq2 (PL-2501) podrêcznik u ytkownika Kabel USB 2.0 do poù¹czenia komputerów PCLinq2 (PL-2501) podrêcznik u ytkownika Wprowadzenie Kabel USB 2.0 do poù¹czenia komputerów PCLinq2 to znakomite rozwi¹zanie do szybkiego utworzenia sieci peer-to-peer

Bardziej szczegółowo

Introduction to Computer Science

Introduction to Computer Science Introduction to Computer Science Grzegorz J. Nalepa Katedra Automatyki AGH spring 2011 c by G.J.Nalepa, 2004-11 (AGH) Introduction to Computer Science spring 2011 1 / 55 c by G.J.Nalepa,

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

Bogdan Nogalski*, Anna Wójcik-Karpacz** Sposoby motywowania pracowników ma³ych i œrednich przedsiêbiorstw

Bogdan Nogalski*, Anna Wójcik-Karpacz** Sposoby motywowania pracowników ma³ych i œrednich przedsiêbiorstw Bogdan Nogalski*, Anna Wójcik-Karpacz** Sposoby motywowania pracowników ma³ych i œrednich przedsiêbiorstw Artyku³ zawiera rozwa ania zwi¹zane ze sposobami motywowania pracowników w sektorze MŒP. Autorzy

Bardziej szczegółowo

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,

Bardziej szczegółowo

MIÊDZYNARODOWY STANDARD REWIZJI FINANSOWEJ 520 PROCEDURY ANALITYCZNE SPIS TREŒCI

MIÊDZYNARODOWY STANDARD REWIZJI FINANSOWEJ 520 PROCEDURY ANALITYCZNE SPIS TREŒCI MIÊDZYNARODOWY STANDARD REWIZJI FINANSOWEJ 520 PROCEDURY ANALITYCZNE (Stosuje siê przy badaniu sprawozdañ finansowych sporz¹dzonych za okresy rozpoczynaj¹ce siê 15 grudnia 2009 r. i póÿniej) Wprowadzenie

Bardziej szczegółowo

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów Studia Podyplomowe INFORMATYKA Architektura komputerów Wykład I Podstawowe pojęcia 1, Cyfrowe dane 2 Wewnątrz komputera informacja ma postać fizycznych sygnałów dwuwartościowych (np. dwa poziomy napięcia,

Bardziej szczegółowo

Język opisu sprzętu VHDL

Język opisu sprzętu VHDL Język opisu sprzętu VHDL dr inż. Adam Klimowicz Seminarium dydaktyczne Katedra Mediów Cyfrowych i Grafiki Komputerowej Informacje ogólne Język opisu sprzętu VHDL Przedmiot obieralny dla studentów studiów

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

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 12 Jan Kazimirski 1 Magistrale systemowe 2 Magistrale Magistrala medium łączące dwa lub więcej urządzeń Sygnał przesyłany magistralą może być odbierany przez wiele urządzeń

Bardziej szczegółowo

Procesory sygnałowe Digital Signal Processors. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Procesory sygnałowe Digital Signal Processors. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2012/2013

Bardziej szczegółowo

Wykład 2. Mikrokontrolery z rdzeniami ARM

Wykład 2. Mikrokontrolery z rdzeniami ARM Źródło problemu 2 Wstęp Architektura ARM (Advanced RISC Machine, pierwotnie Acorn RISC Machine) jest 32-bitową architekturą (modelem programowym) procesorów typu RISC. Różne wersje procesorów ARM są szeroko

Bardziej szczegółowo