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

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

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

Transkrypt

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

2 Agenda GPU Dlaczego warto używać GPU Budowa GPU CUDA JCuda Przykładowa implementacja

3 Co to jest? GPU

4 GPU Graphical

5 GPU Graphical Processing

6 GPU Graphical Processing Unit

7 GPU Graphical Processing Unit Procesor graficzny.

8 Krótka historia GPU Terminale znakowe

9 Krótka historia GPU Terminale znakowe Renderowanie obrazu składającego się z pixeli

10 Krótka historia GPU Terminale znakowe Renderowanie obrazu składającego się z pixeli Akceleracja 2D, rysowanie kształtów, Z-bufory, sprite'y.

11 Krótka historia GPU Wejście w świat 3D - obliczenia na wektorach macierzach liczb zmiennoprzecinkowych

12 Krótka historia GPU Wejście w świat 3D - obliczenia na wektorach macierzach liczb zmiennoprzecinkowych Pojawienie się pierwszego GPU - NV10. Karta graficzna przejęła obliczenia T&L.

13 Krótka historia GPU Wejście w świat 3D - obliczenia na wektorach macierzach liczb zmiennoprzecinkowych Pojawienie się pierwszego GPU - NV10. Karta graficzna przejęła obliczenia T&L. Pojawienie się shaderów. Krótkich programów operujących na danych wewnątrz karty graficznej. (NV30)

14 Krótka historia GPU Wejście w świat 3D - obliczenia na wektorach macierzach liczb zmiennoprzecinkowych Pojawienie się pierwszego GPU - NV10. Karta graficzna przejęła obliczenia T&L. Pojawienie się shaderów. Krótkich programów operujących na danych wewnątrz karty graficznej. (NV30) Pojawienie się CUDA - dowolne programowanie na GPU (G80).

15 Dlaczego warto używać GPU Architektura procesora graficznego jest zoptymalizowana pod kątem obliczeń zmiennoprzecinkowych.

16 Dlaczego warto używać GPU Architektura procesora graficznego jest zoptymalizowana pod kątem obliczeń zmiennoprzecinkowych. Wydajność tego typu obliczeń jest aż do 5 razy większa niż CPU, w przypadku obliczeń podwójnej skali precyzji.

17 Dlaczego warto używać GPU Architektura procesora graficznego jest zoptymalizowana pod kątem obliczeń zmiennoprzecinkowych. Wydajność tego typu obliczeń jest aż do 5 razy większa niż CPU, w przypadku obliczeń podwójnej skali precyzji. I aż do 10 razy w przypadku pojedynczej skali precyzji.

18 Dlaczego warto używać GPU Prędkość pamięci DDR ~ 19,2 GB/s

19 Dlaczego warto używać GPU Prędkość pamięci DDR ~ 19,2 GB/s GDDR5 ~ 224 GB/s

20 Dlaczego warto używać GPU Prędkość pamięci DDR ~ 19,2 GB/s GDDR5 ~ 224 GB/s Wydajność mocy Intel i7 Core 980XE: 220 GFLOPS / 130W = 1,7 GFLOPS/W

21 Dlaczego warto używać GPU Prędkość pamięci DDR ~ 19,2 GB/s GDDR5 ~ 224 GB/s Wydajność mocy Intel i7 Core 980XE: 220 GFLOPS / 130W = 1,7 GFLOPS/W NVIDIA GTX 580: 1580 GFLOPS / 244 W = 6,5 GFLOPS/W

22 Dlaczego warto używać GPU Źródło:http://www.hardwareinsight.com/

23 Dlaczego warto używać GPU CPU Core 2 Duo Quad Q6600 2,4GHz 4GB DDR2-800 GPU NVidia GeForce GTX MB GDDR5

24 Dlaczego warto używać GPU CPU Core 2 Duo Quad Q6600 2,4GHz 4GB DDR2-800 GPU NVidia GeForce GTX MB GDDR5 Raytracer 4-8 FPS 80 FPS

25 Dlaczego warto używać GPU CPU Core 2 Duo Quad Q6600 2,4GHz 4GB DDR2-800 GPU NVidia GeForce GTX MB GDDR5 Raytracer 4-8 FPS 80 FPS SGEMM 1000x ms 528 ms

26 Dlaczego warto używać GPU CPU Core 2 Duo Quad Q6600 2,4GHz 4GB DDR2-800 GPU NVidia GeForce GTX MB GDDR5 Raytracer 4-8 FPS 80 FPS SGEMM 5924 ms 528 ms Sort 10^6 43 ms 547 ms Sort 10^ ms 800 ms

27 Do czego użyto GPU Symulacje objętościowe cieczy i gazów

28 Do czego użyto GPU Symulacje objętościowe cieczy i gazów Optymalizacja wydajności aerodynamicznej pojazdów

29 Do czego użyto GPU Symulacje objętościowe cieczy i gazów Optymalizacja wydajności aerodynamicznej pojazdów Analiza pogody

30 Do czego użyto GPU Symulacje objętościowe cieczy i gazów Optymalizacja wydajności aerodynamicznej pojazdów Analiza pogody Wizualizacje

31 Do czego użyto GPU Symulacje objętościowe cieczy i gazów Optymalizacja wydajności aerodynamicznej pojazdów Analiza pogody Wizualizacje Symulacja detonacji atomowej bomby plecakowej

32 Do czego użyto GPU Symulacje objętościowe cieczy i gazów Optymalizacja wydajności aerodynamicznej pojazdów Analiza pogody Wizualizacje Symulacja detonacji atomowej bomby plecakowej Problem n ciał i wiele innych.

33 Gdzie GPU, będzie skuteczne Algorytmy przetwarzania równoległego

