PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

Podobne dokumenty
PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

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

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

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

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Larrabee GPGPU. Zastosowanie, wydajność i porównanie z innymi układami

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

Tom II: SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA (SOPZ): Przedmiotem zamówienia jest dostawa sprzętu infrastruktury serwerowej i sieciowej.

Architektura komputerów

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

Wykorzystanie architektury Intel MIC w obliczeniach typu stencil

Pamięci. Pamięci DDR DIMM SDR SDRAM

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

Procesory. Schemat budowy procesora

AMD Ryzen recenzja procesora. Wpisany przez Mateusz Ponikowski Piątek, 11 Październik :47

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

Instruction Set Instruction Set Extensions Embedded Options Available. Recommended Customer Price TRAY: $999.00

Wysokowydajna implementacja kodów nadmiarowych typu "erasure codes" z wykorzystaniem architektur wielordzeniowych

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

Bibliografia: pl.wikipedia.org Historia i rodzaje procesorów w firmy Intel

Wersje desktopowe (Kaby Lake-S)

1. Wprowadzenie Opis sytuacyjny Specyfikacja techniczna... 3

Komputer VIPER i x4,2ghz 8GB GTX 1050TI 4GB 1TB USB 3.0

OPIS PRZEDMIOTU ZAMÓWIENIA SPECYFIKACJA SPRZĘTU KOMPUTEROWEGO

Tesla. Architektura Fermi

Bibliografia: pl.wikipedia.org Historia i rodzaje procesorów w firmy Intel

Wydajność programów sekwencyjnych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Budowa Mikrokomputera

SYSTEMY OPERACYJNE WYKŁAD 1 INTEGRACJA ZE SPRZĘTEM

Budowa pamięci RAM Parametry: tcl, trcd, trp, tras, tcr występują w specyfikacjach poszczególnych pamięci DRAM. Czym mniejsze są wartości tych

Programowanie z wykorzystaniem technologii CUDA i OpenCL Wykład 1

Maciej Sypniewski. lato 2014, Politechnika Warszawska, Wydział Elektroniki i Technik Informacyjnych

i3: internet - infrastruktury - innowacje

DOTACJE NA INNOWACJE O G Ł O S Z E N I E

Nowinki technologiczne procesorów

Artur Janus GNIAZDA PROCESORÓW INTEL

OFERTA. Załącznik nr 1 do zapytania ofertowego: Wzór oferty. Dane oferenta. Pełna nazwa oferenta: Adres:. REGON:.. Tel./fax.: .

RODZAJE PAMIĘCI RAM. Cz. 1

Opis przedmiotu zamówienia. Dział II CZĘŚĆ 1 DVD

Szczegółowy opis przedmiotu zamówienia na: Dostawa poleasingowych komputerów wraz z oprogramowaniem nr postępowania KE/ 01/ 12/ 18

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

Dydaktyka Informatyki budowa i zasady działania komputera

MMX i SSE. Zbigniew Koza. Wydział Fizyki i Astronomii Uniwersytet Wrocławski. Wrocław, 10 marca Zbigniew Koza (WFiA UWr) MMX i SSE 1 / 16

Pytania i odpowiedzi

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Projekt Pierwszy krok współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Nowinki technologiczne procesorów

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

PAMIĘCI SYNCHRONICZNE

Architektura komputerów

2,4 razy. 3 razy. 2,3 razy EKSTREMALNA MEGAZADANIOWOŚĆ NAWET NAWET NAWET

Programowanie procesorów graficznych GPGPU

LAN 10/100/1000 Mbps Wi-Fi a/b/g/n/ac Moduł Bluetooth

KATALOG WIDEOSERWERÓW

Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach

PYTANIA BUDOWA KOMPUTERA kartkówki i quizy

Funkcje procesora: kopiowanie danych z pamięci do rejestru z rejestru do pamięci z pamięci do pamięci (niektóre procesory)

Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.

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

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

Budowa i zasada działania komputera. dr Artur Bartoszewski

Załącznik nr 6 Uszczegółowienie przedmiotu zamówienia. Pakiet 1 (Warszawa) Tabela 1. Ilość 1 sztuka

Julia 4D - raytracing

GNIAZDA PROCESORÓW AMD

Zegar - układ wysyłający regularne impulsy o stałej szerokości (J) i częstotliwości (f)

Serwer biznesowy o podwójnym zastosowaniu moc obliczeniowa i pamięć masowa w jednej obudowie

Opis przedmiotu zamówienia. Dział II DVD

9. Dostarczenie komponentów do upgradu komputerów renderujących zgodnie z wymaganiami opisanymi w punkcie 1.9

System obliczeniowy laboratorium oraz. mnożenia macierzy

Wykład 6. Mikrokontrolery z rdzeniem ARM

MAGISTRALE ZEWNĘTRZNE, gniazda kart rozszerzeń, w istotnym stopniu wpływają na

NOTEBOOK - 6 sztuk. PROCESOR Intel Core i5 generacji 7 powyżej 2.5 GHz (tryb Turbo powyżej 3.0 GHz)

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

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

