Implementacje algorytmów oddziałujących cząstek na architekturach masywnie równoległych
|
|
- Radosław Orzechowski
- 7 lat temu
- Przeglądów:
Transkrypt
1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Katedra Informatyki Autoreferat rozprawy doktorskiej Implementacje algorytmów oddziałujących cząstek na architekturach masywnie równoległych mgr inż. Tomasz Rożen Promotor: dr hab. Krzysztof Boryczko prof. AGH, Akademia Górniczo-Hutnicza w Krakowie, EAIiE Recenzenci: dr hab. inż. Marek Tudruj prof. PAN, Polska Akademia Nauk w Warszawie, IPI prof. dr hab. inż. Jacek Kitowski, Akademia Górniczo-Hutnicza w Krakowie, EAIiE
2 Cel i zakres pracy Metody oddziałujących cząstek należą do popularnych metod symulacyjnych, umożliwiających przeprowadzanie zaawansowanych eksperymentów komputerowych, między innymi z takich dziedzin nauki jak fizyka, chemia, astrofizyka. Do przeprowadzenia sensownej symulacji popularnymi metodami cząstek, takimi jak dyssypatywna dynamika cząstek (DPD) czy hydrodynamika cząstek wygładzonych (SPH), nierzadko stosuje się układy zbudowane z milionów cząstek lub większe. Pociąga to za sobą duże nakłady obliczeniowe, a szukanie efektywnych algorytmów symulacji jest ciągle przedmiotem badań. W pracy doktorskiej rozpatrywane były jedynie metody cząstek o oddziaływaniach krótkozasięgowych, do których należą m.in. wymienione metody. W ciągu ostatnich lat obserwujemy zmianę podejścia do projektowania procesorów spowodowaną ograniczeniami fizycznymi technologii CMOS. Problemy ze zwiększaniem częstotliwości taktowania spowodowały, że zaczęły się pojawiać układy z bardzo duża liczbą rdzeni obliczeniowych. Jako cel pracy doktorskiej postanowiono opracowanie metod umożliwiających efektywną realizację algorytmów oddziałujących cząstek, dedykowanych dla wybranych, nietypowych architektur komputerowych. Pierwszą grupą architektur były procesory graficzne (GPU), które w ciągu ostatnich lat rozwinęły się od prostych układów wykonujących jedynie predefiniowany zestaw operacji arytmetycznych do układów charakteryzujących się wielopotokowością oraz wysoką programowalnością. Kolejną chronologicznie architekturą był procesor Cell opracowany na potrzeby konsoli do gier Playstation 3, a występujący obecnie również w superkomputerach z listy TOP500. Układ składa się z jednego rdzenia ogólnego przeznaczenia oraz ośmiu pomocniczych, przeznaczonych do przetwarzania dużej ilości danych. Ostatnią omawianą architekturą jest CUDA, rozwinięcie i uogólnienie koncepcji obliczeń na GPU do zastosowań, które nie są związane z grafiką komputerową. Do tej kategorii należy procesor Tesla oraz ostatnie generacje kart graficznych. W pracy wysunięto tezę, że opracowanie dedykowanych algorytmów dla architektur masywnie równoległych pozwoli osiągnąć większą wydajność, niż na architekturach tradycyjnych. Dla wykazania prawdziwości tezy postanowiono zrealizować następujące cele: 1. Dokonano analizy modelu oddziaływań wykorzystywanych wykorzystywanych w symulacjach metodami cząstek pod kątem ich efektywnej realizacji. 2. Opracowano i zaimplementowano algorytmy symulacji dla wybranych architektur. 3. Przeprowadzono badanie algorytmów pod kątem złożoności obliczeniowej oraz wydajności opracowanych metod. 4. Następnie dokonano symulacji wybranych zjawisk fizycznych za pomocą opisanych metod. Procesory graficzne Symulacja metodami cząstek, takimi jak DPD czy SPH, realizowana jest przez wielokrotne powtórzenie kroku symulacyjnego, który polega na wyliczeniu sił oddziaływań między cząstkami, a następnie wyliczenia z równań ruchu nowych położeń cząstek. Dobór metod całkowania nie należał do przedmiotu rozprawy, dlatego zastosowane zostały popularne i sprawdzone rozwiązania.
3 Ze względu na strumieniowy model przetwarzania główną trudność w implementacji metod cząstek na procesorach graficznych stanowiło wyznaczenie cząstek sąsiednich każdej cząstki, konieczne dla wyliczenia oddziaływań. Autor zastosował podział przestrzeni symulacji (prostopadłościennego pudła obliczeniowego) na sześcienne komórki. Dla danej cząstki należało w takim układzie przejrzeć wszystkie cząstki z 27 komórek otaczających daną cząstkę sprawdzając jednocześnie, czy znajdują się one w tzw. promieniu obcięcia. Stąd długość promienia obcięcia nie może być większa od długości krawędzi celi. W celu przyporządkowania cząstek do komórek postanowiono zastosować zmodyfikowany algorytm sortowania kubełkowego (rys.1.). Celem działania algorytmu było wyznaczenie list odsyłaczowych elementów dla każdej komórki. Uzyskiwane było to przez naprzemienne zapisywanie identyfikatorów elementów do "głowy" listy, a następnie wyznaczanie elementu następnego. Ze względu na konflikty w zapisie, powodowane przypisaniem wielu elementów do tej samej komórki, kroki te musiały być powtarzane wielokrotnie aż do umieszczenia wszystkich elementów w listach. Element raz umieszczony w częściowej liście odsyłaczowej nie był brany pod uwagę w dalszej części przetwarzania. a) b) c) Rys.1. Przykład działania równoległej wersji algorytmu sortowania kubełkowego: a) dane wejściowe, b) poszczególne kroki przetwarzania, c) wynik sortowania. Złożoność obliczeniowa proponowanego algorytmu jest rzędu O(N 2 /M) gdzie N i M to odpowiednio liczba cząstek i liczba kubełków. Ze względu na równoległe przetwarzanie liczba cykli procesora mogła być mniejsza, niż dla klasycznego algorytmu sortowania kubełkowego. Dla powyższego algorytmu przeprowadzono dwie dodatkowe optymalizacje. Pierwszą z nich było zastosowanie "przesuwanego okna" o stałym rozmiarze. Przy pierwszym przebiegu listy odsyłaczowe tworzone były jedynie w obrębie okien, a scalane w jedną były dopiero w ostatecznym kroku algorytmu. Druga optymalizacja wynikała z obserwacji, że w ciągu kroku czasowego symulacji tylko niewielka część cząstek zmieniała zajmowaną komórkę. W związku z powyższym dodano początkowy krok, którego zadaniem było usunięcie z gotowych list odsyłaczowych elementów, które powinny znaleźć się w innych komórkach. Następnie stosowany był wyżej opisany algorytm sortowania kubełkowego, z tą różnicą, że zaczynał od już częściowo uporządkowanych list. Zaproponowany algorytm symulacji został zaimplementowany na karcie graficznej GeForce 6800 Ultra. Dane cząstek, położenie i pęd, przechowywane były w postaci 32-bitowych,
4 zmiennoprzecinkowych tekstur, natomiast indeksy list odsyłaczowych kodowane były jako 8-bitowe, całkowite składowe RGBA. Implementacja algorytmu na GPU wymagała rozwiązania szeregu problemów technicznych. Ze względu na model przetwarzania potokowego nie było możliwe zrealizowanie zapisu do dowolnej pozycji w pamięci. W tym celu autor zastosował mechanizm renderowania punktów. Dane cząstek były kopiowane z pamięci tekstury do pamięci wierzchołków, skąd następowało renderowanie punktów z przetwarzaniem pozycji cząstki na identyfikator komórki przy użyciu jednostki vertex shader. Drugą przeszkodą była realizacja warunku stopu. Do tego celu zastosowano mechanizm testowania okluzji, informującej o liczbie elementów, które pozytywnie przeszły wszystkie testy w potoku renderowania. W przypadku algorytmu sortowania kubełkowego badane było, ile cząstek dodanych zostało do list odsyłaczowych. Algorytm kończył działanie, gdy liczba ta wynosiła zero. Dla metody DPD konieczne było również zaimplementowanie na GPU generatora liczb pseudolosowych, działającego jedynie w oparciu o liczby zmiennoprzecinkowe. Otrzymane wyniki eksperymentalne porównano z implementacją na tradycyjnym procesorze oraz podobnym algorytmem sortowania działającym na GPU, pokazując lepszą wydajność algorytmu autorskiego. Procesor Cell Układ Cell jest jednostką heterogeniczną, składającą się z jednego rdzenia ogólnego przeznaczenie PPU oraz ośmiu niezależnych rdzeni przetwarzania wektorowego SPU (sześciu w przypadku wersji procesora w Playstation 3), każdy wyposażony jedynie w 256kB dostępnej pamięci. Ze względu na nietypową budowę procesora standardowy schemat realizacji symulacji metodami cząstek polegający na: 1) znalezieniu par oddziałujących cząstek, 2) obliczeniu sił oddziaływań, 3) rozwiązania układu równań ruchu musiał zostać zmodyfikowany, aby wykorzystać dostępną moc obliczeniową oraz specyficzną architekturę pamięci. Ze względu na duża liczbę obliczeń zmiennoprzecinkowych oraz lokalność oddziaływań obliczenia te mogły być wykonane na jednostkach SPE. Natomiast pierwszy krok, wymagający przejrzenia wszystkich cząstek, musiał zostać zrealizowany przez rdzeń główny. Rys.2. Podział przestrzeni symulacji na pionowe kominy składające się z poziomych plastrów o wysokości komórki. Prezentowany komin składa się z 4x4xN komórek wraz z komórkami otaczającymi.
5 Z powodów wymienionych powyżej ogólny układ algorytmu był następujący: na początku cząstki przyporządkowywane były do odpowiednich komórek na jednostce PPU, następnie dane rozsyłane były do jednostek SPU w celu przeprowadzenia obliczeń. Ostatecznie wyniki były zwracane do pamięci głównej, gdzie następowało scalane. Cała przestrzeń symulacji, składająca się sześciennych komórek, została podzielona na pionowe "kominy", które natomiast składały się z poziomych "plastrów" (rys.2). Podział ten był niezbędny ze względu na niewielką dostępną pamięć jednostek SPU. Po rozdzieleniu cząstek do komórek rdzeń PPU zajmował się rozsyłaniem zadań do jednostek SPU. Podstawową jednostką przesyłaną był "plaster" składający się z NxN komórek "komina", wraz z komórkami otaczającymi. Architektura wewnętrzna procesora Cell pozwalała jednostkom SPU na wykonywanie obliczeń przy równoczesnym, asynchronicznym przesyłaniu danych wejściowych oraz wyjściowych. Ze względu na nieduża pamięć SPU operował równocześnie na trzech "plastrach" oraz buforach wejścia/wyjścia. Przyjęty model pamięci podyktowany był wymogami architektury procesora. W celu zapewnienia efektywnego transferu oraz przetwarzania wektorowego dane były wyrównywane do granicy 128- bitów. Również efektywny transfer danych wymagał wyrównywania początku paczki danych do granicy 128 bajtów. Program został zaimplementowany w języku C++ z wykorzystaniem instrukcji typu intrinsics, realizujących rozkazy SIMD procesora Cell. Następnie został poddany optymalizacji przez reorganizację operacji arytmetycznych oraz dostępu do pamięci, dając pełniejsze wykorzystanie dostępnych potoków przetwarzania. Przesyłanie danych między pamięcią główną i pamięcią lokalną SPU, inicjowane przez SPU, odbywało się asynchronicznie. Opisany algorytm został zaimplementowany i uruchomiony na konsoli do gier Playstation 3, wyposażonej w procesor Cell, działającej pod kontrolą systemu operacyjnego Linux. Zbadano wydajność programu symulacyjnego dla różnych konfiguracji oraz różnej liczby aktywnych rdzeni. Wyniki porównano z tradycyjnym procesorem, wykazując lepszą wydajność procesora Cell. Dodatkowo zbadano zysk z zastosowanych optymalizacji, jednak całkowite przyspieszenie było bardzo niewielkie rzędu 3% procent. W ramach pracy przeprowadzono również badanie wydajności przesyłania danych między jednostką główną a jednostkami pomocniczymi dla użytego schematu komunikacji. Uzyskano wynik maksymalny rzędu 13GB/s. CUDA Architektura CUDA powstała w wyniku rozwoju procesorów graficznych, pojawiła się w momencie, gdy układy te zaczęły zyskiwać uznanie w zastosowaniach naukowych o charakterze obliczeniowym. CUDA znosi konieczność stosowania interfejsów programowania grafiki oraz liczne ograniczenia z nimi związane, jednak nadal wykazuje duże podobieństwo do klasycznej architektury GPU. W związku z tym ogólny układ algorytmu jest podobny do omówionego w ramach GPU. Tutaj także głównym problemem była implementacja algorytmu znajdowania sąsiadów, realizowanego za pomocą sortowania kubełkowego. Algorytm sortowania kubełkowego dla architektury CUDA różni się jednak zasadniczo od omawianego powyżej. Nowością wprowadzoną do architektury CUDA były instrukcje zapewniające
6 atomowość równoległych operacji na pamięci. Za pomocą instrukcji atomicexch możliwe jest zrealizowanie sortowania kubełkowego w kilku instrukcjach. W pierwszym kroku na początek listy wpisywany jest element, należący do kubełka, a następnie ustawiany jest wskaźnik na element następny, którym jest dotychczasowy element z początku. Ze względu na atomowość tych operacji nigdy nie nastąpi konflikt w zapisie. Natomiast rozwiązanie takie jest mało wydajne ze względu na koszt operacji atomowych oraz nie wykorzystuje w pełni dostępnego sprzętu. Dlatego też dokonano szeregu optymalizacji i zmian. Po pierwsze należy zauważyć, że wątki wykonywane są grupami po kilkaset. W związku z tym korzystne jest, aby pracowały na wspólnych danych. CUDA oferuje pamięć współdzieloną dla grup wątków, gdzie kopiowane były dane do przetwarzania. Aby zapewnić spójność danych w pamięci wspólnej dokonywana jest synchronizacja dostępów. Algorytm realizuje następujące kroki: 1. Kopiowanie danych do pamięci wspólnej, gdzie budowana będzie lokalna lista odsyłaczowa. 2. Znalezienie elementów należących do tych samych kubełków w lokalnych danych i tworzenie lokalnych list odsyłaczowych. 3. Integrowanie lokalnych list odsyłaczowych z danymi globalnymi, z wykorzystaniem operacji atomowych. 4. Ustawienie końca listy lokalnej na element będący uprzednio na przedzie. 5. Kopiowanie lokalnej tablicy indeksów do pamięci globalnej. Problemem z wykorzystaniem listy odsyłaczowej jest rozproszenie danych w pamięci. Dlatego wprowadzony został krok reorganizacji, który przekształcał listę odsyłaczową w tablicę. Numer kubełka elementów był niemalejący. Aby tego dokonać należało równolegle wyliczyć rozmiar każdego z kubełków, a następnie wyznaczyć indeksy początkowe dla każdego kubełka. Na zakończenie następowała reorganizacja danych według otrzymanych indeksów. Opisany algorytm sortowania był podstawą do implementacji metod oddziałujących cząstek. Dla danej cząstki obliczenie oddziaływań wymagało przejrzenia list cząstek z otaczających komórek. Następnie nowe współrzędne położenia wyznaczane były z równań ruchu. Otrzymane wyniki eksperymentalne porównano z istniejącym algorytmem sortowania pozycyjnego. Algorytm prezentowany przez autora dla dużych danych był szybszy od konkurencyjnego o 20-40%. Następnie porównano czasy symulacji na karcie graficznej GeForce 8800GT z procesorem tradycyjnym. Wyniki eksperymentalne Tab.1. pokazuje porównanie czasów obliczeń dla różnych architektur komputerowych. Celem pracy doktorskiej było opracowanie i implementacja algorytmów oddziałujących cząstek dla pierwszych trzech: GPU, Cell i CUDA. Ze względu na różny czas, w którym pojawiały się te procesory nie jest wskazane porównanie ich między sobą. Widać, że wraz z pojawianiem się nowych generacji sprzętu czas symulacji malał. Dla porównania zostały pokazane czasy symulacji dla dwóch tradycyjnych procesorów. Procesor Itanium został umieszczony w porównaniu ze względu na powszechne użycie w klastrach takich jak Altix. Pokazano wyniki również dla nowoczesnego procesora, jakim był Core 2 Duo. Procesor ten wykonywał program jednowątkowy, dlatego należy przypuszczać, że czas obliczeń wielowątkowych byłby o połowę krótszy. Nie mniej jednak czas uzyskany algorytmami opracowanymi
7 przez autora jest znacząco krótszy. Na rys.3. przedstawiono wybrane klatki z symulacji metodami cząstek, które były realizowane w ramach pracy doktorskiej. Jakościowe wyniki nie różniły się między poszczególnymi architekturami, natomiast różne były trajektorie pojedynczych cząstek. Wynikało to z różnej kolejności obliczeń przeprowadzanych przez zaimplementowane algorytmy. Procesor Czas obliczeń [s] GPU (GeForce 6800 Ultra) Cell B.E CUDA (GeForce 8800 GT) Itanium 1.5 GHz Core 2 Duo 2.4 GHz (1 wątek) Tab. 1. Czas obliczeń jednego kroku symulacyjnego w sekundach dla różnych architektur komputerowych. Układ obliczeniowy składał się z 2 20 cząstek. Rys.3. Przykładowe wyniki symulacji uzyskane w ramach badania algorytmów opisanych w pracy. Od lewej do prawej: separacja faz (DPD), efekt Rayleigha-Taylora (DPD), przerwanie tamy (SPH). Podsumowanie W rozprawie przedstawione zostały wyniki prac nad zastosowaniem architektur masywnie równoległych do rozwiązywania problemów symulacji metodą oddziałujących cząstek. Przedstawione propozycje algorytmów i ich implementacje dotyczyły oddziaływań krótkozasięgowych występujących w modelach takich, jak dynamika dyssypatywnych cząstek (DPD) oraz także hydrodynamika wygładzonych cząstek (SPH). Metody tego typu wymagają dużych mocy obliczeniowych. Jednak bezpośrednie przenoszenie istniejących algorytmów na architektury masywnie równoległe nie jest, z wielu powodów, możliwe. Konieczna jest nie tylko zmiana algorytmów ale także koncepcji projektowania oprogramowania i specyficzna implementacja.
8 W niniejszej pracy udało się zrealizować następujące cele: Udowodniono możliwość przeprowadzania efektywnej symulacji metodami cząstek na architekturach masywnie wielopotokowych. Dotyczy to także jednostek obliczeniowych, takich jak karty graficzne, których oryginalne przeznaczenie jest zupełnie inne. Zbadano funkcjonalność oraz model programowania pod kątem symulacji metodami cząstek dla następujących architektur komputerowych: kart graficznych korzystających z graficznego interfejsu programowania (np. OpenGL), heterogenicznego procesora Cell Broadband Engine, jednostek o architekturze CUDA. Zaproponowano implementację symulacji metodami cząstek dla każdej z wymienionych architektur. Opracowano algorytmy sortowania kubełkowego oraz korzystające z nich algorytmy znajdowania sąsiadów dla architektur GPU oraz CUDA. Zbadano wydajność oraz określono złożoność obliczeniową algorytmów zaimplementowanych dla testowanych architektur. Wyniki zostały porównane z wynikami otrzymanymi dla tradycyjnych architektur procesorowych. Świadczą one o przydatności architektur masywnie równoległych dla symulacji metodami cząstek. Co więcej, zaproponowane algorytmy uzyskują krótsze czasy wykonania niż ich odpowiedniki na tradycyjnych procesorach. Dla architektury CUDA porównane zostały różne sposoby znajdowania i przeglądania sąsiadów. Wskazano metodę optymalną. Dla architektury Cell zaproponowano efektywny mechanizm podziału problemu obliczeniowego na mniejsze zadania umożliwiający wydajną transmisję danych pomiędzy jednostkami składowymi procesora. Ponadto przebadano przepustowość przesyłania danych z pamięci systemowej do pamięci lokalnych. Dla kart graficznych zaproponowane zostało wykorzystanie generatora liczb pseudolosowych, operującego jedynie na liczbach zmiennoprzecinkowych. Badania przeprowadzane w ramach niniejszej pracy były ograniczone pod różnymi względami. Pozostawiają one jednak miejsce na dalszą pracę, w ramach której można wymienić: Implementację nowoczesnych modeli oddziałujących cząstek uwzględniających stan termodynamiczny układu takich, jak GENERIC DPD oraz SDPD. Wzbogacenie implementowanych modeli oddziaływań cząstek o oddziaływania dalekiego zasięgu. Zaproponowanie wspólnego środowiska dla realizacji różnorodnych metod cząstek, które potrafiłoby efektywnie wykorzystać różnego typu sprzęt komputerowy. Opracowanie algorytmów dla wykorzystania większej liczby węzłów obliczeniowych. Klaster złożony z komputerów o jednostkach masywnie wielopotokowych byłby w stanie rozwiązywać problemy o niespotykanych dotychczas rozmiarach. Przetestowanie architektur komputerowych następnych generacji, takich jak Larrabee firmy Intel.
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
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
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
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
Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,
Przetwarzanie równoległe PROJEKT OMP i CUDA Temat projektu dotyczy analizy efektywności przetwarzania równoległego realizowanego przy użyciu komputera równoległego z procesorem wielordzeniowym z pamięcią
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
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
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
Numeryczna algebra liniowa
Numeryczna algebra liniowa Numeryczna algebra liniowa obejmuje szereg algorytmów dotyczących wektorów i macierzy, takich jak podstawowe operacje na wektorach i macierzach, a także rozwiązywanie układów
Obliczenia równoległe na klastrze opartym na procesorze CELL/B.E.
Obliczenia równoległe na klastrze opartym na procesorze CELL/B.E. Łukasz Szustak Wydział Inżynierii Mechanicznej i Informatyki Kierunek informatyka, Rok V szustak.lukasz@gmail.com Streszczenie W artykule
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
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
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, czyli dlaczego jednak nie jest aż tak źle Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Organizacja pamięci Organizacja pamięci współczesnych systemów komputerowych
Dydaktyka Informatyki budowa i zasady działania komputera
Dydaktyka Informatyki budowa i zasady działania komputera Instytut Matematyki Uniwersytet Gdański System komputerowy System komputerowy układ współdziałania dwóch składowych: szprzętu komputerowego oraz
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
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
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
OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI
Autoreferat do rozprawy doktorskiej OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Michał Mazur Gliwice 2016 1 2 Montaż samochodów na linii w
Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami
Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami dr inż. Mariusz Uchroński Wrocławskie Centrum Sieciowo-Superkomputerowe Agenda Cykliczny problem przepływowy
Logiczny model komputera i działanie procesora. Część 1.
Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.
Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1
Wydajność obliczeń a architektura procesorów Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Wydajność komputerów Modele wydajności-> szacowanie czasu wykonania zadania Wydajność szybkość realizacji wyznaczonych
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.
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...................................................
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
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
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
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
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ń
17.1 Podstawy metod symulacji komputerowych dla klasycznych układów wielu cząstek
Janusz Adamowski METODY OBLICZENIOWE FIZYKI 1 Rozdział 17 KLASYCZNA DYNAMIKA MOLEKULARNA 17.1 Podstawy metod symulacji komputerowych dla klasycznych układów wielu cząstek Rozważamy układ N punktowych cząstek
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
PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.
Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk PROLOG www.agh.edu.pl Pewnego dnia przyszedł na świat komputer Komputery
Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny
Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu danych
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,
Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz
Obliczenia równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 15 czerwca 2001 Spis treści Przedmowa............................................
XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
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
Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).
Algorytmy definicja, cechy, złożoność. Algorytmy napotykamy wszędzie, gdziekolwiek się zwrócimy. Rządzą one wieloma codziennymi czynnościami, jak np. wymiana przedziurawionej dętki, montowanie szafy z
Dr inż. hab. Siergiej Fialko, IF-PK,
Dr inż. hab. Siergiej Fialko, IF-PK, http://torus.uck.pk.edu.pl/~fialko sfialko@riad.pk.edu.pl 1 Osobliwości przedmiotu W podanym kursie główna uwaga będzie przydzielona osobliwościom symulacji komputerowych
Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych
Systemy wbudowane Wykład 11: Metody kosyntezy systemów wbudowanych Uproszczone metody kosyntezy Założenia: Jeden procesor o znanych parametrach Znane parametry akceleratora sprzętowego Vulcan Początkowo
Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami
Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016
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
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
Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012
Projektowanie algorytmów równoległych Zbigniew Koza Wrocław 2012 Spis reści Zadniowo-kanałowy (task-channel) model algorytmów równoległych Projektowanie algorytmów równoległych metodą PACM Task-channel
Przykładowe sprawozdanie. Jan Pustelnik
Przykładowe sprawozdanie Jan Pustelnik 30 marca 2007 Rozdział 1 Sformułowanie problemu Tematem pracy jest porównanie wydajności trzech tradycyjnych metod sortowania: InsertionSort, SelectionSort i BubbleSort.
operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.
Problem porządkowania zwanego również sortowaniem jest jednym z najważniejszych i najpopularniejszych zagadnień informatycznych. Dane: Liczba naturalna n i ciąg n liczb x 1, x 2,, x n. Wynik: Uporządkowanie
Sieci obliczeniowe poprawny dobór i modelowanie
Sieci obliczeniowe poprawny dobór i modelowanie 1. Wstęp. Jednym z pierwszych, a zarazem najważniejszym krokiem podczas tworzenia symulacji CFD jest poprawne określenie rozdzielczości, wymiarów oraz ilości
Bibliografia: pl.wikipedia.org www.intel.com. Historia i rodzaje procesorów w firmy Intel
Bibliografia: pl.wikipedia.org www.intel.com Historia i rodzaje procesorów w firmy Intel Specyfikacja Lista mikroprocesorów produkowanych przez firmę Intel 4-bitowe 4004 4040 8-bitowe x86 IA-64 8008 8080
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 007 Tryb rzeczywisty i chroniony procesora 2 SO i SK/WIN Wszystkie 32-bitowe procesory (386 i nowsze) mogą pracować w kilku trybach. Tryby pracy
koniec punkt zatrzymania przepływów sterowania na diagramie czynności
Diagramy czynności opisują dynamikę systemu, graficzne przedstawienie uszeregowania działań obrazuje strumień wykonywanych czynności z ich pomocą modeluje się: - scenariusze przypadków użycia, - procesy
Definicje. Algorytm to:
Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi
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
Projektowanie systemów za pomocą języków wysokiego poziomu ESL
Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie Wydział IET Katedra Elektroniki Projektowanie systemów za pomocą języków wysokiego poziomu ESL Ćwiczenie 2 Implementacja funkcji Hash z użyciem
WYZNACZANIE NIEPEWNOŚCI POMIARU METODAMI SYMULACYJNYMI
WYZNACZANIE NIEPEWNOŚCI POMIARU METODAMI SYMULACYJNYMI Stefan WÓJTOWICZ, Katarzyna BIERNAT ZAKŁAD METROLOGII I BADAŃ NIENISZCZĄCYCH INSTYTUT ELEKTROTECHNIKI ul. Pożaryskiego 8, 04-703 Warszawa tel. (0)
Analiza efektywności przetwarzania współbieżnego. Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015
Analiza efektywności przetwarzania współbieżnego Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015 Źródła kosztów przetwarzania współbieżnego interakcje między procesami
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
Sortowanie zewnętrzne
Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Sortowanie zewnętrzne 1 Wstęp Bardzo często
Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1
Skalowalność obliczeń równoległych Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Skalowalność Przy rozważaniu wydajności przetwarzania (obliczeń, komunikacji itp.) często pojawia się pojęcie skalowalności
R E C E N Z J A. rozprawy doktorskiej mgr Wojciecha Bury nt. Wielokryterialne, mrowiskowe algorytmy optymalizacji w nawigacji samochodowej
Prof. dr hab. inż. Franciszek Seredyński Warszawa, 25.02.2015 Uniwersytet Kardynała Stefana Wyszyńskiego w Warszawie Wydział Matematyczno Przyrodniczy Szkoła Nauk Ścisłych ul. Wóycickiego 1/3, 01-938 Warszawa
Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Tablice wielowymiarowe C umożliwia definiowanie tablic wielowymiarowych najczęściej stosowane
Maciej Piotr Jankowski
Reduced Adder Graph Implementacja algorytmu RAG Maciej Piotr Jankowski 2005.12.22 Maciej Piotr Jankowski 1 Plan prezentacji 1. Wstęp 2. Implementacja 3. Usprawnienia optymalizacyjne 3.1. Tablica ekspansji
Część I. Uwaga: Akceptowane są wszystkie odpowiedzi merytorycznie poprawne i spełniające warunki zadania. Zadanie 1.1. (0 3)
Uwaga: Akceptowane są wszystkie odpowiedzi merytorycznie poprawne i spełniające warunki zadania. Część I Zadanie 1.1. (0 3) 3 p. za prawidłową odpowiedź w trzech wierszach. 2 p. za prawidłową odpowiedź
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!
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:
AiSD zadanie trzecie
AiSD zadanie trzecie Gliwiński Jarosław Marek Kruczyński Konrad Marek Grupa dziekańska I5 5 czerwca 2008 1 Wstęp Celem postawionym przez zadanie trzecie było tzw. sortowanie topologiczne. Jest to typ sortowania
Plan nauczania informatyki Opracował: mgr Daniel Starego
Obowiązuje od roku szkolnego 000/00 Plan nauczania informatyki Opracował: mgr Daniel Starego Szkoła podstawowa klasy IV VI Dział, tematyka L. godz. I rok II rok. TECHNIKA KOMPUTEROWA W ŻYCIU CZŁOWIEKA
Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI
1 Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI 1. Obliczenia w arkuszu kalkulacyjnym Rozwiązywanie problemów z wykorzystaniem aplikacji komputerowych obliczenia w arkuszu kalkulacyjnym wykonuje
Strategia "dziel i zwyciężaj"
Strategia "dziel i zwyciężaj" W tej metodzie problem dzielony jest na kilka mniejszych podproblemów podobnych do początkowego problemu. Problemy te rozwiązywane są rekurencyjnie, a następnie rozwiązania
INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227
INFORMATYKA W SZKOLE Dr inż. Grażyna KRUPIŃSKA grazyna@fis.agh.edu.pl D-10 pokój 227 Podyplomowe Studia Pedagogiczne 2 Algorytmy Nazwa algorytm wywodzi się od nazwiska perskiego matematyka Muhamed ibn
Architektura komputerów
Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne
SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO
SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO. Rzeczywistość (istniejąca lub projektowana).. Model fizyczny. 3. Model matematyczny (optymalizacyjny): a. Zmienne projektowania
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ą
Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015
Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane
Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych
Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych B.1. Dostęp do urządzeń komunikacyjnych Sterowniki urządzeń zewnętrznych widziane są przez procesor jako zestawy rejestrów
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,
Wprowadzenie do złożoności obliczeniowej
problemów Katedra Informatyki Politechniki Świętokrzyskiej Kielce, 16 stycznia 2007 problemów Plan wykładu 1 2 algorytmów 3 4 5 6 problemów problemów Plan wykładu 1 2 algorytmów 3 4 5 6 problemów problemów
zakładane efekty kształcenia
Załącznik nr 1 do uchwały nr 41/2018 Senatu Politechniki Śląskiej z dnia 28 maja 2018 r. Efekty kształcenia dla kierunku: INFORMATYKA WYDZIAŁ AUTOMATYKI, ELEKTRONIKI I INFORMATYKI WYDZIAŁ ELEKTRYCZNY nazwa
Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i
VI Seminarium PLOUG Warszawa Styczeñ 2003 Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i Marcin Przepiórowski Strojenie systemu Linux pod kątem serwera bazy danych Oracle 9i 7 1. Wstęp
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
Modyfikacja algorytmów retransmisji protokołu TCP.
Modyfikacja algorytmów retransmisji protokołu TCP. Student Adam Markowski Promotor dr hab. Michał Grabowski Cel pracy Celem pracy było przetestowanie i sprawdzenie przydatności modyfikacji klasycznego
Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle
Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Paweł Szołtysek 12 czerwca 2008 Streszczenie Planowanie produkcji jest jednym z problemów optymalizacji dyskretnej,
Spis treści. Od autorów / 9
Od autorów / 9 Rozdział 1. Bezpieczny i legalny komputer / 11 1.1. Komputer we współczesnym świecie / 12 Typowe zastosowania komputera / 12 1.2. Bezpieczna i higieniczna praca z komputerem / 13 Wpływ komputera
Zadanie projektowe 1: Struktury danych i złożoność obliczeniowa
Łukasz Przywarty 171018 Data utworzenia: 24.03.2010r. Mariusz Kacała 171058 Prowadzący: prof. dr hab. inż. Adam Janiak oraz dr inż. Tomiasz Krysiak Zadanie projektowe 1: Struktury danych i złożoność obliczeniowa
Sortowanie - wybrane algorytmy
Sortowanie - wybrane algorytmy Aleksandra Wilkowska Wydział Matematyki - Katedra Matematyki Stosowanej Politechika Wrocławska 2 maja 2018 1 / 39 Plan prezentacji Złożoność obliczeniowa Sortowanie bąbelkowe
Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych
Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2014/15 Znajdowanie maksimum w zbiorze
Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP
Liczniki, rejestry lab. 08 PODSTAWY TECHNIKI CYFROWEJ I MIKROPROCESOROWEJ EIP KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA GÓRNICZO-HUTNICZA WWW.AGH.EDU.PL
Sortowanie Shella Shell Sort
Sortowanie Shella Shell Sort W latach 50-tych ubiegłego wieku informatyk Donald Shell zauważył, iż algorytm sortowania przez wstawianie pracuje bardzo efektywnie w przypadku gdy zbiór jest w dużym stopniu
Wymagania na poszczególne oceny szkolne dla klasy VI. (na podstawie Grażyny Koba, Teraz bajty. Informatyka dla szkoły podstawowej.
1 Wymagania na poszczególne oceny szkolne dla klasy VI (na podstawie Grażyny Koba, Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI ) 2 1. Obliczenia w arkuszu kalkulacyjnym słucha poleceń nauczyciela
Modele symulacyjne PyroSim/FDS z wykorzystaniem rysunków CAD
Modele symulacyjne PyroSim/FDS z wykorzystaniem rysunków CAD Wstęp Obecnie praktycznie każdy z projektów budowlanych, jak i instalacyjnych, jest tworzony z wykorzystaniem rysunków wspomaganych komputerowo.
AMD Ryzen recenzja procesora. Wpisany przez Mateusz Ponikowski Piątek, 11 Październik :47
Sprawdzamy niedrogi procesor od AMD. Składając niedrogi komputer do pracy z multimediami i okazjonalnego grania musimy zacząć od wyboru platformy i tutaj pojawia się odwieczne pytanie, Intel czy AMD? Budując
USŁUGI HIGH PERFORMANCE COMPUTING (HPC) DLA FIRM. Juliusz Pukacki,PCSS
USŁUGI HIGH PERFORMANCE COMPUTING (HPC) DLA FIRM Juliusz Pukacki,PCSS Co to jest HPC (High Preformance Computing)? Agregowanie dużych zasobów obliczeniowych w sposób umożliwiający wykonywanie obliczeń
Architektura systemów komputerowych. Przetwarzanie potokowe I
Architektura systemów komputerowych Plan wykładu. Praca potokowa. 2. Projekt P koncepcja potoku: 2.. model ścieżki danych 2.2. rejestry w potoku, 2.3. wykonanie instrukcji, 2.3. program w potoku. Cele
Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy
1 Wprowadzenie do informatyki i użytkowania komputerów Kodowanie informacji System komputerowy Kodowanie informacji 2 Co to jest? bit, bajt, kod ASCII. Jak działa system komputerowy? Co to jest? pamięć
Złożoność obliczeniowa zadania, zestaw 2
Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze
Ćwiczenie 4 - Badanie charakterystyk skokowych regulatora PID.
Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie KATEDRA AUTOMATYKI LABORATORIUM Aparatura Automatyzacji Ćwiczenie 4. Badanie charakterystyk skokowych regulatora PID. Wydział EAIiE kierunek
LIDERZY DATA SCIENCE CENTRUM TECHNOLOGII ICM CENTRUM TECHNOLOGII ICM ICM UW TO NAJNOWOCZEŚNIEJSZY OŚRODEK DATA SCIENCE W EUROPIE ŚRODKOWEJ.
ROZUMIEĆ DANE 1 Pozyskiwanie wartościowych informacji ze zbiorów danych to jedna z kluczowych kompetencji warunkujących przewagę konkurencyjną we współczesnej gospodarce. Jednak do efektywnej i wydajnej
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.
Literatura. 11/16/2016 Przetwarzanie równoległe - wstęp 1
Literatura 1. Wprowadzenie do obliczeń równoległych, Zbigniew Czech, Wydawnictwo Naukowe PWN, 2010, 2013 2. Introduction to Parallel Computing; Grama, Gupta, Karypis, Kumar; Addison Wesley 2003 3. Designing
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