De Parallelle Revolutie van GPU's en CPU's



Vergelijkbare documenten
PyCuda. oftewel massief parallel rekenen. Jasper Spaans, Fox-IT PUN meeting

informatica. hardware. overzicht. moederbord CPU RAM GPU architectuur (vwo)

High Performance Computing

GPU versus CPU. Renderen terwijl uw processor stil staat? SketchUp Pro. Octane Render

3D CAD VDI & CAD IN THE CLOUD

Cover Page. Author: Vu, Van Thieu Title: Opportunities for performance optimization of applications through code generation Issue Date:

Microsoft Surface Laptop Toolkit

COMPUTERVAARDIGHEDEN EN PROGRAMMEREN

Responsive web applicaties op Oracle

Inside Technology [Catalogus] [ ] [The best gear, Get it here]

Microsoft Windows Vista installatiegids.

3D CAD/BIM in the Cloud

End of Support. Windows XP Office maar ook: Exchange 2003 (oa gebruikt in SBS 2003) (link met gegevens) SQL 2000

Naar High Throughput DNA data analyse

computerarchitectuur antwoorden

MSI DESKTOP NIGHTBLADE MIB 7RB-269EU 899,00. Kenmerken CHAMELEON BVBA. Artikelcode : ITMIBLADE7RB269

Memo. 1 Inleiding. 2 Testopstelling. 2.1 Simona. 2.2 Configuratie

CARAT Systeem Advies 05/2018

Laptop Folder. De prijzen die in deze folder staan vermeld zijn incl. Btw en startklaar geleverd en excl. arbeid en voorrijkosten op locatie.

Een Inleiding tot Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

Werkblad H1 Hard en Software

Dit document beschrijft de hardware eisen voor het gebruik van WBI software.

TOUCH DISPLAY DOWNLOADER GEBRUIKSAANWIJZING

Functionele beschrijving: Scannen naar AFAS Profit.

SMART Notebook software voor Windows - en Mac -computers

LCD MONITOR SHARP INFORMATION DISPLAY GEBRUIKSAANWIJZING

EIGENSCHAPPEN CONVERGED HARDWARE

Functionele beschrijving: scannen naar van Brug software.

Functionele beschrijving: scannen naar UNIT4 Cura Documentmanagement.

How-To: Prepar3D Settings Guide

IT. MADE IN GERMANY. PRODUCT EN PRIJS TERRA PC.

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces

En 15 maart 2016 Simply.Flexible

CONTAINERIZATION OF APPLICATIONS WITH MICROSOFT AZURE PAAS SERVICES

Rent+ Pre-requirements

Functionele beschrijving: scannen naar UNIT4 DocumentManager

OpenVPN(-NL) Performance. Jan Just Keijser 9 November 2017

Microsoft Windows XP Professional installatiegids.

Centrale begrippen hoofdstuk 3. Waarom multiprogramming? Vandaag. processen proces state: running, ready, blocked,... Vragen??

Hyper-V vs ESX in het datacenter

PENTIUM met DDR-3 geheugen Dual core : 2 x 3.3 Ghz megapower!

Dataconversie met Oracle Spatial

GTX-4 TEXTIELPRINTER Instructiehandleiding voor Macintosh

Slanke USB 3.0 naar VGA externe videokaart multi monitor adapter x1200 / 1080p

Functionele beschrijving: scannen naar Exact Globe.

Alphatronics. e-id toegangscontrole in containerparken. Innovators in access technology

Tekla Structures Hardware aanbevelingen

ASSISTANCE SOFTWARE INSTALLATIE-EISEN ASSISTANCE SOFTWARE FOR MICROSOFT DYNAMICS. Author : AV. Datum : 30 augustus 2013 Versie : 6 Status : Definitief

Functionele beschrijving: scannen naar Trivium FORTUNA.

Hoofdstuk 2. - is verantwoordelijk voor de communicatie van de software met de hardware.