34 Gdzie GPU, będzie skuteczne Algorytmy przetwarzania równoległego Mało komunikacji między wątkowej

35 Gdzie GPU, będzie skuteczne Algorytmy przetwarzania równoległego Mało komunikacji między wątkowej Masowe obliczenia zmienno przecinkowe SP

36 Zapraszam

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

38 GPU Piękne liczby, powodują dreszcze, ale gdzie jest haczyk? Wątki.

39 GPU Piękne liczby, powodują dreszcze, ale gdzie jest haczyk? Wątki. Dużo wątków.

40 GPU Piękne liczby, powodują dreszcze, ale gdzie jest haczyk? Wątki. Dużo wątków. Nawet 2^9 * 2^32 wątków.

41 CPU DRAM

42 CPU Cache DRAM

43 CPU CONTROL Cache DRAM

44 CPU CONTROL ALU ALU ALU ALU ALU ALU Cache DRAM

45 GPU DRAM

46 GPU DRAM

47 GPU DRAM

48 GPU CONT ROL Cache CONT ROL Cache CONT ROL Cache CONT ROL Cache DRAM

49 GPU CONT ROL ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU Cache ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU CONT ROL ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU Cache ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU CONT ROL ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU Cache ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU CONT ROL ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU Cache ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU DRAM

50 GPU Piękne liczby, powodują dreszcze, ale gdzie jest haczyk? Wątki. Dużo wątków. Ok. 2^24 * 2^32 wątków. Pamięć. Zarządzanie. Transfer. Optymalne wykorzystanie.

51 GPU DRAM

52 GPU Pamięć tekstur Pamięć stałych DRAM

53 GPU Cache tekstur Cache stałych Pamięć tekstur Pamięć stałych DRAM

54 GPU Pamięć instrukcji Procesor Procesor Procesor Procesor Cache tekstur Cache stałych Pamięć tekstur Pamięć stałych DRAM

55 GPU Pamięć instrukcji Rejestry Rejestry Rejestry Rejestry Procesor Procesor Procesor Procesor Cache tekstur Cache stałych Pamięć tekstur Pamięć stałych DRAM

56 GPU Pamięć współdzielona Pamięć instrukcji Rejestry Rejestry Rejestry Rejestry Procesor Procesor Procesor Procesor Cache tekstur Cache stałych Pamięć tekstur Pamięć stałych DRAM

57 CUDA Compute Unified Device Architecture

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

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

60 JCuda Zestaw bibliotek opakowywujących natywne biblioteki CUDY z wykorzystaniem interfejsu JNI. Niestety, zależne od systemu operacyjnego/architektury procesora.

61 JCuda CUDA RUNTIME API CUDA DRIVER API

62 JCuda libjcudaruntime.so CUDA RUNTIME API libjcudadriver.so CUDA DRIVER API

63 JCuda JCudaRuntime.jar JCudaDriver.jar libjcudaruntime.so CUDA RUNTIME API libjcudadriver.so CUDA DRIVER API

64 Jęk zawodu na sali Niestety, zależne od systemu operacyjnego/architektury procesora.

65 Jęk zawodu na sali Niestety, zależne od systemu operacyjnego/architektury procesora. Należy jednak pamiętać, że API CUDY plus biblioteki to ok różnych funkcji zmieniających się z każdym wydaniem.

66 Co to jest kernel? Funkcja ładowana do pamięci instrukcji multiprocesora.

67 Co to jest kernel? Funkcja ładowana do pamięci instrukcji multiprocesora. Przykład JCudaVectorAdd.cu: extern "C" global void add(int n, float *a, float *b, float *sum) { int i = blockidx.x * blockdim.x + threadidx.x; if (i<n) { sum[i] = a[i] + b[i]; } }

68 Organizacja przetwarzania struct dim3 { int x, y, z; } dim3 griddim, blockdim; dim3 blockidx, threadidx;

69 Organizacja przetwarzania Blok

70 Organizacja przetwarzania Każdy blok może zostać przydzielony do dowolnego multiprocesora. To w jaki sposób zostanie on przydzielony zależy od jego wymagań co do pamięci współdzielonej oraz rejestrów.

71 Organizacja przetwarzania Blok Blok Blok Blok Blok Blok Grid Blok Blok Blok Blok Blok Blok

72 Ograniczenia przetwarzania Ograniczenia: Maksymalna ilość wątków w bloku: 512 (256). Maksymalny wymiar grida 2^16 x 2^16 x 1. Do niedawna brak rekurencji. Do niedawna brak printf.

73 Ograniczenia przetwarzania Wątki w bloku formowane są w tzw. warpy po 32 wątki każdy i następnie są ładowane do multiprocesora. W ramach jednego warpa równolegle przez wątki może być wykonywana tylko jedna instrukcja. Jeśli nastąpi rozgałęzienie (if) zasada ta nadal obowiązuje i instrukcje gałęzi się przeplatają.

74 Typowy przebieg przetwarzania 1. Przygotowanie środowiska i kerneli 2. Alokacja pamięci na urządzeniu. 3. Ładowanie danych (wąskie gardło) 4. Wykonaniu obliczeń a. wykonywanie obliczeń GPU b. wykonywanie obliczeń CPU 5. Synchronizacja z kartą 6. Pobranie wyników obliczeń (wąskie gardło) 7. Dealokacja pamięci

75 Typowy przebieg przetwarzania 1. Przygotowanie środowiska i kerneli import static jcuda.driver.jcudadriver.*; // Enable exceptions and omit all subsequent error checks setexceptionsenabled(true); // Initialize the driver and // create a context for the first device. cuinit(0); CUdevice device = new CUdevice(); cudeviceget(device, 0); CUcontext context = new CUcontext(); cuctxcreate(context, 0, device);

