24
Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016

Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

Embed Size (px)

Citation preview

Page 1: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

Architekturen von Multi- und Manycore-Prozessoren

Johannes Hofmann

Einführungsveranstaltung, 12.04.2016

Page 2: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

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

Page 3: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

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

Page 4: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

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

Page 5: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

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

Page 6: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

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

Page 7: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

HPC Benchmarks

7

● LINPACK Benchmark der TOP500-Liste, DGEMM

● HPCG Next-Generation HPC Benchmark, SpMV

Page 8: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

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

Page 9: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

Inhalt

Es gibt zwei Varianten zum absolvieren des Seminars:

● Implementieren von Mandelbrot auf einer Multi-/ManycoreArchitektur

● Bearbeitung einer Publikation zum Themenbereich Multi-/Manycore

9

Page 10: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

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

Page 11: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

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

Page 12: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

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

Page 13: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

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

Page 14: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

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

Page 15: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

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

Page 16: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

Race to Exascale

● Energieverbrauch● Programmierbarkeit (Barriers: Power A2)● Fehlertoleranz

16

Page 17: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

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

Page 18: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

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]

Page 19: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

Theorie

● Theorie● Moore’s Law● Roofline/ECM● Cachedesign● On-Chip Networks● Eigene Ideen

19

Page 20: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

Ü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

Page 21: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

Ü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

Page 22: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

Ü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

Page 23: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

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

Page 24: Architekturen von Multi- und Manycore-Prozessoren · Architekturen von Multi- und Manycore-Prozessoren Johannes Hofmann Einführungsveranstaltung, 12.04.2016. Inhalt ... Apple Cyclone

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 [email protected] 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