Dotyczy: Procedury udzielenia zamówienia publicznego w trybie przetargu nieograniczonego na Sprzęt komputerowy i oprogramowanie.

Zestaw układów Chipset Intel C600. Taktowanie procesora. Liczba zainstalowanych procesorów. Maksymalna liczba procesorów. Zapytanie ofertowe

Nowinkach technologicznych procesorów

Wybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola

Architektura systemów komputerowych. dr Artur Bartoszewski

1. Serwer. 2. Komputer desktop 9szt. Załącznik nr 1 do SIWZ

Składowanie, archiwizacja i obliczenia modelowe dla monitorowania środowiska Morza Bałtyckiego

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej. Instrukcja do zajęć laboratoryjnych z przedmiotu:

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

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

Podstawowe parametry płyt głównych

Przykłady praktycznych rozwiązań architektur systemów obliczeniowych AMD, Intel, NUMA, SMP

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Wykład 2. Mikrokontrolery z rdzeniami ARM

Symulacje oddziaływania grawitacyjnego wielu ciał na kompute

MESco. Testy skalowalności obliczeń mechanicznych w oparciu o licencje HPC oraz kartę GPU nvidia Tesla c2075. Stanisław Wowra

Programowanie aplikacji równoległych i rozproszonych

1. Notebook 14. Producent: ASUS Model: ASUS VivoBook S14 S410. Parametr Parametr graniczny Parametr oferowany - opisać

Obliczenia Wysokiej Wydajności

OPIS PRZEDMIOTU ZAMÓWIENIA

Załącznik nr 6- Uszczegółowienie przedmiotu zamówienia. Pakiet 1 (Warszawa ) Tabela 1. Ilość 1 sztuka

ZAPYTANIE OFERTOWE 6/2014

WIDEOS O ER E WER E ÓW

Płyty główne rodzaje. 1. Płyta główna w formacie AT

Parametr Parametr graniczny Parametr oferowany - opisać

Transkrypt:

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 Wyznaczanie teoretycznej wydajności procesora Wyznaczanie przepustowości pamięci Zarządzanie częstotliwością procesora CPU Roofline model

3 W ostatnich latach zauważamy: Zredukowany wzrost częstotliwości i poboru mocy Zwiększony wzrost liczby rdzeni i tranzystorów

4 1980: Brak pamięci podręcznej w CPU 1989: Pierwszy procesor Intela zawierający pamięć podręczna: 80486 1995: 2-poziomowa pamięć podręczna: Pentium Pro 2003: 3-poziomowa pamięć podręczna: Pentium M 2013: 4-poziomowa pamięć podręczna Intel Haswell i wyższe modele ze zintegrowaną pamięcią układu graficznego

5 Kaby Lake to nazwa kodowa używana przez firmę Intel dla mikroarchitektury, która pojawiła się 30 sierpnia 2016 Tak jak jej poprzednik Skylake, Kaby Lake jest produkowana w technologii 14 nanometrów Wykorzystano tutaj proces 14FF+, który w stosunku do klasycznego procesu 14 nm posiada nieco więcej przestrzeni pomiędzy tranzystorami, przez co posiadają one więcej miejsca To z kolei daje możliwość lepszego odprowadzania ciepła, możliwość zastosowania wyższej częstotliwości taktowania (nominalnej oraz turbo) i zapewnienia wyższej wydajności procesora

6 Liczba rdzeni: 2-4 Częstotliwość: 2,7GHz 4,5GHz W zależności od modelu i liczby używanych rdzeni wspierane są różne maksymalne częstotliwości pracy Pamięć podręczna L1-32 KiB/rdzeń L2-256 KiB/rdzeń L3-2 MiB/rdzeń wspólny dla wszystkich rdzeni Wbudowane GPU modele serwerowe (Xeon) nie posiadają zintegrowanej karty GPU) TDP: 35W-91W

7 Liczba rdzeni: 4 Liczba wątków: 8 Bazowa częstotliwość procesora: 4.20 GHz Maks. częstotliwość turbo: 4.50 GHz Pamięć L3: 8MiB TDP: 91W Wsparcie dla RAM: DDR4-2133/2400, DDR3L (L Low Voltage)-1333/1600 Kanały pamięci: 2 Wsparcie: SSE4.1/4.2, AVX2

8 SSE zestaw instrukcji wektorowych, wykonywanych w trybie SIMD AVX rozszerzenie zestawu instrukcji SSE W AVX wprowadzono 256-bitowe rejestry - 2 razy większe niż wykorzystywane w SSE Umożliwia to procesorowi jednoczesne wykonanie tej samej instrukcji na 256-bitowym wektorze danych Wykonując operacje na elementach typu double (64 bity), jesteśmy w stanie zmieścić 4 elementy w jednym rejestrze (4*64=256) Wówczas, wykonanie instrukcji na dwóch takich rejestrach: (np. rejestr A + rejestr B) wykona 4 operacje dodawania jednocześnie