76 Typowy przebieg przetwarzania 1. Przygotowanie środowiska i kerneli // Load the ptx file. // Create the PTX file by calling the NVCC String ptxfilename = prepareptxfile("jcudavectoraddkernel.cu"); CUmodule module = new CUmodule(); cumoduleload(module, ptxfilename); // Obtain a function pointer to the "add" function. CUfunction function = new CUfunction(); cumodulegetfunction(function, module, "add");

77 Typowy przebieg przetwarzania 2. Alokacja pamięci i ładowanie danych // Allocate the device input data, and copy the // host input data to the device CUdeviceptr deviceinputa = new CUdeviceptr(); cumemalloc(deviceinputa, numelements * Sizeof.FLOAT); cumemcpyhtod(deviceinputa, Pointer.to(hostInputA), numelements * Sizeof.FLOAT); CUdeviceptr deviceinputb = new CUdeviceptr(); cumemalloc(deviceinputb, numelements * Sizeof.FLOAT); cumemcpyhtod(deviceinputb, Pointer.to(hostInputB), numelements * Sizeof.FLOAT);

78 Typowy przebieg przetwarzania 2. Alokacja pamięci wyjściowej // Allocate device output memory CUdeviceptr deviceoutput = new CUdeviceptr(); cumemalloc(deviceoutput, numelements * Sizeof.FLOAT);

79 Typowy przebieg przetwarzania 3. Wykonanie obliczeń // Set up the kernel parameters: A pointer to an array // of pointers which point to the actual values. Pointer kernelparameters = Pointer.to( Pointer.to(new int[]{numelements}), Pointer.to(deviceInputA), Pointer.to(deviceInputB), Pointer.to(deviceOutput) );

80 Typowy przebieg przetwarzania 3. Wykonanie obliczeń // Call the kernel function. int blocksizex = 256; int gridsizex = (int) Math.ceil((double)numElements / blocksizex); culaunchkernel(function, gridsizex, 1, 1, // Grid dimension blocksizex, 1, 1, // Block dimension 0, null, // Shared memory size and stream kernelparameters, null // Kernel- and extra parameters ); cuctxsynchronize();

81 Typowy przebieg przetwarzania 4. Pobranie wyników obliczeń // Allocate host output memory and copy the device output // to the host. float hostoutput[] = new float[numelements]; cumemcpydtoh(pointer.to(hostoutput), deviceoutput, numelements * Sizeof.FLOAT);

82 Typowy przebieg przetwarzania 5. Dealokacja pamięci // Clean up. cumemfree(deviceinputa); cumemfree(deviceinputb); cumemfree(deviceoutput);

83 JCuda zmapowane biblioteki Biblioteki: Core mapowanie podstawowych funkcji zarówno Cuda Driver API jak i Cuda Runtime API JcuFFT biblioteka FFT JcuBLAS biblioteka operacji na macierzach JcuRAND biblioteka liczb losowych JcuDPP biblioteka operacji równoległych (scan, suma, redukcja) JcuSPARSE biblioteka operacji na macierzach rzadkich

84 Maven challenge Obecnie pracuję nad integracją biblioteki z mavenem. Niestety biblioteki będą zależne od architektury co psuje jedną z idei maven'a. CMake...?

85 Pytania?

86 Materiały JCUDA CUDA -> NVIDIA CUDA Programming Guide

87 Materiały Repozytorium svn://smijran.is-a-geek.org/jcuda login: visitor pass: access#52832 Godz. 8-24

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

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Mariusz Uchroński 3 grudnia 2010 Plan prezentacji 1. Wprowadzenie 2.

Bardziej szczegółowo

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

Programowanie procesorów graficznych NVIDIA (rdzenie CUDA) Wykład nr 1 Programowanie procesorów graficznych NVIDIA (rdzenie CUDA) Wykład nr 1 Wprowadzenie Procesory graficzne GPU (Graphics Processing Units) stosowane są w kartach graficznych do przetwarzania grafiki komputerowej

Bardziej szczegółowo

Programowanie procesorów graficznych GPGPU

Programowanie procesorów graficznych GPGPU Programowanie procesorów graficznych GPGPU 1 GPGPU Historia: lata 80 te popularyzacja systemów i programów z graficznym interfejsem specjalistyczne układy do przetwarzania grafiki 2D lata 90 te standaryzacja

Bardziej szczegółowo

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

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu inż. Daniel Solarz Wydział Fizyki i Informatyki Stosowanej AGH 1. Cel projektu. Celem projektu było napisanie wtyczki

Bardziej szczegółowo

Programowanie 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 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ółowo

