Post on 17-Sep-2018
Architekturen von Multi- und Manycore-Prozessoren
Johannes Hofmann
Einführungsveranstaltung, 12.04.2016
Inhalt
Es gibt zwei Varianten zum absolvieren des Seminars:
● Evaluation eines Benchmarks aus der Mantevo-Suite aufeiner Multi-/Manycore Architektur
● Bearbeitung einer Publikation zum Themenbereich Multi-/Manycore
2
Inhalt
Es gibt zwei Varianten zum absolvieren des Seminars:
● Evaluation eines Benchmarks aus der Mantevo-Suite aufeiner Multi-/Manycore Architektur
● Bearbeitung einer Publikation zum Themenbereich Multi-/Manycore
3
Mantevo Project
4
https://mantevo.org/
● Projekt zur Bereitstellung von Open-Source Softwarepaketen zur Analyse, Vorhersage und Verbesserung von High Performance Computing (HPC) Anwendungen
● Wichtige HPC Codes oft x0.000-x00.000 Zeilen Code● Kernel (wichtige Schleifen) in Anwendungen oft nur einige
Zeilen● Mantevo: Notwendige Initialisierungen + Kernel
Mantevo Benchmarks (Teil 1)
5
https://mantevo.org/packages/
● CloverLeaf / CloverLeaf3D Eulersche Gleichungen, Strömungsmechanik
● CoMD Molekulardynamik● MiniAero Navier-Stokes, Strömungsmechanik● MiniAMR 3D Stencil mit Adaptive Mesh Refinement● MiniFE Finite Elemente● HPCCG Unstrukturierte Finite Elemente, Conjugate Gradient● pHPCCG Parametrisierter HPCCG: Datentypen, -strukturen
Mantevo Benchmarks (Teil 2)
6
● MiniMD Molekulardynamik, LAMMPS (Large-scale Atomic/Molecular Massively Parallel Simulator)
● MiniGhost Finite Difference, Stencil auf homog. Gitter● MiniSMAC2D 2D Navier-Stokes mit Gauss-Seidel● phdMesh Heterogene Dynamic Mesh Anwendung● MiniXyce SPICE-kompatibler Schaltungssimulator● Pathfinder Suche● TeaLeaf Wärmeausbreitung mit 5-Punkt Stencil
HPC Benchmarks
7
● LINPACK Benchmark der TOP500-Liste, DGEMM
● HPCG Next-Generation HPC Benchmark, SpMV
Architekturen
● Implementiert werden kann auf● GPUs / Accelerators
● Nvidia GeForce GTX 480● Nvidia Tesla K20, K40● AMD Radeon HD 6970● Xeon Phi
● Heterogenen Architekturen● Nvidia Jetson (ARM + Nvidia GPU)
● CPUs● Sandy Bridge-EP Xeon● Ivy Bridge-EP Xeon● Haswell-E Xeon [via LiMa Cluster des RRZE]
● Weitere Hardware am Lehrstuhl:● https://faui36a.informatik.uni-
erlangen.de/trac/puppet/wiki/SystemList8
Inhalt
Es gibt zwei Varianten zum absolvieren des Seminars:
● Implementieren von Mandelbrot auf einer Multi-/ManycoreArchitektur
● Bearbeitung einer Publikation zum Themenbereich Multi-/Manycore
9
Architekturen
● APU Xbox: AMD APU (Kaveri), AMD (Kabini)● GPU (Nvidia Tesla K40, Maxwell)● Intel Xeon Phi (Knights Corner/Landing)● Intel Haswell, Broadwell● POWER8, POWERPC A2, OpenPOWER● Clovertrail (SoC), x86/ARM SoC, Apple Cyclone (64-bit ARM)● Execution-Migration-Machine with 110 cores (MIT)● Nvidia Tegra, Jetson● Quallcom DSP● Eigene Ideen
10
IBM POWER8
11
● 12 cores (SMT8)● 64k data cache, 32k instruction
cache● 512kB L2 per Core, 96MB
shared L3● Up to 128MB L4 (off-chip)● Transactional Memory● Up to 230GB/s sustained
memory bandwidth
Knights Landing
● Successor of Knights Corner (1st gen Xeon Phi)● Tiled design, 36 tiles● Each tile contains 2 cores (two VPUs per core)● Advanced Vector Extensions (AVX-512)● 4-way SMT● 6 channels of DDR4-2400● 8/16 GB high-bandwidth package
memory
12
Adapteva Parallella Board
13
● 16 high performance RISC CPUs● C/C++ & OpenCL programmierbar● Up to 1 GHz● 32 GFLOPS peak performance● <2 Watt maximum chip power
consumption● Network-On-Chip Design● 8GB off-chip bandwidth
NVIDIA Tegra K1 System-on-Chip
14
● Employed by Nvidia Jetson TK1● High performance Multi-Core
SMP cluster of four Cortex-A15 CPUs (up to 2.2 GHz)
● Low power (low leakage) single core implementation of the Cortex-A15 CPU
● Kepler Mobile GPU
Nvidia Pascal
● 32GB Stacked DRAM● Claimed peak Bandwidth: 750GB/s
● Planned Release Date: 2016● 14nm FinFET fab● NVLink: 12x faster than
today’s standard PCIe● Unified Memory
● Making memory access fromCPU/GPU to GPU/CPU easier
● “Pascal Module”● Only 1/3 the size of today’s GPUs● Denser packing à Race to Exascale
15
Race to Exascale
● Energieverbrauch● Programmierbarkeit (Barriers: Power A2)● Fehlertoleranz
16
Nvidia Volta & Power 9
● Oak Ridge’s Summit and Lawrence Livermore’s Sierra● IBM Power 9 combined with
Nvidia Volta● Current shortcoming of
heterogeneous CPU-GPU approach:PCIe Bandwidth ~31GB/s
● Solution: NVLINK● High speed interconnect● 80-200 GB/s
● 3D Stacked Memory● Higher Bandwidth (~1 TB/s)● Larger Capacity● More Energy Efficient
17
Technologie
● Transactional Memory● Entwicklung SIMD (AVX-512)● Einfluss von Caches auf Multicores● Eigene Ideen
18
k10 1 1 1 0 1 1 116 bits
1 bit
1 1 0 0 0 1 1 1
zmm0A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7]512 bits
32 bits(1 float)
A[8] A[9] A[10] A[11] A[12] A[13] A[14] A[15]
zmm1B[0] B[1] B[2] B[3] B[4] B[5] B[6] B[7] B[8] B[9] B[10] B[11] B[12] B[13] B[14] B[15]
zmm2C[0] C[1] C[2] C[3] C[4] C[5] C[6] C[7] C[8] C[9] C[10] C[11] C[12] C[13] C[14] C[15]
Theorie
● Theorie● Moore’s Law● Roofline/ECM● Cachedesign● On-Chip Networks● Eigene Ideen
19
Übersicht Papiere (Architekturen)
● Nvidia P100 (Pascal Architektur)
● IBM POWER8● The cache and memory subsystems of the IBM POWER8 processor
[Starke et al.]● IBM POWER8 processor core microarchitecture [Sinharoy et al.]
● Intel Broadwell-EP, Skylake-E
● ARMv8 (A-57)
● Eigene Ideen
20
Übersicht Papiere (Caches)
● Adaptive Insertion Policies for High Performance Computing[Quereshi et al.]
● High Performance Cache Replacement Using Re-Reference Interval Prediction [Jaleel et al.]
● Adaptive Replacement Cache● Outperforming LRU with an Adaptive Replacement Cache Algorithm
[Megiddo et al.]● http://u.cs.biu.ac.il/~wiseman/2os/2os/os2.pdf● https://github.com/wereHamster/adaptive-replacement-cache
● Storing non-temporal cache data [Patent: US 2015/0095586 A1]
● Eigene Ideen
21
Übersicht Papiere (weitere)
● Scheduler Options in big.LITTLE Android Platforms● http://events.linuxfoundation.org/sites/events/files/slides/GTS_Anderso
n.pdf
● Eigene Ideen
22
Organisatorisches
● Zur Einführung in verschiedene Architekturen und derenProgrammiermodelle gibt es heute und in den nächsten Wochen(1 bis 2 Termine, je nach Vorankommen) kurze Vorträge zu:
● Zugang zu den am Lehrstuhl vorhandenen Systemen, Aufbau moderner Muticore-CPUs, Compiler, SIMD Vektorisierung, OpenMP Parallelisierung, Multi-Socket/NUMA, Xeon Phi Accelerator
● Aufbau ARM & GPUs, CUDA, OpenCL
● Aufbau Abschlussvortrag und Ausarbeitung
23
Organisatorisches
● Blockveranstaltung● Vorträge (20+5 f. 1 Person, 30+5 f. 2 Personen) in den letzten Wochen
vor Semesterende oder nach Semesterende (Termin nach Abprache) àAnwesenheitspflicht!
● Ausarbeitung: 8 Seiten (16 Seiten bei 2 Personen)● Aufbau Ausarbeitung: Nächste Woche
● Teilnehmer bis 26.4. bitte mit folgenden Informationen per E-Mail an cs3-multipro@lists.fau.de anmelden (first come, first served)● Name● Matrikelnummer● Thema (Papier / Applikation und Architektur)● (Studenten, die implementieren und dazu unsere Hardware nutzen
möchten bitte auch IdM-Kennung schicken)24