1 Client/Server. 2 Geschiedenis. 3 Toekomst

FPGA-makers op zoek naar de softwareontwikkelaar

HP ENVY DESKTOP NB 1 499,00. Kenmerken. D-Ware. Artikelcode : ITHP NB

Format C Weggestraat 13, 2170 Merksem Tel.:

n-queens minimale dominantie verzamelingen Chessboard Domination on Programmable Graphics Hardware door Nathan Cournik

CAD supersnel laten draaien

Ekt1. Computer bouwen

Software is in veel manieren te indelen,meest bekend op grond van :

Vergelijkende test Android PC s (TV Boxen)

ArcGIS Mobile ADF. Smart Client Applicaties voor ArcGIS Server Eva Dienske, Wim Ligtendag

HPC CLOUD INTRODUCTIE. Jan$Bot,$SURFsara$ 15$oktober$2015$

Cerussa FIN Pre-requirements

Transcriptie:

De Parallelle Revolutie van GPU's en CPU's George van Venrooij Organic Vectory BV Bits&Chips Embedded Systemen 18 November 2011 Eindhoven

Een nieuw speelveld Desktop PC anno 2005 2 GHz CPU (1 core, 6 GFLOP/s) 256-512 MB RAM Fixed-function GPU Desktop PC vandaag 2.5 GHz CPU (4 cores, 200 GFLOP/s) 4 GB RAM 1 GHz GPGPU (338 cores, 1200 GFLOP/s) ipad 2 1 GHz CPU (2 cores, 170 MFLOP/s) 512 MB RAM 200 MHz GPU (2 cores, 8 pipelines, 14 GFLOP/s)

De desktop-super-computer Supercomputer Veel rekenkracht Veel geheugen Gedistribueerd Software performance schaalt mee met de hardware performance!

De Revolutie Aanpassingen in het volledige software ontwikkel traject Doel: Schaalbare performance van software die de curve van Moore's wet (weer) gaat volgen

Data-Explosie Grootte van het data universum in Mei 2011: 1.2 zettabytes

Rekenintensievere Processen Spraakherkenning Computer Vision 3D Analyse Simulaties Navigatie... etcetera

Parallel = de nieuwe standaard? DirectCompute

Noise Mapping op GPU's

Complexiteit per update Standaard Reken Methode 2 (SRM-2) Geluidsoverlast in woongebieden 3 x 3 km stadscentrum (Rotterdam) 300x300 grid cellen met bodemgegevens Maximale pad lengte: 1 km 10.493 gevels (in 1x1 km gebied) 1.924 weg segmenten (in 3x3 km gebied) 71.615 gebouwen & obstakels (in 3x3 km gebied) Single-threaded rekentijd: 87 minuten

Doelstelling: interactiviteit

Project Traject Analyse Platform keuze Hardware Software Design Implementatie Bibliotheken Ontwikkeltools Algoritme ontwerp Testen & Oplevering

Analyse Parallelle paden Onafhankelijk te berekenen GPGPU-geschikt!

Platform Keuze Windows PC NVidia CUDA VS 2008 Geen OpenCL NVidia GTX 280 240 cores, 1 GB RAM

CUDA OpenCL nvidia-hardware Generiek GPU's CPU's, GPU's & meer Volwassener (v4.0) Jonger (v1.1) Veel bibliotheken & resources Toolchain integratie is eenvoudig Kernel taal bevat C++ features Visual Studio Debugger op source-niveau Kleine, maar snel groeiende community Toolchain integratie vergt wat denkwerk Kernel taal gebaseerd op C99 met extensies Debugger als aparte applicatie

Design Dataflow Diagram

GPU-Programma Flow GPU Input Data Kernel 1 Input Data Start Kernels Tussen resultaat Kernel 2 Eind resultaat Eind resultaat CPU

Libraries: Thrust Geen diepe kennis van CUDA nodig Makkelijk om mee te beginnen Goede prototyping omgeving Veel algorithmen beschikbaar: Zoeken Reducties Sorteren Sommaties Transformaties