CUDA obliczenia ogólnego przeznaczenia na mocno zrównoleglonym sprzęcie. W prezentacji wykorzystano materiały firmy NVIDIA (http://www.nvidia.

CUDA obliczenia ogólnego przeznaczenia na mocno zrównoleglonym sprzęcie. W prezentacji wykorzystano materiały firmy NVIDIA (http://www.nvidia. CUDA obliczenia ogólnego przeznaczenia na mocno zrównoleglonym sprzęcie W prezentacji wykorzystano materiały firmy NVIDIA (http://www.nvidia.com) 1 Architektura karty graficznej W porównaniu z tradycyjnym

Bardziej szczegółowo

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

CUDA część 1. platforma GPGPU w obliczeniach naukowych. Maciej Matyka CUDA część 1 platforma GPGPU w obliczeniach naukowych Maciej Matyka Bariery sprzętowe (procesory) ok na. 1 10 00 la raz t y Gdzie jesteśmy? a ok. 2 razy n 10 lat (ZK) Rozwój 1985-2004 i dalej? O roku ów

Bardziej szczegółowo

Programowanie z wykorzystaniem technologii CUDA i OpenCL Wykład 1

Programowanie z wykorzystaniem technologii CUDA i OpenCL Wykład 1 Programowanie z wykorzystaniem technologii CUDA i OpenCL Wykład 1 Organizacja przedmiotu Dr inż. Robert Banasiak Dr inż. Paweł Kapusta 1 2 Nasze kompetencje R n D Tomografia 3D To nie tylko statyczny obraz!

Bardziej szczegółowo

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

Architektury komputerów Architektury i wydajność. Tomasz Dziubich Architektury komputerów Architektury i wydajność Tomasz Dziubich Przetwarzanie potokowe Przetwarzanie sekwencyjne Przetwarzanie potokowe Architektura superpotokowa W przetwarzaniu potokowym podczas niektórych

Bardziej szczegółowo

Moc płynąca z kart graficznych

Moc płynąca z kart graficznych Moc płynąca z kart graficznych Cuda za darmo! Czyli programowanie generalnego przeznaczenia na kartach graficznych (GPGPU) 22 października 2013 Paweł Napieracz /20 Poruszane aspekty Przetwarzanie równoległe

Bardziej szczegółowo

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

Podsystem graficzny. W skład podsystemu graficznego wchodzą: karta graficzna monitor Plan wykładu 1. Pojęcie podsystemu graficznego i karty graficznej 2. Typy kart graficznych 3. Budowa karty graficznej: procesor graficzny (GPU), pamięć podręczna RAM, konwerter cyfrowo-analogowy (DAC),

Bardziej szczegółowo

Procesory kart graficznych i CUDA wer 1.2 6.05.2015

Procesory kart graficznych i CUDA wer 1.2 6.05.2015 wer 1.2 6.05.2015 Litreratura: CUDA textbook by David Kirk from NVIDIA and Prof. Wen-mei Hwu from UIUC. CUDA w przykładach. Wprowadzenie do ogólnego programowania procesorów GP, J.Sanders, E.Kandrot, Helion

Bardziej szczegółowo

Programowanie 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 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ółowo

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

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz

Bardziej szczegółowo

Zastosowanie technologii nvidia CUDA do zrównoleglenia algorytmu genetycznego dla problemu komiwojażera

Zastosowanie technologii nvidia CUDA do zrównoleglenia algorytmu genetycznego dla problemu komiwojażera Zastosowanie technologii nvidia CUDA do zrównoleglenia algorytmu genetycznego dla problemu komiwojażera Adam Hrazdil Wydział Inżynierii Mechanicznej i Informatyki Kierunek informatyka, Rok V hrazdil@op.pl

Bardziej szczegółowo

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

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz

Bardziej szczegółowo

Organizacja pamięci w procesorach graficznych

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

Bardziej szczegółowo

Praca dyplomowa magisterska

Praca dyplomowa magisterska Praca dyplomowa magisterska Implementacja algorytmów filtracji adaptacyjnej o strukturze transwersalnej na platformie CUDA Dyplomant: Jakub Kołakowski Opiekun pracy: dr inż. Michał Meller Plan prezentacji

Bardziej szczegółowo

Transformacja Fouriera i biblioteka CUFFT 3.0

Transformacja Fouriera i biblioteka CUFFT 3.0 Transformacja Fouriera i biblioteka CUFFT 3.0 Procesory Graficzne w Zastosowaniach Obliczeniowych Karol Opara Warszawa, 14 kwietnia 2010 Transformacja Fouriera Definicje i Intuicje Transformacja z dziedziny

Bardziej szczegółowo

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

Programowanie współbieżne Wprowadzenie do programowania GPU. Rafał Skinderowicz Programowanie współbieżne Wprowadzenie do programowania GPU Rafał Skinderowicz Literatura Sanders J., Kandrot E., CUDA w przykładach, Helion. Czech Z., Wprowadzenie do obliczeń równoległych, PWN Ben-Ari

Bardziej szczegółowo

Julia 4D - raytracing

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

Bardziej szczegółowo

4 NVIDIA CUDA jako znakomita platforma do zrównoleglenia obliczeń

4 NVIDIA CUDA jako znakomita platforma do zrównoleglenia obliczeń Spis treści Spis treści i 1 Wstęp 1 1.1 Wprowadzenie.......................... 1 1.2 Dostępne technologie, pozwalające zrównoleglić obliczenia na kartach graficznych....................... 1 1.2.1 Open

Bardziej szczegółowo

CUDA ćwiczenia praktyczne

CUDA ćwiczenia praktyczne CUDA ćwiczenia praktyczne 7 kwietnia 2011, Poznań Marek Błażewicz, marqs@man.poznan.pl Michał Kierzynka, michal.kierzynka@man.poznan.pl Agenda Wprowadzenie do narzędzi umożliwiających tworzenie programów

Bardziej szczegółowo

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

Autor: 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ółowo

Architektura komputerów

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

Bardziej szczegółowo

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

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 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ółowo

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

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Wydajność obliczeń Dla wielu programów wydajność obliczeń można traktować jako wydajność pobierania z pamięci

Bardziej szczegółowo

Dodatek A. CUDA. 1 Stosowany jest w tym kontekście skrót GPCPU (od ang. general-purpose computing on graphics processing units).

Dodatek A. CUDA. 1 Stosowany jest w tym kontekście skrót GPCPU (od ang. general-purpose computing on graphics processing units). Dodatek A. CUDA Trzy ostatnie rozdziały książki poświęcone są zagadnieniom związanym z programowaniem równoległym. Skłoniła nas do tego wszechobecność maszyn wieloprocesorowych. Nawet niektóre notebooki

Bardziej szczegółowo

Obliczenia Wysokiej Wydajności

Obliczenia Wysokiej Wydajności Obliczenia wysokiej wydajności 1 Wydajność obliczeń Wydajność jest (obok poprawności, niezawodności, bezpieczeństwa, ergonomiczności i łatwości stosowania i pielęgnacji) jedną z najważniejszych charakterystyk

Bardziej szczegółowo

OpenGL - Open Graphics Library. Programowanie grafiki komputerowej. OpenGL 3.0. OpenGL - Architektura (1)

OpenGL - Open Graphics Library. Programowanie grafiki komputerowej. OpenGL 3.0. OpenGL - Architektura (1) OpenGL - Open Graphics Library Programowanie grafiki komputerowej Rados$aw Mantiuk Wydzia$ Informatyki Zachodniopomorski Uniwersytet Technologiczny! OpenGL: architektura systemu do programowania grafiki

Bardziej szczegółowo

Karty graficzne możemy podzielić na:

Karty graficzne możemy podzielić na: KARTY GRAFICZNE Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest odbiór i przetwarzanie otrzymywanych od komputera

Bardziej szczegółowo

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

Załą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ółowo

CUDA PROGRAMOWANIE PIERWSZE PROSTE PRZYKŁADY RÓWNOLEGŁE. Michał Bieńkowski Katarzyna Lewenda

CUDA PROGRAMOWANIE PIERWSZE PROSTE PRZYKŁADY RÓWNOLEGŁE. Michał Bieńkowski Katarzyna Lewenda PROGRAMOWANIE RÓWNOLEGŁE PIERWSZE PROSTE PRZYKŁADY Michał Bieńkowski Katarzyna Lewenda Programowanie równoległe Dodawanie wektorów SPIS TREŚCI Fraktale Podsumowanie Ćwiczenia praktyczne Czym jest? PROGRAMOWANIE

Bardziej szczegółowo

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. 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

Bardziej szczegółowo

Architektura komputerów

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

Bardziej szczegółowo

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

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Motywacja - memory wall Krzysztof Banaś, Obliczenia wysokiej wydajności. 2 Organizacja pamięci Organizacja pamięci:

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Procesory. Schemat budowy procesora

Procesory. Schemat budowy procesora Procesory Procesor jednostka centralna (CPU Central Processing Unit) to sekwencyjne urządzenie cyfrowe którego zadaniem jest wykonywanie rozkazów i sterowanie pracą wszystkich pozostałych bloków systemu

Bardziej szczegółowo

Jak ujarzmić hydrę czyli programowanie równoległe w Javie. dr hab. Piotr Bała, prof. UW ICM Uniwersytet Warszawski

Jak ujarzmić hydrę czyli programowanie równoległe w Javie. dr hab. Piotr Bała, prof. UW ICM Uniwersytet Warszawski Jak ujarzmić hydrę czyli programowanie równoległe w Javie dr hab. Piotr Bała, prof. UW ICM Uniwersytet Warszawski Prawo Moore a Ekonomicznie optymalna liczba tranzystorów w układzie scalonym zwiększa się

Bardziej szczegółowo

CZYM JEST KARTA GRAFICZNA.

CZYM JEST KARTA GRAFICZNA. Karty Graficzne CZYM JEST KARTA GRAFICZNA. Karta graficzna jest kartą rozszerzeń, umiejscawianą na płycie głównej poprzez gniazdo PCI lub AGP, która odpowiada w komputerze za obraz wyświetlany przez monitor.

Bardziej szczegółowo

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

Podręcznik użytkownika PCI-x Karta przechwytująca 4xHDMI Podręcznik użytkownika PCI-x Karta przechwytująca 4xHDMI Spis treści 1. Specyfikacja... 3 1.1 Cechy:... 3 1.2 Rozdzielczość wideo na wejściu :... 3 1.3 Zawartość opakowania... 3 1.4 Wymagania systemowe...

Bardziej szczegółowo

Dlaczego wiedza na temat architektury sprzętowej, systemu operacyjnego i kompilatora przydaje się w pisaniu wydajnych aplikacji

Dlaczego wiedza na temat architektury sprzętowej, systemu operacyjnego i kompilatora przydaje się w pisaniu wydajnych aplikacji 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 Coś o mnie Prowadzę

Bardziej szczegółowo

Plan. krótkie opisy modułów. 1 Uwagi na temat wydajności CPython a. 2 Podstawowe techniki poprawiające wydajność obliczeniową

Plan. krótkie opisy modułów. 1 Uwagi na temat wydajności CPython a. 2 Podstawowe techniki poprawiające wydajność obliczeniową Plan 1 Uwagi na temat wydajności CPython a 2 Podstawowe techniki poprawiające wydajność obliczeniową 3 Podstawowe techniki poprawiające zużycie pamięci krótkie opisy modułów 1 array - jak oszczędzić na

Bardziej szczegółowo

Politechnika Rzeszowska

Politechnika Rzeszowska Politechnika Rzeszowska i m. I g n a c e g o Ł u k a s i e w i c z a Wydział Elektrotechniki i Informatyki Katedra Informatyki i Automatyki Bogusław Rymut ŚLEDZENIE OBIEKTÓW PRZY WYKORZYSTANIU GPU Praca

Bardziej szczegółowo

Implementacja modelu FHP w technologii NVIDIA CUDA

Implementacja modelu FHP w technologii NVIDIA CUDA Uniwersytet Wrocławski Wydział Fizyki i Astronomii Instytut Fizyki Teoretycznej Sebastian Szkoda Implementacja modelu FHP w technologii NVIDIA CUDA Opiekun: dr hab. Zbigniew Koza, prof. UWr. 2 Streszczenie

Bardziej szczegółowo

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

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

Bardziej szczegółowo

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24 Wymagania proceduralnych języków wysokiego poziomu ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH modele programowe procesorów ASK MP.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad.

Bardziej szczegółowo

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

Spis 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ółowo

Akceleracja obliczeń algebry liniowej z wykorzystaniem masywnie równoległych, wielordzeniowych procesorów GPU Świerczewski Ł.

Akceleracja obliczeń algebry liniowej z wykorzystaniem masywnie równoległych, wielordzeniowych procesorów GPU Świerczewski Ł. Akceleracja obliczeń algebry liniowej z wykorzystaniem masywnie równoległych, wielordzeniowych procesorów GPU Świerczewski Ł. Wprowadzenie do koncepcji budowy akceleratorów graficznych Pierwsze procesory

Bardziej szczegółowo

Nowoczesne technologie przetwarzania informacji

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

Bardziej szczegółowo

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

Klasyfikacja systemów komputerowych. Architektura von Neumanna. dr inż. Jarosław Forenc Rok akademicki 2010/2011, Wykład nr 6 2/56 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 2010/2011

Bardziej szczegółowo

NOWE TRENDY ROZWOJU MIKROPROCESORÓW

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

Bardziej szczegółowo

Wykład 6. Mikrokontrolery z rdzeniem ARM

Wykład 6. Mikrokontrolery z rdzeniem ARM Wykład 6 Mikrokontrolery z rdzeniem ARM Plan wykładu Cortex-A9 c.d. Mikrokontrolery firmy ST Mikrokontrolery firmy NXP Mikrokontrolery firmy AnalogDevices Mikrokontrolery firmy Freescale Mikrokontrolery

Bardziej szczegółowo

Hybrydowy system obliczeniowy z akceleratorami GPU

Hybrydowy system obliczeniowy z akceleratorami GPU Przemysław Stpiczyński Hybrydowy system obliczeniowy z akceleratorami GPU [A hybrid computing system with GPU accelerators] Wstęp Konstrukcja komputerów oraz klastrów komputerowych o dużej mocy obliczeniowej

Bardziej szczegółowo

Bajt (Byte) - najmniejsza adresowalna jednostka informacji pamięci komputerowej, z bitów. Oznaczana jest literą B.

Bajt (Byte) - najmniejsza adresowalna jednostka informacji pamięci komputerowej, z bitów. Oznaczana jest literą B. Jednostki informacji Bajt (Byte) - najmniejsza adresowalna jednostka informacji pamięci komputerowej, składająca się z bitów. Oznaczana jest literą B. 1 kb = 1024 B (kb - kilobajt) 1 MB = 1024 kb (MB -

Bardziej szczegółowo

Akademia 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. 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ółowo

Grafika komputerowa i wizualizacja

Grafika komputerowa i wizualizacja Grafika komputerowa i wizualizacja Radosław Mantiuk ( rmantiuk@wi.zut.edu.pl, p. 315 WI2) http://rmantiuk.zut.edu.pl Katedra Systemów Multimedialnych Wydział Informatyki, Zachodniopomorski Uniwersytet

Bardziej szczegółowo

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

GRAFIKA 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ółowo

Przyspieszanie sprzętowe

Przyspieszanie sprzętowe 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ółowo

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

Mo liwoœæ zastosowania GPU do przetwarzania obrazów dla celów analizy sceny** AUTOMATYKA 2011 Tom 15 Zeszyt 3 Magdalena Szymczyk*, Piotr Szymczyk* Mo liwoœæ zastosowania GPU do przetwarzania obrazów dla celów analizy sceny** 1. Wprowadzenie Aplikacje stosowane do przetwarzania obrazu

Bardziej szczegółowo

Dla każdej operacji łącznie tworzenia danych i zapisu ich do pliku przeprowadzić pomiar czasu wykonania polecenia. Wyniki przedstawić w tabelce.

Dla każdej operacji łącznie tworzenia danych i zapisu ich do pliku przeprowadzić pomiar czasu wykonania polecenia. Wyniki przedstawić w tabelce. Przygotować program tworzący tablicę dwuwymiarową zawierającą zestawy 10 2, 10 4, 10 6 liczb losowych zmiennoprzecinkowych. Korzystając z funkcji bibliotecznych uporządkować zawartość każdego (a) wiersza

Bardziej szczegółowo

Z parametrów procesora zamieszczonego na zdjęciu powyżej wynika, że jest on taktowany z częstotliwością a) 1,86 GHz b) 540 MHz c) 533 MHz d) 1 GHz