9 Wydajność teoretyczna lub maksymalna (PP - peak performance) procesora określa maksymalną liczbę operacji, jaka może być wykonana na danym procesorze na sekundę Dla algorytmów wykorzystujących zmiennoprzecinkowy format danych jest to liczba operacji zmiennoprzecinkowych na sekundę (flop/s) PP jest iloczynem częstotliwości f, liczby rdzeni c, liczby elementów na rejestr procesora I oraz maksymalnej liczby operacji, jaka może być wykonana w obrębie jednej instrukcji X Dla współczesnych procesorów jest to instrukcja fma (fused multiply-add), która wykonuje X=2 operacje jednocześnie (mnożenie i dodawanie) y = fma(a, x, b) -> y = a*x+b PP = f c I X [ flop s ]

10 Maksymalna wydajność procesora Intel Core i7 7700k PP = f c I X [ flop s ] Dla liczb zmiennoprzecinkowych pojedynczej precyzji (float 32 bity) PP = 4,2 GHz 4 256 32 2 Gflop = 268,8 Gflop s s Dla liczb zmiennoprzecinkowych podwójnej precyzji (double 64 bity) PP = 4,2 GHz 4 256 64 2 Gflop = 134,4 Gflop s s

11 DDR jest w stanie przesłać dwa (N=2) pakiety danych na jeden cykl (takt) pamięci Pakiet danych pamięci DDR to (S=64) bity Szyny danych pamięci DDR X są X razy wyżej taktowane niż wartość taktowania pamięci f umożliwia to przesłanie X razy więcej pakietów niż wynika to z częstotliwości taktowania pamięci (DDR1: X=1, DDR2: X=2, DDR3 i DDR4: X=4) Przepustowość pamięci B obliczamy ze wzoru: B = f X N [ T ] liczba transferów na sekundę s B = f X N S/8 [ B ] liczba bajtów na sekundę s Sprawdzenie pamięci w systemie linux: sudo dmidecode -t 17 Przykłady: Pamięć f pamięci f szyny B [GT/s] B [GB/s] DDR-200, PC-1600 100 MHz 100 MHz 0.2 GT/s 1.6 GB/s DDR2-800, PC2-6400 200 MHz 400 MHz 0.8 GT/s 6.4 GB/s DDR3-1600, PC3-12800 200 MHz 800 MHz 1.6 GT/s 12.8 GB/s DDR4-2400, PC4-19200 300 MHz 1200 MHz 2.4 GT/s 19.2 GB/s

12 Aby sprawdzić z jaką częstotliwością pracuje procesor: lscpu cat /proc/cpuinfo Socket 0: cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq Socket 1: jeżeli lscpu zwraca: NUMA node0 CPU(s): 0-3 NUMA node0 CPU(s): 4-7 wówczas: cat /sys/devices/system/cpu/cpu4/cpufreq/scaling_cur_freq

13 Sprawdzenie polityki zarządzania częstotliwością procesora (governor) cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor Przykładowe polityki: ondemand procesor dobiera częstotliwość w zależności od obciążenia procesora userspace procesor działa z częstotliwością ustawioną przez użytkownika Można ją wpisać w pliku: echo 2000000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed Do wyboru są częstotliwości wpisane w pliku: cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies performance procesor działa z najwyższą nominalną częstotliwością

14 Pozwala oszacować maksymalną wydajność (P performance), jaką możemy uzyskać dla konkretnego algorytmu na danej platformie sprzętowej, której maksymalna wydajność wynosi PP peak performance, a przepustowość pamięci wynosi B Bazuje na parametrze zwanym: intensywność obliczeniowa I [ops/b] jest to liczba operacji wykonana na każdy bajt danych, który musi zostać przesłany z/do procesora w celu wykonania algorytmu P = min(pp, B I)

15 Wydajność jednostek obliczeniowych i pamięci Intel Core i7 7700K: PP = 4,2 * 4 * 4 * 2 = 268,8 Gflop/s 2xDDR4-2400: B = 0,3 * 4 * 2 * 8 * 2 = 38,4 GB/s Wydajność: 4,2 częstotliwość taktowania [GHz] 4 liczba rdzeni 4 256-bitowy SIMD (64-bitowe elementy) 2 FMA Przepustowość pamięci: 0,3 częstotliwość taktowania pamięci [GHz] 4 mnożnik dla częstotliwości taktowania szyny danych 2 DDR 8 rozmiar pakietu danych [B] 2 dwa kanały pamięci (dwie kości)

16 Wydajność jednostek obliczeniowych i pamięci Intel Core i7 7700K: PP = 4,2 * 4 * 4 * 2 = 268,8 Gflop/s 2xDDR4-2400: B = 0,3 * 4 * 2 * 8 * 2 = 38,4 GB/s By w pełni wysycić wydajność platformy sprzętowej o powyższej konfiguracji należy: 38,4 / 8 = 4,8 miliardów elementów typu double przesłać z pamięci operacyjnej do procesora na każdą sekundę 268,8 / 4,8 = 56 operacji typu fma wykonać na każdym elemencie pobranym z pamięci operacyjnej

Kontakt: krojek@icis.pcz.pl 17