Zoek de 10 verschillen

Overlap Bepaling Sweep & Prune algoritme Geen malloc() in een kernel (CUDA 2.3) Versie 1: tellen malloc() (host-code) opslaan Versie 2: opslaan tot buffer vol is hervatten met nieuw buffer

Geheugen-gebruik lawine Brondata < 6 MB Resultaat < 1 MB Tussenresultaten > 60 GB 8.8 miljoen directe paden 49.9 miljoen reflectie paden

Hardware Threading Model Cores Hardware threads 8800 GTX 128 16 x 768 GTX 285 240 30 x 1024 = 30720 GTX 480 480 15 x 1536 = 23040 GTX 580 512 16 x 1536 = 24576 = 12288

Depth-first proces graaf 1 Proces Stappen 2 9 3 6 10 13 4 7 11 14 5 8 12 15

Development & Debugging CUDA Toolkit/nvcc Niet bijster snel (lees: erg traag) Niet 100% compatible met C++ standaard Makkelijk in te passen in workflow Visual Profiler Gedetailleerd overzicht van de GPU Combinatie met Thrust werkt minder lekker NSight Debugger Heel handig (als het werkt) Nog niet echt af

Beren op de weg Geen debugger (begin 2010) Driver stabiliteit Windows time-outs Systeem lock-ups Custom debugging

Resultaat Type Cores CPU 1 CPU Tijd (s) vs 1 core vs 16 cores 5246 1.0-16 328 15.9 1.0 GPU 240 67 78.2 4.8 GPU 480 34 154.2 9.6

Parallel Design Ga uit van de toekomst: N cores (N > 8) Integreer in een framework wat taakverdeling beheert Conversie van maximum gebruik (alle cores op 100%) naar minimum idle-time (geen core op 0%) Ontwerp software met behulp van component-gebaseerde taken Voordelen van deze approach Designen in componenten wordt gemeengoed Makkelijker testen Meer hergebruik Minder kennis nodig voor implementatie Kortere doorlooptijd per unit

OpenCL Parallel Framework Taak/dependency gebaseerd executie model Mogelijkheid om verschillende (soorten) devices aan te spreken Native function optie maakt integratie met bestaande code eenvoudig Beschikbaar voor GPU's, CPU's, CELL en mobiele/embedded platformen

Parallel Design voor GPU's Zoek naar data-parallellisme Voldoende rekenwerk per element Niet alle algoritmen lenen zich voor parallel gebruik Her-ontwerp sequentiele algoritmen GPU Kernels: Geheugen access patronen hebben veel impact Maak gebruik van on-chip geheugen waar mogelijk Vermijd divergerende code (condities) Gebruik standaard functies (hardware acceleratie)

Parallel Design Retro-actief

Parallel Design Pro-actief

Bedankt voor jullie aandacht! Zijn er nog vragen?