Z parametrów procesora zamieszczonego na zdjęciu powyżej wynika, że jest on taktowany z częstotliwością a) 1,86 GHz b) 540 MHz c) 533 MHz d) 1 GHz Test z przedmiotu Urządzenia techniki komputerowej semestr 1 Zadanie 1 Liczba 200 zastosowana w symbolu opisującym pamięć DDR-200 oznacza a) Efektywną częstotliwość, z jaka pamięć może pracować b) Przepustowość

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 13 Jan Kazimirski 1 KOMPUTERY RÓWNOLEGŁE 2 Klasyfikacja systemów komputerowych SISD Single Instruction, Single Data stream SIMD Single Instruction, Multiple Data stream MISD

Bardziej szczegółowo

Metody Metody, parametry, zwracanie wartości

Metody Metody, parametry, zwracanie wartości Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca

Bardziej szczegółowo

Grafika komputerowa. Grafika komputerowa. Grafika komputerowa

Grafika komputerowa. Grafika komputerowa. Grafika komputerowa OpenGL - Koncepcja i architektura Aplikacja odwo!uje si" poprzez funkcje API OpenGL bezpo#rednio do karty graficznej (z pomini"ciem systemu operacyjnego). Programowanie grafiki komputerowej Rados!aw Mantiuk

