Dlaczego wiedza na temat architektury sprzętowej, systemu operacyjnego i kompilatora przydaje się w pisaniu wydajnych aplikacji
|
|
- Krystyna Jasińska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Dlaczego wiedza na temat architektury sprzętowej, systemu operacyjnego i kompilatora przydaje się w pisaniu wydajnych aplikacji Adam Strzelecki, 8 kwietnia 2008, Uniwersytet Jagielloński
2 Coś o mnie Prowadzę działalność gospodarczą Od 4 lat współpracuję z francuską firmą Digitech International S.A. oraz Leica Geosystems Geospatial Imaging (wcześniej ER Mapper) Zajmuję się projektowaniem i wdrażaniem systemów GIS Geospatial Imagery Systems Programuję w C/C++ (przetwarzanie, kompresja obrazu) oraz PHP, JavaScript, Java, Ruby (Web, UI) 2
3 Pozyskiwanie obrazu Urządzenia pozyskujące obraz (satelita, samolot (bez)załogowy) Rektyfikacja i orientacja geograficzna Przygotowanie danych do udostępniania Serwery i oprogramowanie kompresujące (ER Mapper Professional, ECW, JPEG 2000) Publikacja w Internecie/Intranecie Serwery WWW, serwisy TCP/IP Serwery WWW wraz z rozszerzeniami streamingu obrazów (IIS + Image Web Server) Dane nieprzetworzone Device raw data Dane skompresowane do formatu ECW lub JPEG 2000 wraz z informacją geolokacyjną (projekcja, system współrzędnych) Dane skompresowane do formatu ECW lub JPEG 2000 wraz z informacją geolokacyjną (projekcja, system współrzędnych) Transfer danych z urządzenia zdalnego (digitalizacja) Serwery/nośniki obrazów źródłowych (taśmy, DVD) Kompresja Serwery i oprogramowanie rektyfikujące mozaiki (ER Mapper Professional, GeoTIFF) Przeglądanie w Internecie/Intranecie Przeglądarki WWW, klienci TCP/IP Aplikacje klienckie: Dane w uniwersalnych formatach: TIFF, BIL + Parametry pozyskania obrazu (pozycja, kąt, wybrane sensory, czas) Rektyfikacja Dane zrektyfikowane w uniwersalnych formatach + Dane rektyfikacji (projekcja, system współrzędnych) Kafelki JPEG DHTML ActiveX Części pliku (chunks) Czym się zajmuje GIS? 3
4 GIS znaczy proszę czekać Rektyfikacja i kompresja zdjęć lotniczych całej Francji o rozdzielczości 0,5 m może trwać nawet miesiąc używając farmy najnowszych komputerów Często błędy w procesie kompresji wykrywane są dopiero w trakcie, a cały proces trzeba uruchamiać od początku Każda zmiana i uaktualnienie wymaga ponownej kompresji całego lub kawałka obrazu i ponownego czekania... 4
5 Wydajność? Przecież już... Zastosowałem algorytmy o najmniejszej złożoności obliczeniowej Używam sprzętu o najwydajniejszej konfiguracji dostępnej na rynku Używam najnowszego kompilatora wydajnego języka programowania Wszystko przecież działa szybko... 5
6 Czas jest na miarę złota! Żeby zaoszczędzić (zyskać dodatkowy) miesiąc w roku pracy wystarczy zwiększyć wydajność o 8,3% Często zyskanie 8,3% dodatkowego czasu może zwiększyć zyski firmy o 50%, jeśli ta ma względnie niską marżę w stosunku do kosztów Co z tego, skoro mamy już najlepsze oprogramowanie i sprzęt? Gdzie szukać wydajności? 6
7 W poszukiwaniu wydajności Poznajmy kompilator naszego ulubionego języka programowania (C/C++ MSVC, GCC) Poznajmy architekturę sprzętu, na którym ma działać nasze oprogramowanie, wykorzystajmy w pełni... Procesor i pamięć cache Pamięć RAM Pamięć masową (dyski twarde) Poznajmy system operacyjny i postarajmy się mu nie przeszkadzać 7
8 Najpierw kompilator Żeby panować nad wydajnością kodu musimy użyć kompilatora który generuje kod maszynowy w sposób przewidywalny, czyli tak jak chcemy (...) Nie można panować nad wydajnością aplikacji pisanych w dynamicznych językach Java, C#, Python czy Ruby (nie ujmując im ich wspaniałych zalet) Najlepiej by było wszystko napisać w assemblerze Jednak... skupimy się na C/C++ i MSVC oraz GCC 8
9 Inni zrobią to lepiej Zanim zaczniemy pisać przydatne funkcje narzędziowe, sprawdźmy czy czasem takie już nie istnieją w systemie, programiści systemowi spędzili wiele lat na szlifowaniu ich wydajności Nawet jeśli takich funkcji nie ma, może są dostępne w sprawdzonych i popularnych bibliotekach 9
10 Inni zrobią to lepiej Pisanie od nowa funkcji bibliotecznych takich jak strlen, strcmp jest dość popularną praktyką, która prowadzi prosto do... kiepskiej wydajności size_t strlen (const char *str) { const char *cstr = str; while(*cstr) cstr++; return cstr - str; } size_t strlen (const char *str) { const unsigned long int *longword_ptr = (unsigned long int *) str; unsigned long int longword, magic_bits = 0x7efefeffL, himagic = 0x L, lomagic = 0x L; GLIBC strlen } for (;;) { longword = *longword_ptr++; if (((longword - lomagic) & himagic)!= 0) { const char *cp = (const char *) (longword_ptr - 1); if (cp[0] == 0) return cp - str; if (cp[1] == 0) return cp - str + 1; if (cp[2] == 0) return cp - str + 2; if (cp[3] == 0) return cp - str + 3; } } 10
11 Kompilator nie jest wszechmogący Choć kompilator stara się jak może, niestety nie jest w stanie zrozumieć ogólnego sensu przetwarzanego kodu, ani zamierzeń programisty Możemy pomóc kompilatorowi generować wydajny kod odpowiednio formułując nasz kod źródłowy Kod, który jest nieczytelny dla człowieka, prawdopodobnie będzie też mało czytelny dla kompilatora, który nie będzie potrafił go zoptymalizować 11
12 Jak pomóc kompilatorowi? Używaj tablica[i] zamiast *(tablica + i) Staraj się nie używać zmiennych typu static w obrębie funkcji, zmienne na stosie mogą być automatycznie zamieniane na zmienne rejestrowe register Oznaczaj wszystkie zmienne tylko do odczytu za pomocą const void moja_funkcja(char *readonly) { char format[] = Lancuch to %s ; (...) } void moja_funkcja(const char *readonly) { const char format[] = Lancuch to %s ; (...) } 12
13 Dobrodziejstwa procesora Najnowsze procesory posiadają zestawy instrukcji przetwarzania wektorowego SSE oraz dodatkowe rejestry, wspierają też architekturę 64-bitową Większość starszych kompilatorów nie korzysta lub korzysta kiepsko z zestawów instrukcji rozszerzonych Wykorzystanie rozszerzonych instrukcji (w postaci wstawek w assemblerze) może w pewnych przypadkach zwiększyć wydajność naszej aplikacji nawet 3-krotnie 13
14 Dobrodziejstwa procesora Najnowsze procesory zawierają coraz więcej rdzeni... hurra!... ale moja aplikacja wcale nie działa szybciej!? Zobacz czy czasem nie da się rozbić programu na wątki (zrównoleglić) Jeśli nawet nie możesz zastąpić swoich algorytmów równoległymi odpowiednikami, może da się przetwarzać kilka kawałków danych jednocześnie Twój nowy kompilator na pewno obsługuje OpenMP 14
15 Dobrodziejstwa procesora Firmy, takie jak Intel czy AMD, oferują biblioteki zawierające zbiory często stosowanych procedur różnych zastosowań począwszy od operacji na macierzach, funkcjach matematycznych i kryptograficznych, kończąc na kompresji JPEG i falkowej Intel Integrated Performance Primitives 5.3 AMD Performance Library (APL) 15
16 Pamięć podręczna i RAM Dostęp do pamięci gra kluczową rolę w wydajności aplikacji Kompilator stara się zoptymalizować dostęp do zmiennych, tzn. przechowywać je w rejestrach, tworzyć pule dla stałych, wyrównywać ich pozycję do rozmiaru słowa Nowsze kompilatory starają się układać zmienne z myślą o pamięci podręcznej - cache 16
17 Dostęp do pamięci Odbywa się przy użyciu słowa procesora, 4 bajty dla architektury 32-bitowej równoważny najczęściej typowi int Dostęp do 2 bajtów short czy 1 bajta char zajmuje procesorowi dokładnie tyle same czasu co dostęp do 4 bajtów Procesor odwołuję się do pamięci RAM poprzez pamięć podręczną ~1-2 MB, podzieloną na linie o rozmiarach 64 lub 32 bajtów 17
18 Pamiętając o liniach cache Staraj się deklarować zmienne używane razem w lokalnym kontekście obok siebie static int i; static char body[1024]; static int j; static double x, y, z, r, w = 0; static int k; for(i = 0; i < x + y; i++) for(j = 0; j < z; j++) for(k = 0; k < j; k++) (...) static int i, j, k; static char body[1024]; static double x, y, z, r, w = 0; for(i = 0; i < x + y; i++) for(j = 0; j < z; j++) for(k = 0; k < j; k++) (...) Staraj się deklarować zmienne od tych o najmniejszym rozmiarze do największych void moja_funkcja() { int i, j, k; double x, y, z, r, w = 0; char body[1024]; (...) } 18
19 Pamiętając o liniach cache Indeksuj tablice w dobrej kolejności void moja_funkcja(int mul) { int i, j; int values[1024][1024]; void moja_funkcja(int mul) { int i, j; int values[1024][1024]; } for(j = 0; j < 1024; j++) for(i = 0; i < 1024; i++) values[i][j] = i * j * mul; (...) } for(i = 0; i < 1024; i++) for(j = 0; j < 1024; j++) values[i][j] = i * j * mul; (...) 19
20 Problemy z pamięcią? Nie nadużywaj malloc i free, które działają dość wolno, najszybszy jest stos, lecz używaj stosu rozsądnie Jeśli jednak musisz alokować często pamięć zastanów się nad pulami pamięci lub alokowaniem bloków o nadmiarowym rozmiarze będących potęgą dwójki Pamiętaj o fragmentacji pamięci wirtualnej! Może się okazać że nie możesz zaalokować 4 MB pamięci nawet jeśli masz wolne 50% ze swoich 2 GB RAM 20
21 Dostęp do dysku W przypadku aplikacji przetwarzających duża ilość danych pamięć masowa stanowi bardzo wąskie gardło Pamięci masowe są często kilka rzędów wolniejsze od pamięci RAM Pamięci masowe prócz szybkości odczytu i zapisu charakteryzują się też dużym czasem dostępu (wyszukiwania) 21
22 Magiczne 4 KB 4 KB to 8 sektorów po 512 bajtów dysku twardego 4 KB to najczęściej rozmiar bloku danych większości nowych systemów plików t.j. ext3 czy NTFS 4 KB to rozmiar strony pamięci w architekturze Intel x86 32-bit i wielu innych 4 KB to rozmiar bloków danych czytanych jednorazowo i cache owanych przez większość systemów operacyjnych 22
23 Pamiętaj o 4 KB Staraj się aby struktura twoich plików pokrywała się z podziałem 4 KB Nagłówek w pierwszych 4 KB Egzemplarze struktur danych po 1, 2, 4... szt. na 4 KB Unikaj zapisywania struktur na granicy 4 KB Pamiętaj, że system cache uje te 4 KB bloki 23
24 Parę innych sztuczek 2 dyski 150 GB będą działały 2 razy szybciej niż 1 dysk 300 GB, a RAID 0 zwiększa wydajność proporcjonalnie do ilości dysków w macierzy Większość dysków dysponuje pokaźnym sprzętowym cache o wielkości 8-16 MB Przy czytaniu danych z sektora, dysk najprawdopodobniej przeczyta i umieści dane z całego cylindra w cache, tak więc dane z innego sektora tego samego cylindra będą dostępne błyskawicznie 24
25 Coś o własnym cache Jeśli naprawdę nie musisz, nie implementuj własnego cache owania danych z dysku twardego Zdaj się na mechanizmy cache owania dostępne w systemie operacyjnym oraz mechanizmy sprzętowe dysku twardego Jeśli tylko to możliwe zamiast read i write używaj mmap Nie zamykaj uchwytów do plików, których będziesz używał ponownie w krótkim czasie 25
26 System plików System plików ma ogromne znaczenie dla wydajności Fragmentacja systemu plików może istotnie popsuć wydajność, więc staraj się zapisywać dane hurtem lub używać pre-alokacji przestrzeni dyskowej Dobrze dobrany system plików może pozytywnie wpłynąć na wydajność, ext3 z dir_index doskonale nadaje się do przechowywania małych plików, natomiast XFS do przechowywania dużych 26
27 Asynchroniczne I/O Nowe systemy operacyjne oferują interfejs asynchronicznego dostępu do pamięci masowych za pomocą kolejek i komunikatów Staraj się korzystać z AIO, w ten sposób CPU może zająć się czymś innym podczas gdy dane ładowane są z dysku Synchroniczne I/O znacząco obciąża procesor i nie pozwala wykonywać wielu długotrwałych operacji na pamięciach masowych jednocześnie 27
28 CPU to nie wszystko! W ciągu kilku lat najprawdopodobniej nastąpi zmiana wiodących paradygmatów programowania na Programowanie współbieżne Programowanie funkcyjne Nowe CPU mają coraz więcej rdzeni, ale już nie wykonują naszych starych programów szybciej Do gry wkracza Graphics Processing Unit... 28
29 GPU Computing... to nowa bardzo obiecująca dziedzina informatyki Współczesne GPU to wydajne super-skalarne procesory wektorowe (architektura Cell) zawierające nawet 128 jednostek obliczeniowych, mogących niezależnie wykonywać kod Intel Core Duo to ~48 GFLOPs, 10 GB/s nvidia G80 to ~330 GFLOPS, 80+ GB/s 29
30 Cuda nvidii! CUDA czyli Compute Unified Device Architecture to zestaw narzędzi pozwalający na wykonywanie skompilowanego uproszczonego kodu języka C na GPU bez większych ograniczeń CUDA pozwala zwykłym aplikacjom uruchamiać część swojego kodu na GPU i korzystać z ogromnej mocy obliczeniowej Wcześniej (od 2003) możliwe to było za pomocą języka Cg shaderów, choć o wiele bardziej skomplikowane 30
31 Cuda nvidii! GPU-Accelerated Dirac Video Codec, czyli implementacja na GPU kodeka Dirac używającego kompresji falkowej video zaprojektowanego przez BBC, zanotowała ~15-krotny wzrost wydajności w stosunku do implementacji na CPU Rosyjska firma Elcomsoft zaprezentowała rozwiązanie używające CUDA do łamania haseł w jeden dzień metodą bruteforce na GeForce 8800, podczas gdy wcześniej zajmowało to przynajmniej 25 dni 31
32 Co przyniesie przyszłość? Języki takie jak Erlang znajdą się wreszcie w centrum zainteresowania Pora odkurzyć książki na temat algorytmów równoległych, z których wiele wreszcie znajdzie swoje zastosowanie CPU może się stać tylko układem zarządzającym, podczas gdy GPU przejmie ciężar obliczeń CPU i GPU ostatecznie się połączą tworząc super-pu 32
33 Literatura Randall Hyde, Write Great Code, Volume 1 & 2, No Starch Press, 2005 Daniel P. Bovet, Marco Cesati, Understanding the Linux Kernel, O Reilly, 2001 Vlad Pirogov, The Assembly Programming Master Book, A-LIST, LLC, 2005 Randima Fernando, Mark J. Kilgard, The Cg Tutorial: The Definitive Guide To Programming Real-Time Graphics, Addision Wesley Professional, 2003 Michael J. Dickheiser, C++ For Game Programmers, Second edition, Charles River Media, 2007 NVIDIA CUDA Compute Unified Device Architecture, Programming Guide 1.1, NVidia Corp.,
34 Dziękuję za uwagę Pytania? 34
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ółowoProgramowanie 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ółowoCUDA 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ółowoPoró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ółowoWykorzystanie 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ółowoPROGRAMOWANIE 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ółowoSystemy plików FAT, FAT32, NTFS
Systemy plików FAT, FAT32, NTFS SYSTEM PLIKÓW System plików to sposób zapisu informacji na dyskach komputera. System plików jest ogólną strukturą, w której pliki są nazywane, przechowywane i organizowane.
Bardziej szczegółowoSystemy macierzowe. www. qsantechnology. com
Systemy macierzowe www. qsantechnology. com Przegląd produktów Rozwiązania macierzowe QSAN Unified Storage serwer NAS i SAN w jednym Macierze dyskowe typu Unified Storage QSAN pozwalają na wykorzystanie
Bardziej szczegółowoKompilator języka C na procesor 8051 RC51 implementacja
Kompilator języka C na procesor 8051 RC51 implementacja Implementowane typy danych bit 1 bit char lub char signed 8 bitów char unsigned 8 bitów int lub signed int 16 bitów unsigned int 16 bitów long lub
Bardziej szczegółowoMMX i SSE. Zbigniew Koza. Wydział Fizyki i Astronomii Uniwersytet Wrocławski. Wrocław, 10 marca 2011. Zbigniew Koza (WFiA UWr) MMX i SSE 1 / 16
MMX i SSE Zbigniew Koza Wydział Fizyki i Astronomii Uniwersytet Wrocławski Wrocław, 10 marca 2011 Zbigniew Koza (WFiA UWr) MMX i SSE 1 / 16 Spis treści Spis treści 1 Wstęp Zbigniew Koza (WFiA UWr) MMX
Bardziej szczegółowoPodstawy programowania komputerów
Podstawy programowania komputerów Wykład 10: Sterowanie pamięcią w C Pamięć na stosie!każdy program napisany w języku C ma dostęp do dwóch obszarów pamięci - stosu i sterty, w których może być przechowywana
Bardziej szczegółowoArchitektura 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ółowoPodsystem 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ółowoPROGRAMOWANIE 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ółowoJeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.
Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji
Bardziej szczegółowoSprzę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ółowoBudowa 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ółowoRDZEŃ 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ółowoPraca 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ółowoJCuda 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ółowodr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2016/2017 Wykład nr 7 (11.01.2017) Rok akademicki 2016/2017, Wykład
Bardziej szczegółowoWymagania systemowe Dla przedsiębiorstw i średnich firm
Wymagania systemowe Dla przedsiębiorstw i średnich firm Firma Trend Micro Incorporated zastrzega sobie prawo do wprowadzania bez wcześniejszej zapowiedzi zmian w tym dokumencie oraz w opisanych w nim produktach.
Bardziej szczegółowo76.Struktura oprogramowania rozproszonego.
76.Struktura oprogramowania rozproszonego. NajwaŜniejsze aspekty obiektowego programowania rozproszonego to: Współdziałanie (interoperability) modułów programowych na róŝnych maszynach. Wielokrotne wykorzystanie
Bardziej szczegółowoi3: 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ółowoWysokowydajna 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ółowoMETODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Bardziej szczegółowoStruktura programu. Projekty złożone składają się zwykłe z różnych plików. Zawartość każdego pliku programista wyznacza zgodnie z jego przeznaczeniem.
Struktura programu Projekty złożone składają się zwykłe z różnych plików. Zawartość każdego pliku programista wyznacza zgodnie z jego przeznaczeniem. W ostatnich latach najbardziej używanym stylem oprogramowania
Bardziej szczegółowoMoc 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ółowoTechnologia informacyjna. Urządzenia techniki komputerowej
Technologia informacyjna Urządzenia techniki komputerowej System komputerowy = hardware (sprzęt) + software (oprogramowanie) Sprzęt komputerowy (ang. hardware) zasoby o specyficznej strukturze i organizacji
Bardziej szczegółowoArchitektury 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ółowoAdministracja systemem Linux
Administracja systemem Linux mgr inż. Łukasz Kuczyński lkucz@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Administracja systemem Linux p. 1 Urzadzenia Blokowe Administracja systemem Linux
Bardziej szczegółowoSYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 006 Wydajność systemu 2 SO i SK/WIN Najprostszym sposobem na poprawienie wydajności systemu, jeżeli dysponujemy zbyt małą ilością pamięci RAM
Bardziej szczegółowoStrojenie 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
Bardziej szczegółowoProgramowanie współbieżne Wykład 2. Iwona Kochańska
Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas
Bardziej szczegółowoObliczenia 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ółowoKomputer VIPER i x4,2ghz 8GB GTX 1050TI 4GB 1TB USB 3.0
Dane aktualne na dzień: 11-01-2018 11:01 Link do produktu: http://exite.info/komputer-viper-i7-7700-4x4-2ghz-8gb-gtx-1050ti-4gb-1tb-usb-30-p-10049.html Komputer VIPER i7-7700 4x4,2ghz 8GB GTX 1050TI 4GB
Bardziej szczegółowoAutor: inż. Wojciech Zatorski Opiekun pracy: dr inż. Krzysztof Małecki
Autor: inż. Wojciech Zatorski Opiekun pracy: dr inż. Krzysztof Małecki Cel Konfiguracja i testowanie serwera WWW Apache w celu optymalizacji wydajności. 2/25 Zakres Konfigurowanie serwera Apache jako wydajnego
Bardziej szczegółowoWskaźniki. Informatyka
Materiały Wskaźniki Informatyka Wskaźnik z punktu widzenia programisty jest grupą komórek pamięci (rozmiar wskaźnika zależy od architektury procesora, najczęściej są to dwa lub cztery bajty ), które mogą
Bardziej szczegółowoRaport 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ółowoProgramowanie mikrokontrolerów AVR
Programowanie mikrokontrolerów AVR Czym jest mikrokontroler? Mikrokontroler jest małym komputerem podłączanym do układów elektronicznych. Pamięć RAM/ROM CPU wykonuje program Układy I/O Komunikacje ze światem
Bardziej szczegółowoSystem obliczeniowy laboratorium oraz. mnożenia macierzy
System obliczeniowy laboratorium.7. oraz przykładowe wyniki efektywności mnożenia macierzy opracował: Rafał Walkowiak Materiały dla studentów informatyki studia niestacjonarne październik 1 SYSTEMY DLA
Bardziej szczegółowoStruktury systemów operacyjnych
Struktury systemów operacyjnych Jan Tuziemski Część slajdów to zmodyfiowane slajdy ze strony os-booi.com copyright Silberschatz, Galvin and Gagne, 2013 Cele wykładu 1. Opis usług dostarczanych przez OS
Bardziej szczegółowoAlgorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Bardziej szczegółowoProgramowanie 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ółowoSprzę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ółowoBudowa 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ółowoProgramowanie 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ółowoBiorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:
Egzaminy na plus Stres na minus! Zdawaj bezpłatne egzaminy Microsoft, Linux, C++ z nami i zadbaj o swoją karierę. Oferujemy Ci pierwsze certyfikaty zawodowe w Twojej przyszłej karierze, które idealnie
Bardziej szczegółowoCele RAID. RAID z ang. Redundant Array of Independent Disks, Nadmiarowa macierz niezależnych dysków.
Macierze RAID Cele RAID RAID z ang. Redundant Array of Independent Disks, Nadmiarowa macierz niezależnych dysków. - zwiększenie niezawodności (odporność na awarie), - zwiększenie wydajności transmisji
Bardziej szczegółowoBibliografia: 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
Bardziej szczegółowoModernizacja zestawu komputerowego. Marek Pudełko Urządzenia Techniki Komputerowej
Modernizacja zestawu komputerowego Marek Pudełko Urządzenia Techniki Komputerowej Modernizacja zestawu komputerowego Modernizacji podlegają następujące Pamięć RAM Procesor Karta graficzna Karta sieciowa
Bardziej szczegółowoWykład 7. Zarządzanie pamięcią
Wykład 7 Zarządzanie pamięcią -1- Świat idealny a świat rzeczywisty W idealnym świecie pamięć powinna Mieć bardzo dużą pojemność Mieć bardzo krótki czas dostępu Być nieulotna (zawartość nie jest tracona
Bardziej szczegółowoQ E M U. http://www.qemu.com/
http://www.qemu.com/ Emulator procesora Autor: Fabrice Bellard Obsługiwane platformy: Windows, Solaris, Linux, FreeBSD, Mac OS X Aktualna wersja: 0.9.0 Większość programu oparta na licencji LGPL, a sama
Bardziej szczegółowoPodstawy programowania. Wykład 6 Wskaźniki. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 6 Wskaźniki Krzysztof Banaś Podstawy programowania 1 Adresy zmiennych Język C pozwala na operowanie adresami w pamięci stąd, między innymi, kwalifikowanie C jako języka relatywnie
Bardziej szczegółowoZałącznik nr 6 do SIWZ nr postępowania II.2420.1.2014.005.13.MJ Zaoferowany. sprzęt L P. Parametry techniczne
L P Załącznik nr 6 do SIWZ nr postępowania II.2420.1.2014.005.13.MJ Zaoferowany Parametry techniczne Ilość sprzęt Gwaran Cena Cena Wartość Wartość (model cja jednostk % jednostkow ogółem ogółem i parametry
Bardziej szczegółowoNowe mechanizmy w wersji 3 Java Card. Mateusz LESZEK (138775)
Nowe mechanizmy w wersji 3 Java Card Mateusz LESZEK (138775) Plan prezentacji 1. Java Card 3 2. Nowe mechanizmy w Java Card 3.X 3. Edycje Java Card 3.X Classic vs Connected Karty inteligentne wprowadzone
Bardziej szczegółowoPamięci masowe. ATA (Advanced Technology Attachments)
Pamięci masowe ATA (Advanced Technology Attachments) interfejs systemowy w komputerach klasy PC i Amiga przeznaczony do komunikacji z dyskami twardymi zaproponowany w 1983 przez firmę Compaq. Używa się
Bardziej szczegółowoAkademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie. dr inż. Adam Piórkowski. Jakub Osiadacz Marcin Wróbel
Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. Promotor: dr inż. Adam Piórkowski Autorzy: Jakub Osiadacz
Bardziej szczegółowoProgramowanie 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ółowoPrezentacja systemu RTLinux
Prezentacja systemu RTLinux Podstawowe założenia RTLinux jest system o twardych ograniczeniach czasowych (hard real-time). Inspiracją dla twórców RTLinux a była architektura systemu MERT. W zamierzeniach
Bardziej szczegółowoZAŁĄCZNIK NR 1.8 do PFU Serwery wraz z system do tworzenia kopii zapasowych i archiwizacji danych - wyposażenie serwerowni
ZAŁĄCZNIK NR 1.8 do PFU Serwery wraz z system do tworzenia kopii zapasowych i archiwizacji danych - wyposażenie serwerowni 1. Serwer główny 1 szt. Komponent Obudowa Płyta główna Wydajność Pamięć RAM Karta
Bardziej szczegółowoTemat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,
Bardziej szczegółowoNOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA
NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA Załącznik nr 4 do SIWZ/ załącznik do umowy Przedmiotem zamówienia jest dostawa 2 serwerów, licencji oprogramowania wirtualizacyjnego wraz z konsolą zarządzającą
Bardziej szczegółowoTest dysku Intel SSD DC S3500 480GB. Wpisany przez Mateusz Ponikowski Wtorek, 22 Październik 2013 16:22
W połowie bieżącego roku na rynku pojawiły się profesjonalne nośniki Intel z serii DC S3500. Producent deklaruje, że sprzęt przeznaczony jest do bardziej wymagających zastosowań takich jak centra danych
Bardziej szczegółowo6. Algorytmy ochrony przed zagłodzeniem dla systemów Linux i Windows NT.
WYDZIAŁ: GEOLOGII, GEOFIZYKI I OCHRONY ŚRODOWISKA KIERUNEK STUDIÓW: INFORMATYKA STOSOWANA RODZAJ STUDIÓW: STACJONARNE I STOPNIA ROK AKADEMICKI 2014/2015 WYKAZ PRZEDMIOTÓW EGZAMINACYJNYCH: I. Systemy operacyjne
Bardziej szczegółowoService Pack 1 z poprawką krytyczną Wymagania systemowe Dla przedsiębiorstw i średnich firm
Service Pack 1 z poprawką krytyczną Wymagania systemowe Dla przedsiębiorstw i średnich firm Firma Trend Micro Incorporated zastrzega sobie prawo do wprowadzania bez wcześniejszej zapowiedzi zmian w tym
Bardziej szczegółowoWymagania systemowe. Autodesk AutoCAD 2020 wraz ze specjalistycznymi zestawami narzędzi. Obsługiwane systemy operacyjne. Przeglądarka. Procesor.
Autodesk AutoCAD 2020 wraz ze specjalistycznymi zestawami narzędzi Wymagania systemowe Obsługiwane systemy operacyjne Microsoft Windows 7 SP1 z aktualizacją KB4019990 (tylko wersja 64-bitowa) Microsoft
Bardziej szczegółowoPodstawy obsługi komputerów. Budowa komputera. Podstawowe pojęcia
Budowa komputera Schemat funkcjonalny i podstawowe parametry Podstawowe pojęcia Pojęcia podstawowe PC personal computer (komputer osobisty) Kompatybilność to cecha systemów komputerowych, która umoŝliwia
Bardziej szczegółowoTesla. 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ółowoPodstawowe zagadnienia informatyki
Podstawowe zagadnienia informatyki Artur Opaliński (pokój E112) e-mail: (p. wykład administracyjny) URL: (p. wykład administracyjny) Obsługa pamięci Treść wykładu Adresowanie pamięci Architektury pamięci
Bardziej szczegółowoProgramowanie w języku C++
Programowanie w języku C++ Część siódma Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi
Bardziej szczegółowoMetody 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ółowoWymagania systemowe. Dla przedsiębiorstw i średnich firm
Wymagania systemowe Dla przedsiębiorstw i średnich firm Firma Trend Micro Incorporated zastrzega sobie prawo do wprowadzania bez wcześniejszej zapowiedzi zmian w tym dokumencie oraz w opisanych w nim produktach.
Bardziej szczegółowoProgramowanie 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ółowoWymagania systemowe Dla przedsiębiorstw i średnich firm
Wymagania systemowe Dla przedsiębiorstw i średnich firm Firma Trend Micro Incorporated zastrzega sobie prawo do wprowadzania bez wcześniejszej zapowiedzi zmian w tym dokumencie oraz w opisanych w nim produktach.
Bardziej szczegółowoWstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 4. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 4 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Tablice Wskaźniki Adresy pamięci Operator adresu
Bardziej szczegółowoKinowa Biblioteka Filmowa KINOSERWER. KinoSerwer
Kinowa Biblioteka Filmowa KINOSERWER KinoSerwer Zewnętrzna biblioteka filmowa KINOSERWER do przechowywania plików filmowych DCP, o pojemności minimalnej 12TB z możliwością rozbudowy do 42TB. Oferujemy
Bardziej szczegółowoTworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1
Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1 Metodologia programowania równoległego Przykłady podziałów zadania na podzadania: Podział ze względu na funkcje (functional
Bardziej szczegółowoProgramowanie Współbieżne
Programowanie Współbieżne Agnieszka Łupińska 5 października 2016 Hello World! helloworld.cu: #include global void helloworld(){ int thid = (blockidx.x * blockdim.x) + threadidx.x; printf("hello
Bardziej szczegółowoHistoria modeli programowania
Języki Programowania na Platformie.NET http://kaims.eti.pg.edu.pl/ goluch/ goluch@eti.pg.edu.pl Maszyny z wbudowanym oprogramowaniem Maszyny z wbudowanym oprogramowaniem automatyczne rozwiązywanie problemu
Bardziej szczegółowoStruktury. Przykład W8_1
Struktury Struktury pozwalają na grupowanie zmiennych różnych typów pod wspólną nazwą. To istotnie ułatwia organizacje danych, które okazują się w jednym miejscu kodu programu. To jest bardzo ważne dla
Bardziej szczegółowoPodstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Bardziej szczegółowoKomputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury
1976 r. Apple PC Personal Computer 1981 r. pierwszy IBM PC Komputer jest wart tyle, ile wart jest człowiek, który go wykorzystuje... Hardware sprzęt Software oprogramowanie Komputer IBM PC niezależnie
Bardziej szczegółowoDodatek 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
Bardziej szczegółowoKomputer i urządzenia z nim współpracujące.
Komputer i urządzenia z nim współpracujące. Program komputerowy Komputer maszynaelektroniczna przeznaczona do przetwarzania informacji Ogólny schemat działania komputera Podstawowe elementy komputera Większość
Bardziej szczegółowoZASADY PROGRAMOWANIA KOMPUTERÓW
POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.
Bardziej szczegółowoSposoby zwiększania efektywności systemu Windows
Grzegorz Trześniewski kl 1Tia 26.05.08r. Sposoby zwiększania efektywności systemu Windows Prof. Artur Rudnicki Uruchamiianiie ii zamykaniie Należy monitorować oprogramowanie ładowane podczas uruchamiania
Bardziej szczegółowoOptymalizacja programów Open Source. Pamięć część 3. Krzysztof Lichota
Optymalizacja programów Open Source Pamięć część 3 Krzysztof Lichota lichota@mimuw.edu.pl Alokacja pamięci Dlaczego alokacja jest ważna dla wydajności Programy w języku wysokiego poziomu wykonują setki
Bardziej szczegółowoStruktura dysku. Dyski podstawowe i dynamiczne
Struktura dysku Dyski podstawowe i dynamiczne System Windows 2000 oferuje dwa rodzaje konfiguracji dysków: dysk podstawowy i dysk dynamiczny. Dysk podstawowy przypomina struktury dyskowe stosowane w systemie
Bardziej szczegółowoLab 9 Podstawy Programowania
Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany
Bardziej szczegółowoProgramowanie w C. dr inż. Stanisław Wszelak
Programowanie w C dr inż. Stanisław Wszelak Przeszłość i przyszłość składni programowania w C Ken Thompson Denis Ritchie Bjarne Stoustrup Zespoły programistów B C C++ C# 1969 rok Do SO UNIX 1972 rok C++
Bardziej szczegółowoImplementacja 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ółowoCo to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom).
Zarządzanie pamięcią Pamięć: stos i sterta Statyczny i dynamiczny przydział pamięci Funkcje ANSI C do zarządzania pamięcią Przykłady: Dynamiczna tablica jednowymiarowa Dynamiczna tablica dwuwymiarowa 154
Bardziej szczegółowo4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Bardziej szczegółowoWymagania systemowe Dla przedsiębiorstw i średnich firm
Wymagania systemowe Dla przedsiębiorstw i średnich firm Firma Trend Micro Incorporated zastrzega sobie prawo do wprowadzania bez wcześniejszej zapowiedzi zmian w tym dokumencie oraz w opisanych w nim produktach.
Bardziej szczegółowoSystem pamięci. Pamięć wirtualna
System pamięci Pamięć wirtualna Pamięć wirtualna Model pamięci cache+ram nie jest jeszcze realistyczny W rzeczywistych systemach działa wiele programów jednocześnie Każdy może używać tej samej przestrzeni
Bardziej szczegółowoProgramowanie kart graficznych
CUDA Compute Unified Device Architecture Programowanie kart graficznych mgr inż. Kamil Szostek AGH, WGGIOŚ, KGIS Wykorzystano materiały z kursu Programowanie kart graficznych prostsze niż myślisz M. Makowski
Bardziej szczegółowoPROCESOR 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ółowoPOLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji Zakład Podstaw Telekomunikacji
POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Metody optymalizacji soft-procesorów NIOS Opiekun naukowy: dr
Bardziej szczegółowo1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float
Bardziej szczegółowo