Afbeeldingen (1) Achtergronden: GPU, 2011 NVidia Corporation, http://www.gputechconf.com/page/home.html slide 2 Een nieuw speelveld : Beige PC: http://www.itnews.com.au/news/156771,intel-and-the-death-of-the-beige-box-pc.aspx Gaming PC: 2011 Dell, http://www.pclaunches.com/computers/alienware_area51_and_area51_alx_desktops_for_gaming.php ipad 2: 2011 Apple Corporation, http://www.playerzblog.com/5-best-ipad-2-games.html slide 3 De desktop super-computer : W.O.P.R.: 1983 MGM Studios Inc., http://media.screened.com/uploads/0/562/275564-wargames wopr.jpg K Computer: 2011 ITP Digital Ltd., http://www.itp.net/mobile/585186-japan-has-worlds-top-supercomputer Tesla Personal Supercomputer: 2011 NVidia Corporation, http://blog.loaz.com/media/blogs/timwang/first-personal-supercomputer-tesla-nvidia.jpg slide 4 De Revolutie : CPU Trends, 2009 Herb Sutter, http://www.gotw.ca/publications/concurrency-ddj.htm slide 5 Data-Explosie : Data Universe & Causes, 2009 EMC Corporation, http://www.techrepublic.com/blog/hiner/its-new-holy-grail-break-out-of-the-70-maintenance-loop/4283 slide 6 Rekenintensievere Processen : Speech Recognition: 1999 Oregon Graduate Institute of Science and Technology, http://www.cslu.ogi.edu/tutordemos/nnet_recog/recog.html 3D Analyse: 2011 Pitney Bowes Software Inc., http://www.pbinsight.com/products/location-intelligence/applications/mapping-analytical/mapinfo-professional/ Computer Vision: http://withfriendship.com/user/sathvi/computer-vision.php Flight Simulator 4: 1989 Microsoft Corporation, http://en.wikipedia.org/wiki/file:microsoft_flight_simulator_4_screenshot.png inavi: 2011 Thinkwaresys, http://www.navigadget.com/?s=inavi slide 7 Parallel = de nieuwe standaard : OpenCL Logo: 2009 Apple Corporation, http://www.geeks3d.com/public/common/opencl_logo.jpg OpenMP Logo: 2011 OpenMP Architecture Review Board, http://www2.imm.dtu.dk/~bd/scicomp/openmp_lg_transparent.gif CUDA Logo: 2011 NVidia Corporation Intel TBB: 2011 Intel Corporation slide 8 Noise Mapping op GPU's : Urban Strategy, 2010 TNO Bouw & Ondergrond, Milieu en Leefomgeving slide 10 Doelstelling: Interactiviteit : Urban Strategy, 2010 TNO Bouw & Ondergrond, Milieu en Leefomgeving

Afbeeldingen (2) slide 12 Analyse : Geluidspaden (boven), p. 46, Bijlage III, Behorende bij hoofdstuk 3 Weg van het Reken- en meetvoorschrift geluidhinder 2006 Geluidspaden (onder), p. 9, Bijlage 3 behorende bij artikel 8 van de Regeling omgevingslawaai slide 13 Platform Keuze : Windows logo: 2011 Microsoft Corporation NVidia CUDA logo: 2011 NVidia Corporation GeForce GTX 285: 2009 NVidia Corporation slide 15 Design Dataflow Diagram : Dataflow diagram: 2011 Organic Vectory B.V. slide 16 GPU-Programma Flow : GPU program flow: 2011 Organic Vectory B.V. slide 17 Libraries: Thrust : Thrust logo: http://code.google.com/p/thrust/ slide 19 Overlap Bepaling : Sweep & Prune: Copyright 2009, Václav Šmilauer, https://www.yade-dem.org/doc/formulation.html slide 21 Depth-first proces graaf : Proces Graaf: 2011 Organic Vectory B.V. slide 24 Beren op de weg : Beren op de weg: http://www.d66wijchen.nl/in-het-land-der-blinden/1922/ slide 25 Resultaat : Noise Map: 2011 Organic Vectory B.V. slide 27 OpenCL Parallel Framework : OpenCL Devices: 2010 Advanced Micro Device Inc., http://developer.amd.com/documentation/articles/pages/opencl-and-the-amd-app-sdk.aspx slide 29 Parallel Design Retro-actief : Gewone tractor: Diederik vd Krol, http://www.16kmclub.nl/ledenfotos/ledenfotos.htm High-speed tractor: http://www.impactlab.net/2010/07/03/top-10-photos-of-the-week-135/ slide 30 Parallel Design Pro-actief : F1 Wireframe: 2011 adriantnt, http://www.jpgwallpaper.com/wallpapers/cars_wallpapers/ferrari_f1_blueprint_46.html Ferrari F1: http://web.me.com/riffer87/jameys_sit_1./blog/entries/2008/9/2_a_passion_for_red.html