Bardziej szczegółowo

Dane bezpieczne w chmurze

Dane bezpieczne w chmurze Dane bezpieczne w chmurze Grzegorz Śladowski Dyrektor Działu Technicznego S4E S.A. Agenda Chmura definicja, zasady działania, rodzaje Cechy bezpiecznej chmury Architektura Chmura - definicja Model przetwarzania

Bardziej szczegółowo

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować

Bardziej szczegółowo

Zaawansowane systemy programowania grafiki. Wprowadzenie. Podstawy OpenGL

Zaawansowane systemy programowania grafiki. Wprowadzenie. Podstawy OpenGL Zaawansowane systemy programowania grafiki. Wprowadzenie. Podstawy OpenGL Aleksander Denisiuk Uniwersytet Warmińsko-Mazurski Olsztyn, ul. Słoneczna 54 denisjuk@matman.uwm.edu.pl 7 października 2014 1 /

Bardziej szczegółowo

SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA CZĘŚĆ I

SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA CZĘŚĆ I Zp 130-64/15 Załącznik Nr 1 do SIWZ (Załącznik Nr 1 do umowy) SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA CZĘŚĆ I 1 1. Rozbudowa istniejącej platformy sprzętowej systemu teleinformatycznego poprzez dostawę

Bardziej szczegółowo

