Programowanie procesorów graficznych do obliczeń ogólnego przeznaczenia GPGPU
|
|
- Laura Żurek
- 7 lat temu
- Przeglądów:
Transkrypt
1 Programowanie procesorów graficznych do obliczeń ogólnego przeznaczenia GPGPU 1
2 GPGPU motywacja 2
3 GPGPU motywacja 3
4 Tendencje Mało dużych rdzeni rozbudowane potoki wykonanie poza kolejnością wyrafinowane przewidywanie rozgałęzień wiele jednostek funkcjonalnych Dużo małych rdzeni prostsza budowa, krótsze potoki wykonanie w kolejności proste przewidywanie rozgałęzień mniej jednostek funkcjonalnych 4
5 Architektura rdzeni CPU versus GPU 5
6 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 potoku przetwarzania grafiki 3D (OpenGL, DirectX) vertex shaders pixel shaders procesory graficzne 3D XXI wiek programowalne układy graficzne (programmable shaders) język Cg początek GPGPU 6
7 GPGPU historia 7
8 GPGPU historia 8
9 GPGPU historia 9
10 GPGPU Listopad 2006: architektura Tesla ujednolicona architektura, zamiast pixel shaders i vertex shaders standardowe skalarne procesory (nazywane obecnie rdzeniami CUDA CUDA cores ) procesor G80 karta graficzna NVIDIA GeForce 8800 model programowania CUDA (Compute Unified Device Architecture) środowisko programowania C for CUDA 10
11 TESLA architecture CUDA G
12 CUDA 12
13 Programowanie akceleratorów specyfikacja OpenCL 13
14 OpenCL OpenCL Open Computing Language język i środowisko programowania akceleratorów (procesorów wspierających standardowe CPU) Tzw. de facto standard, tworzony i wspierany przez grupę Khronos Na bazie języka C (z uwzględnieniem C++, niezależnie od standardu powstają wersje dla innych języków) Z założenia przeznaczony dla rozmaitych akceleratorów (CPU, karty Xeon Phi, GPU, procesory hybrydowe, takie jak IBM Cell) różne architektury, różni producenci 14
15 OpenCL Specyfikacja definiuje cztery modele : Dwa pierwsze modele dotyczą organizacji pracy Model platformy Model wykonania Model pamięci Model programowania Współpraca systemu bazowego i akceleratora Tworzenie i uruchamianie programów na akceleratorze Dwa ostatnie ujmują specyfikę programowania akceleratorów Abstrakcyjny model w ramach OpenCL Możliwość uwzględnienia specyficznych cech konkretnych akceleratorów (GPU, Cell, Xeon Phi) 15
16 OpenCL model platformy 16
17 OpenCL model platformy Model platformy abstrakcyjny model sprzętu Host system podstawowy (program uruchomiony na systemie hosta zarządza programami na akceleratorach Device akcelerator (urządzenie?, diwajs?) Platforma jest jednocześnie pojedynczym wybranym środowiskiem wykonania programu na akceleratorze (na jednym komputerze można zainstalować i uruchamiać wiele platform) 17
18 OpenCL podstawowe funkcje cl_int clgetplatformids( cl_uint num_entries, cl_platform_id *platforms, cl_uint *num_platforms ) cl_int clgetplatforminfo( cl_platform_id platform, cl_platform_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret ) Parametry clgetplatforminfo: CL_PLATFORM_ PROFILE VERSION NAME VENDOR EXTENSION 18
19 OpenCL model platformy Akcelerator device (urządzenie z interfejsem pamięci) Składa się z compute units procesory?, rdzenie? (posiadają jednostki pobierania i dekodowania rozkazów) Każdy compute unit składa się z processing elements rdzenie?, potoki? (służą do ostatecznej realizacji rozkazów) Znaczenie pojęć compute unit (CU) i processing element (PE) może być różne dla różnych typów akceleratorów dlatego projektując oprogramowanie używać będziemy tylko określeń abstrakcyjnych CU i PE W fazie optymalizacji dla konkretnej architektury należy uwzględnić rzeczywiste znaczenie CU i PE 19
20 OpenCL model platformy Standardowy procesor CU = PE = rdzeń AMD Radeon CU = SIMD unit, PE = SIMD lane NVIDIA GeForce CU = SM, PE = CUDA core IBM Cell CU = PE = SPE Intel Xeon Phi CU = PE = rdzeń 20
21 OpenCL podstawowe funkcje cl_int clgetdeviceids ( cl_platform_id platform, cl_device_type device_type, cl_uint num_entries, cl_device_id *devices, cl_uint *num_devices ) Podstawowe typy: CL_DEVICE_TYPE_CPU CL_DEVICE_TYPE_GPU CL_DEVICE_TYPE_ACCELERATOR + CL_DEVICE_TYPE_ALL dla wszystkich typów 21
22 OpenCL podstawowe funkcje cl_int clgetdeviceinfo ( cl_device_id device, cl_device_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret ) Ponad 70 możliwych parametrów, m. in.: CL_DEVICE_GLOBAL_MEM_SIZE, CL_DEVICE_LOCAL_MEM_SIZE, CL_DEVICE_MAX_COMPUTE_UNITS, CL_DEVICE_MAX_CLOCK_FREQUENCY Oraz wiele innych związanych np. z modelami pamięci i programowania 22
23 OpenCL model wykonania Kontekst zestaw danych wykorzystywanych do zarządzania wykonaniem programu na akceleratorach Pojedynczy kontekst istnieje w ramach konkretnej platformy i odnosi się do grupy akceleratorów (najczęściej tego samego typu) OpenCL wyróżnia 3 podstawowe typy akceleratorów: CPU GPU ACCELERATOR 23
24 OpenCL podstawowe funkcje cl_context clcreatecontext( const cl_context_properties *properties, cl_uint num_devices, const cl_device_id *devices, (void CL_CALLBACK *pfn_notify) ( const char *errinfo, const void *private_info, size_t cb, void *user_data), void *user_data, cl_int *errcode_ret ) 24
25 OpenCL podstawowe funkcje cl_context clcreatecontextfromtype( const cl_context_properties *properties, cl_device_type device_type, const cl_device_id *devices, (void CL_CALLBACK *pfn_notify) ( const char *errinfo, const void *private_info, size_t cb, void *user_data), void *user_data, cl_int *errcode_ret ) 25
26 OpenCL podstawowe funkcje cl_int clgetcontextinfo ( cl_context context, cl_context_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret ) Przykładowe parametry: CL_CONTEXT_NUM_DEVICES, CL_CONTEXT_DEVICES 26
27 OpenCL model wykonania OpenCL dopuszcza możliwość realizacji poleceń przez akceleratory w sposób asynchroniczny i w kolejności niezależnej od kolejności zlecania Polecenia zlecane do wykonania na akceleratorze ustawiane są w kolejce command queue Pojedyncza kolejka przypisana jest do pojedynczego akceleratora w ramach konkretnego kontekstu 27
28 OpenCL podstawowe funkcje cl_command_queue clcreatecommandqueue( cl_context context, cl_device_id device, cl_command_queue_properties properties, cl_int *errcode_ret ) Własności: CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE CL_QUEUE_PROFILING_ENABLE 28
29 OpenCL model wykonania Pojedyncze polecenie zlecane do wykonania akceleratorowi jest funkcją zwaną kernelem Kod składający się z jednego lub kilku kerneli nazywany jest programem Program jest tworzony z kodu źródłowego napisanego w języku OpenCL będącym ograniczona wersją C99 Podstawowym sposobem tworzenia programu jest kompilacja w trakcie wykonania programu po stronie hosta Możliwe jest także wcześniejsze kompilowanie kodu i tworzenie programu z pliku binarnego 29
30 OpenCL model wykonania Podstawowym założeniem OpenCL jest przenośność kodu Poprawny kod źródłowy OpenCL powinien zostać skompilowany i uruchomiony przez dowolne środowisko wykonania dla dowolnego akceleratora Do programu zawierającego wywołania kerneli OpenCL dołącza się (linkuje) tylko bibliotekę konkretnego środowiska wykonania, która powinna poprawnie utworzyć kernele i zarządzać ich wykonaniem Procedury biblioteki OpenCL mogą odwoływać się do kompilatorów i ich bibliotek dedykowanych do konkretnego akceleratora 30
31 OpenCL podstawowe funkcje cl_program clcreateprogramwithsource ( cl_context context, cl_uint count, const char **strings, const size_t *lengths, cl_int *errcode_ret ) cl_program clcreateprogramwithbinary ( cl_context context, cl_uint num_devices, const cl_device_id *device_list, const size_t *lengths, const unsigned char **binaries, cl_int *binary_status, cl_int *errcode_ret ) 31
32 OpenCL podstawowe funkcje cl_int clbuildprogram ( cl_program program, cl_uint num_devices, const cl_device_id *device_list, const char *options, void (CL_CALLBACK *pfn_notify)( cl_program program, void *user_data), void *user_data ) Standard OpenCL definiuje kilkanaście opcji kompilacji, można także przesyłać opcje dla konkretnych środowisk programowania 32
33 OpenCL podstawowe funkcje cl_program cllinkprogram ( cl_int clcompileprogram ( cl_context context, cl_program program, cl_uint num_devices, cl_uint num_devices, const cl_device_id *device_list, const cl_device_id *device_list, const char *options, const char *options, cl_uint num_input_programs, cl_uint num_input_headers, const cl_program *input_programs, const cl_program *input_headers, void (CL_CALLBACK *pfn_notify) ( const char **header_include_names, cl_program program, void (CL_CALLBACK *pfn_notify)( void *user_data), cl_program program, void *user_data, void *user_data), cl_int *errcode_ret void *user_data ) ) 33
34 OpenCL podstawowe funkcje cl_int clgetprograminfo ( cl_program program, cl_program_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret ) cl_int clgetprogrambuildinfo ( cl_program program, cl_device_id device, cl_program_build_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret) Parametry clgetprograminfo: REFERENCE_COUNT CONTEXT NUM_DEVICES DEVICES BINARY_SIZES BINARIES NUM_KERNELS KERNEL_NAMES SOURCE clgetprogrambuildinfo: BUILD_STATUS BUILD_OPTIONS BUILD_LOG BINARY_TYPE 34
35 OpenCL podstawowe funkcje cl_kernel clcreatekernel ( cl_program program, const char *kernel_name, cl_int *errcode_ret ) cl_int clsetkernelarg ( cl_kernel kernel, cl_uint arg_index, size_t arg_size, const void *arg_value ) 35
36 OpenCL model wykonania OpenCL umożliwia ograniczone zarządzanie obiektami w pamięci akceleratora przez program po stronie hosta Wykorzystuje się w tym celu pojęcie obiektu pamięci memory object Istnieją dwa podstawowe rodzaje obiektów pamięci: Bufory buffers, standardowe tablice Obrazy images, obiekty o zoptymalizowanym, charakterystycznym sposobie przechowywania, których specyfikacja umożliwia zastosowanie formatów używanych przez procesory graficzne do przechowywania rzeczywistych obrazów Bufory i obrazy mogę być tworzone, niszczone, ich zawartość kopiowana z pamięci hosta do pamięci akceleratora i z pamięci akceleratora do pamięci hosta 36
37 Tworzenie obiektów w pamięci GPU cl_mem clcreatebuffer ( cl_context context, cl_mem_flags flags, size_t size, void *host_ptr, cl_int *errcode_ret); parametry typu cl_mem_flags: CL_MEM_READ_WRITE CL_MEM_WRITE_ONLY CL_MEM_READ_ONLY CL_MEM_USE_HOST_PTR CL_MEM_ALLOC_HOST_PTR CL_MEM_COPY_HOST_PTR 37
38 OpenCL model wykonania Program uruchomiony po stronie hosta zleca zadania do wykonania przez akcelerator Pojedyncze zlecenie jest nazywane zdarzeniem event Dzięki zdarzeniom system wykonania OpenCL może wprowadzić synchronizację realizowanych operacji Zależności między operacjami Oczekiwanie na zakończenie operacji Zdarzenia umożliwiają także pomiar czasu realizacji operacji i tworzenie profilu wykonania programu Zdarzeniami są np.: kopiowanie danych do i z pamięci akceleratora uruchomienie programu na akceleratorze 38
39 OpenCL podstawowe funkcje cl_int clenqueuewritebuffer ( cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_write, size_t offset, size_t cb, const void *ptr, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event) 39
40 OpenCL model wykonania Wykonanie kernela jest zlecane środowisku wykonania OpenCL poprzez wywołanie odpowiedniej funkcji, z kernelem jako jednym z jej argumentów Z tego powodu przekazanie argumentów wywoływanemu kernelowi odbywa się w sposób różny od klasycznego Argumenty przypisuje się danemu kernelowi poprzez wywołanie specjalnej funkcji, która może jednocześnie spowodować przekazanie wartości argumentów do pamięci akceleratora 40
41 OpenCL podstawowe funkcje cl_int clsetkernelarg ( cl_kernel kernel, cl_uint arg_index, size_t arg_size, const void *arg_value ) rozmiar danych najlepiej uzyskiwać operatorem sizeof np. sizeof(cl_mem) dla obiektów typu cl_mem tworzonych przez clcreatebuffer 41
42 OpenCL podstawowe funkcje cl_int clenqueuendrangekernel ( cl_command_queue command_queue, cl_kernel kernel, cl_uint work_dim, const size_t *global_work_offset, const size_t *global_work_size, const size_t *local_work_size, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event ) 42
43 OpenCL podstawowe funkcje Po wykonaniu kernela należy zwolnić zasoby za pomocą funkcji: clreleasememobject clreleasekernel clreleaseprogram clreleasecommandqueue clreleasecontext clreleaseevent itp. 43
44 Sekwencja wykonania operacji OpenCL 44
45 OpenCL podsumowanie 45
Programowanie akceleratorów specyfikacja OpenCL. Krzysztof Banaś Obliczenia równoległe 1
Programowanie akceleratorów specyfikacja OpenCL Krzysztof Banaś Obliczenia równoległe 1 OpenCL OpenCL Open Computing Language język i środowisko programowania akceleratorów (procesorów wspierających standardowe
Bardziej szczegółowoProgramowanie równoległe Wprowadzenie do OpenCL. Rafał Skinderowicz
Programowanie równoległe Wprowadzenie do OpenCL Rafał Skinderowicz OpenCL architektura OpenCL Open Computing Language otwarty standard do programowania heterogenicznych platform złożonych ze zbioru CPU,
Bardziej szczegółowoProgramowanie 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ółowoWstęp do OpenCL. Czyli jak wykorzystać moc drzemiącą w GPU. Marek Zając 2013r. zajacmarek.com
Wstęp do OpenCL Czyli jak wykorzystać moc drzemiącą w GPU Marek Zając 2013r. zajacmarek.com Przez większość użytkowników komputerów karta graficzna kojarzona jest jedynie jako element, który służy do wyświetlania
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ółowoWprowadzenie do GPGPU
(py)opencl na kartach graficznych: Wprowadzenie do GPGPU kolodziejj.info Tylko takie GPU? @ CSIRO Tylko takie GPU? @ nvidia @ nvidia @ benchmark.pl wyszukiwanie obiektów na zdjęciu CPU-bound 36 MPix wyszukiwanie
Bardziej szczegółowoWprowadzenie do GPGPU
(py)opencl na kartach graficznych: Wprowadzenie do GPGPU kolodziejj.info wyszukiwanie obiektów na zdjęciu CPU-bound 32 MPix implementacje: Matlab: 6 godzin Python + OpenCL: 1 minuta Tak, słownie: jedna
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ółowoProgramowanie procesorów graficznych GPU
Programowanie procesorów graficznych GPU Uniwersytet Marii Curie-Skłodowskiej Wydział Matematyki, Fizyki i Informatyki Instytut Informatyki Programowanie procesorów graficznych GPU Marcin Denkowski Paweł
Bardziej szczegółowoProgramowanie w modelu równoległości danych oraz dzielonej globalnej pamięci wspólnej. Krzysztof Banaś Obliczenia równoległe 1
Programowanie w modelu równoległości danych oraz dzielonej globalnej pamięci wspólnej Krzysztof Banaś Obliczenia równoległe 1 Model równoległości danych Model SPMD (pierwotnie dla maszyn SIMD) Zrównoleglenie
Bardziej szczegół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ółowoCUDA 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ółowoProgramowanie procesorów graficznych GPGPU. Krzysztof Banaś Obliczenia równoległe 1
Programowanie procesorów graficznych GPGPU Krzysztof Banaś Obliczenia równoległe 1 Projektowanie kerneli Zasady optymalizacji: należy maksymalizować liczbę wątków (w rozsądnych granicach, granice zależą
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ółowoPrzetwarzanie 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ółowoOpenGL - 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ół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ółowoObliczenia Wysokiej Wydajności
Obliczenia wysokiej wydajności 1 Wydajność obliczeń Wydajność jest (obok poprawności, niezawodności, bezpieczeństwa, ergonomiczności oraz łatwości stosowania i pielęgnacji) jedną z najważniejszych charakterystyk
Bardziej szczegółowoProgramowanie Równoległe Wykład, CUDA praktycznie 1. Maciej Matyka Instytut Fizyki Teoretycznej
Programowanie Równoległe Wykład, 07.01.2014 CUDA praktycznie 1 Maciej Matyka Instytut Fizyki Teoretycznej Motywacja l CPU vs GPU (anims) Plan CUDA w praktyce Wykład 1: CUDA w praktyce Wykład 2: Cuda +
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ół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ół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ół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 Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
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ół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ółowoProgramowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)
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 Równoległe wykład, 21.01.2013. CUDA, przykłady praktyczne 1. Maciej Matyka Instytut Fizyki Teoretycznej
Programowanie Równoległe wykład, 21.01.2013 CUDA, przykłady praktyczne 1 Maciej Matyka Instytut Fizyki Teoretycznej Motywacja l CPU vs GPU (anims) Plan CUDA w praktyce Wykład 1: CUDA w praktyce l aplikacja
Bardziej szczegółowoProcesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.
Procesory wielordzeniowe (multiprocessor on a chip) 1 Procesory wielordzeniowe 2 Procesory wielordzeniowe 3 Konsekwencje prawa Moore'a 4 Procesory wielordzeniowe 5 Intel Nehalem 6 Architektura Intel Nehalem
Bardziej szczegółowoSpis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII
Spis treści Od autora..................................................... Obliczenia inżynierskie i naukowe.................................. X XII Ostrzeżenia...................................................XVII
Bardziej szczegółowoZaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce
Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
Bardziej szczegółowoProgramowanie 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ółowoGrzegorz Cygan. Wstęp do programowania mikrosterowników w języku C
Grzegorz Cygan Wstęp do programowania mikrosterowników w języku C Mikrosterownik Inne nazwy: Microcontroler (z języka angielskiego) Ta nazwa jest powszechnie używana w Polsce. Mikrokomputer jednoukładowy
Bardziej szczegółowoLaboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą
Bardziej szczegółowoAlternatywne modele programowania równoległego
Alternatywne modele programowania równoległego 1 PRAM Teoretyczne modele obliczeń (do analizy algorytmów) maszyna o dostępie swobodnym (RAM) procesor, rejestry, magistrala, pamięć równoległa maszyna o
Bardziej szczegółowoProgramowanie obiektowe zastosowanie języka Java SE
Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z
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 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ół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ółowoProgramowanie 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ółowoSprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów
Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów przeznaczonych do wykonania w komputerze (ang. software).
Bardziej szczegółowoProgramowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści
Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, 2017 Spis treści Przedmowa 11 ROZDZIAŁ 1 Wstęp 13 1.1. Rys historyczny 14 1.2. Norma IEC 61131 19 1.2.1. Cele i
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ółowoProcesy i wątki. Krzysztof Banaś Obliczenia równoległe 1
Procesy i wątki Krzysztof Banaś Obliczenia równoległe 1 Procesy i wątki Proces: ciąg rozkazów (wątek główny) i ewentualnie inne wątki stos (wątku głównego) przestrzeń adresowa dodatkowe elementy tworzące
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ół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ółowoPodstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Bardziej szczegółowoROZPROSZONY SYSTEM DO KRYPTOANALIZY SZYFRÓW OPARTYCH NA KRZYWYCH ELIPTYCZNYCH
ROZPROSZONY SYSTEM DO KRYPTOANALIZY SZYFRÓW OPARTYCH NA KRZYWYCH ELIPTYCZNYCH Krzysztof Skowron, Mariusz Rawski, Paweł Tomaszewicz 1/23 CEL wykorzystanie środowiska Altera OpenCL do celów akceleracji obliczeń
Bardziej szczegółowo1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.
1. Pierwszy program // mój pierwszy program w C++ #include using namespace std; cout
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ółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
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ół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ółowoPLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
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ółowoPrzygotowanie 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ą
Bardziej szczegółowoXIII International PhD Workshop OWD 2011, October 2011 REALIZACJA OBLICZEŃ W ARCHITEKTURZE MASOWO RÓWNOLEGŁEJ W HETEROGENICZNYCH SYSTEMACH
XIII International PhD Workshop OWD 2011, 22 25 October 2011 REALIZACJA OBLICZEŃ W ARCHITEKTURZE MASOWO RÓWNOLEGŁEJ W HETEROGENICZNYCH SYSTEMACH CALCULATIONS IN THE MASSIVELY PARALLEL ARCHITECTURE IN HETEROGENEOUS
Bardziej szczegółowoktó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ół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ółowoPhysX Visual Debugger. Tomasz Gańko
PhysX Visual Debugger Tomasz Gańko Co to jest Nvidia PhysX? NVIDIA PhysX to wydajny silnik fizyczny, zoptymalizowany m.in. do działania na równoległych procesorach kart graficznych. Jego głównym przeznaczeniem
Bardziej szczegółowoWydajność 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
Bardziej szczegółowoSzablony funkcji i szablony klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoProgramowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
Bardziej szczegółowoGRAFIKA KOMPUTEROWA. Rozwiązania sprzętowe i programowe. Przyspieszanie sprzętowe. Synteza i obróbka obrazu
Synteza i obróbka obrazu GRAFIKA KOMPUTEROWA Rozwiązania sprzętowe i programowe Przyspieszanie sprzętowe Generowanie obrazu 3D wymaga złożonych obliczeń, szczególnie jeżeli chodzi o generowanie płynnej
Bardziej szczegółowoLinux Kernel III. Character devices
Linux Kernel III Character devices Urządzenia systemu Linux (I) Character device Block device Network device Do urządzenia piszemy jak do pliku, Dozwolone działania: open, close, read, write, Np. /dev/tty1.
Bardziej szczegółowoProgramowanie w C++ Wykład 10. Katarzyna Grzelak. 21 maja K.Grzelak (Wykład 10) Programowanie w C++ 1 / 21
Programowanie w C++ Wykład 10 Katarzyna Grzelak 21 maja 2018 K.Grzelak (Wykład 10) Programowanie w C++ 1 / 21 Makefiles K.Grzelak (Wykład 10) Programowanie w C++ 2 / 21 Kompilacja programu zapisanego w
Bardziej szczegółowo1 Temat: Vertex Shader
Instrukcja Architektura procesorów graficznych 1 Temat: Vertex Shader Przygotował: mgr inż. Tomasz Michno 1 Wstęp 1.1 Czym jest shader Shader jest programem (zazwyczaj krótkim), wykonywanym przez kartę
Bardziej szczegółowo1.Wstęp. 2.Generowanie systemu w EDK
1.Wstęp Celem niniejszego ćwiczenia jest zapoznanie z możliwościami debuggowania kodu na platformie MicroBlaze oraz zapoznanie ze środowiskiem wspomagającym prace programisty Xilinx Platform SDK (Eclipse).
Bardziej szczegółowoPodstawy programowania. Wykład 1 Wstęp. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 1 Wstęp Krzysztof Banaś Podstawy programowania 1 Elementy historii informatyki I think there is a world market for maybe five computers. - Thomas Watson, chairman of IBM,
Bardziej szczegółowoProgramowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński
Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński Plan Prezentacji. Programowanie ios. Jak zacząć? Co warto wiedzieć o programowaniu na platformę ios? Kilka słów na temat Obiective-C.
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Przemysław Gawroński D-10, p. 234 Wykład 1 8 października 2018 (Wykład 1) Wstęp do programowania 8 października 2018 1 / 12 Outline 1 Literatura 2 Programowanie? 3 Hello World (Wykład
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ółowoPARADYGMATY PROGRAMOWANIA Wykład 4
PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej
Bardziej szczegółowoProgramowanie Niskopoziomowe
Programowanie Niskopoziomowe Wykład 8: Procedury Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wstęp Linkowanie z bibliotekami zewnętrznymi Operacje na stosie
Bardziej szczegółowoSPOSOBY 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ółowoGRAFIKA KOMPUTEROWA. Rozwiązania sprzętowe i programowe. Przyspieszanie sprzętowe. Synteza dźwięku i obrazu
Synteza dźwięku i obrazu GRAFIKA KOMPUTEROWA Rozwiązania sprzętowe i programowe Przyspieszanie sprzętowe Generowanie obrazu 3D wymaga złożonych obliczeń, szczególnie jeżeli chodzi o generowanie płynnej
Bardziej szczegół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ółowoProgramowanie w języku C++ Grażyna Koba
Programowanie w języku C++ Grażyna Koba Kilka definicji: Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i zasad
Bardziej szczegółowoJulia 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ółowoJednostka GPU oraz OpenCL aplikacje
Jednostka GPU oraz OpenCL aplikacje W artykule zaprezentowano przykładową aplikacją symulowanie sił oddziaływujących na cząsteczki oraz animowanie ich ruchu na ekranie zestawu ewaluacyjnego i.mx6 Sabre.
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ół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ółowoProcesy pojęcia podstawowe. 1.1 Jak kod źródłowy przekształca się w proces
Procesy pojęcia podstawowe 1 1.1 Jak kod źródłowy przekształca się w proces W języku wysokiego poziomu tworzy się tak zwany kod źródłowy który po zapisaniu będzie plikiem z programem źródłowym. Plik źródłowy
Bardziej szczegółowoTworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1
Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie
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ółowoINFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE
Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby
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ółowoWprowadzenie do programowania
do programowania ITA-104 Wersja 1 Warszawa, Wrzesień 2009 ITA-104 do programowania Informacje o kursie Zakres tematyczny kursu Opis kursu Kurs przeznaczony jest do prowadzenia przedmiotu do programowania
Bardziej szczegółowoPrzeglą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ółowoProgramowanie 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ółowopublic: // interfejs private: // implementacja // składowe klasy protected: // póki nie będziemy dziedziczyć, // to pole nas nie interesuje
Zbudujemy klasę Definicję klasy zapiszmy w pliku tstring.h #ifndef TSTRING_H #define TSTRING_H #include // w pliku nagłówkowym NIE // otwieramy przestrzeni std // interfejs private: // implementacja
Bardziej szczegółowoKARTA PRZEDMIOTU. Programowanie niskopoziomowe, C1
KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia: Profil kształcenia: Forma studiów:
Bardziej szczegółowoKarta przedmiotu. Podstawy programowania procesorów graficznych. realizowanego w ramach projektu PO WER
Karta przedmiotu Podstawy programowania procesorów graficznych realizowanego w ramach projektu PO WER 2017-2019 Wydział Inżynierii Elektrycznej i Komputerowej Kierunek studiów: Informatyka Profil: Ogólnoakademicki
Bardziej szczegółowoIdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com
IdyllaOS www.idyllaos.org Prosty, alternatywny system operacyjny Autor: Grzegorz Gliński Kontakt: milyges@gmail.com Co to jest IdyllaOS? IdyllaOS jest to mały, prosty, uniksopodobny, wielozadaniowy oraz
Bardziej szczegółowoProgramowanie Równoległe wykład 12. OpenGL + algorytm n ciał. Maciej Matyka Instytut Fizyki Teoretycznej
Programowanie Równoległe wykład 12 OpenGL + algorytm n ciał Maciej Matyka Instytut Fizyki Teoretycznej CUDA z OpenGL 1. Dane dla kerneli znajdują się na karcie GFX. 2. Chcemy liczyć i rysować używając
Bardziej szczegółowoNowoczesne 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