DYNAMICZNE PRZYDZIELANIE PAMIECI

DYNAMICZNE PRZYDZIELANIE PAMIECI DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne

Bardziej szczegółowo

Tworzenie 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 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ółowo

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych

Bardziej szczegółowo

HPC na biurku. Wojciech De bski

HPC na biurku. Wojciech De bski na biurku Wojciech De bski 22.01.2015 - co to jest? High Performance Computing most generally refers to the practice of aggregating computing power in a way that delivers much higher performance than one

Bardziej szczegółowo

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

GRAFIKA 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ółowo

Modelowanie numeryczne w fizyce atmosfery Ćwiczenia 3

Modelowanie numeryczne w fizyce atmosfery Ćwiczenia 3 Modelowanie numeryczne w fizyce atmosfery Sylwester Arabas (ćwiczenia do wykładu dr. hab. inż. Lecha Łobockiego) Instytut Geofizyki, Wydział Fizyki Uniwersytetu Warszawskiego 3. listopada 2011 r. Schemat

Bardziej szczegółowo

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Wprowadzenie do systemów wieloprocesorowych

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Wprowadzenie do systemów wieloprocesorowych COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface Wprowadzenie do systemów wieloprocesorowych Wstęp Do tej pory mówiliśmy głównie o systemach z jednym procesorem Coraz trudniej wycisnąć

Bardziej szczegółowo

Od wielkoskalowych obliczeń równoległych do innowacyjnej diagnostyki w kardiologii.

Od wielkoskalowych obliczeń równoległych do innowacyjnej diagnostyki w kardiologii. Od wielkoskalowych obliczeń równoległych do innowacyjnej diagnostyki w kardiologii. Opiekun naukowy: dr hab. prof. UŚ Marcin Kostur Celem tych badań jest zastosowanie symulacji układu krwionośnego do diagnostyki

Bardziej szczegółowo

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

Karty graficzne: budowa, zasada działania, standardy, parametry, dodatkowe funkcje 018 URZĄDZENIA TECHNIKI KOMPUTEROWEJ Karty graficzne: budowa, zasada działania, standardy, parametry, dodatkowe funkcje 1 UTK Treść niniejszej prezentacji oparto na artykułach pisma Komputer Świat Ekspert

Bardziej szczegółowo

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Grzegorz 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ółowo

PRZYKŁADOWE PYTANIA NA PRÓBNY EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE ZAWODOWE

PRZYKŁADOWE PYTANIA NA PRÓBNY EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE ZAWODOWE PRZYKŁADOWE PYTANIA NA PRÓBNY EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE ZAWODOWE Zawód: technik informatyk symbol cyfrowy: 312[01] opracował: mgr inż. Paweł Lalicki 1. Jaką kartę przedstawia poniższy rysunek?

Bardziej szczegółowo

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

PROPOZYCJE KONFIGURACJI ZESTAWÓW KOMPUTERÓW STACJONARNYCH OPISANYCH ZGODNIE Z REKOMENDACJAMI UZP PROPOZYCJE KONFIGURACJI ZESTAWÓW KOMPUTERÓW STACJONARNYCH OPISANYCH ZGODNIE Z REKOMENDACJAMI UZP Do opisów zestawów komputerów stacjonarnych zostały zastosowane testy rekomendowane przez Urząd Zamówień

Bardziej szczegółowo

Surveillance Client. Program kliencki CMS z IP Search/Finder Toolem. Silas Mariusz MERX Nawojowska 88B, 33 300 Nowy Sącz

Surveillance Client. Program kliencki CMS z IP Search/Finder Toolem. Silas Mariusz MERX Nawojowska 88B, 33 300 Nowy Sącz Surveillance Client Program kliencki CMS z IP Search/Finder Toolem Silas Mariusz MERX Nawojowska 88B, 33 300 Nowy Sącz CMS: MERX Surveillance Client Program kliencki do obsługi rejestratorów MERX DVRMX

Bardziej szczegółowo

Materiały dodatkowe do podręcznika Urządzenia techniki komputerowej do rozdziału 5. Płyta główna i jej składniki. Test nr 5

Materiały dodatkowe do podręcznika Urządzenia techniki komputerowej do rozdziału 5. Płyta główna i jej składniki. Test nr 5 Materiały dodatkowe do podręcznika Urządzenia techniki komputerowej do rozdziału 5. Płyta główna i jej składniki Test nr 5 Test zawiera 63 zadania związane z treścią rozdziału 5. Jest to test zamknięty,

Bardziej szczegółowo

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski Informatyka- wykład Podstawy programowania w Pythonie dr Marcin Ziółkowski Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie 23 listopada 2015 r. JĘZYK PYTHON Język Python jest

Bardziej szczegółowo

Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne

Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne dr inż. Marcin Szlenk Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych m.szlenk@elka.pw.edu.pl Paradygmaty

Bardziej szczegółowo

Programowanie równoległe Wprowadzenie do programowania GPU. Rafał Skinderowicz

Programowanie równoległe Wprowadzenie do programowania GPU. Rafał Skinderowicz Programowanie równoległe Wprowadzenie do programowania GPU Rafał Skinderowicz CPU Fetch/ Decode ALU (Execute) Data cache (a big one) Execution Context Out-of-order control logic Fancy branch predictor

Bardziej szczegółowo

CENA BRUTTO ADAXPC ADAX ALFA VBS1400 1653,63 ADAXPC ADAX ALFA VBX7750 1899,87 ADAXPC ADAX ALFA W7PX2400 1926,45

CENA BRUTTO ADAXPC ADAX ALFA VBS1400 1653,63 ADAXPC ADAX ALFA VBX7750 1899,87 ADAXPC ADAX ALFA W7PX2400 1926,45 NAZWA ADAXPC ADAX ALFA VBS1400 OPIS Opis ogólny: Komputer ADAX ALFA VBS1400 Zainstalowany model procesora: AMD Sempron 140 System operacyjny: MS Windows XP Professional PL (downgrade, licencja MS Windows

Bardziej szczegółowo

Programowanie procesorów graficznych GPU

Programowanie 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ółowo

Nowinkach technologicznych procesorów

Nowinkach technologicznych procesorów Elbląg 22.04.2010 Nowinkach technologicznych procesorów Przygotował: Radosław Kubryń VIII semestr PDBiOU 1 Spis treści 1. Wstęp 2. Intel Hyper-Threading 3. Enhanced Intel Speed Technology 4. Intel HD Graphics

Bardziej szczegółowo

Przyspiesz swój biznes i obniż koszty dzięki IBM FlashSystems. Artur Król Artur.Krol@pl.ibm.com Senior Storage Sales Consultant

Przyspiesz swój biznes i obniż koszty dzięki IBM FlashSystems. Artur Król Artur.Krol@pl.ibm.com Senior Storage Sales Consultant Przyspiesz swój biznes i obniż koszty dzięki IBM FlashSystems Artur Król Artur.Krol@pl.ibm.com Senior Storage Sales Consultant Agenda Co z tymi danymi? Krótko o sposobach na efektywne gromadzenie, przechowywanie

Bardziej szczegółowo

która metoda jest najlepsza

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

Bardziej szczegółowo

SPECYFIKACJA TECHNICZNA (minimalne parametry techniczne)

SPECYFIKACJA TECHNICZNA (minimalne parametry techniczne) Załącznik Nr 1A SPECYFIKACJA TECHNICZNA (minimalne parametry techniczne) I. Urządzenie wielofunkcyjne 1 szt. Cechy produktu Ogólne Szybkość urządzenia, tryb cz.-b. w str./min (A4) Szybkość urządzenia,

Bardziej szczegółowo

Program Obliczeń Wielkich Wyzwań Nauki i Techniki (POWIEW)

Program Obliczeń Wielkich Wyzwań Nauki i Techniki (POWIEW) Program Obliczeń Wielkich Wyzwań Nauki i Techniki (POWIEW) Maciej Cytowski, Maciej Filocha, Maciej E. Marchwiany, Maciej Szpindler Interdyscyplinarne Centrum Modelowania Matematycznego i Komputerowego

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY 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ółowo

Opis za pomocą wymagań funkcjonalnych. Metody określania wydajności komputerów osobistych. Tomasz Hodakowski Intel Warszawa, 11/12/2007

Opis za pomocą wymagań funkcjonalnych. Metody określania wydajności komputerów osobistych. Tomasz Hodakowski Intel Warszawa, 11/12/2007 Opis za pomocą wymagań funkcjonalnych Metody określania wydajności komputerów osobistych Tomasz Hodakowski Intel Warszawa, 11/12/2007 Plan prezentacji 1. Wymagania funkcjonalne właściwości niezwiązane

Bardziej szczegółowo

Wykorzystywanie parsera DOM w programach Java i PL/SQL

Wykorzystywanie parsera DOM w programach Java i PL/SQL Wykorzystywanie parsera DOM w programach Java i PL/SQL Maciej Zakrzewicz mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/ Parser DOM Aplikacja DOM API Parser DOM Dokument XML Drzewo DOM Parser

Bardziej szczegółowo

Szkolenia specjalistyczne

Szkolenia specjalistyczne Szkolenia specjalistyczne AGENDA Programowanie mikrokontrolerów w języku C na przykładzie STM32F103ZE z rdzeniem Cortex-M3 GRYFTEC Embedded Systems ul. Niedziałkowskiego 24 71-410 Szczecin info@gryftec.com

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

Bardziej szczegółowo

Test dysku Intel SSD DC S3500 480GB. Wpisany przez Mateusz Ponikowski Wtorek, 22 Październik 2013 16:22

Test 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ółowo