Acceleration af Kollisionsdetektion på Parallelle Computerarkitekturer

Relaterede dokumenter
Speciale. Acceleration af Kollisionsdetektion på Parallelle Computerarkitekturer

Parallelisering/Distribuering af Genetiske Algoritmer

Digitale Videnssystemer: Notater

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Rolf Fagerberg. Forår 2012

Fagårsplan 10/11 Fag: Matematik Klasse: 7.ABC Lærer: Henrik Stillits. Fagområde/ emne

Matematik. Matematiske kompetencer

Rolf Fagerberg. Forår 2013

Bits DM534. Rolf Fagerberg, 2012

Ens eller forskellig?

Danmarks hurtigste Supercomputer

Eleverne skal lære at:

Parallelle algoritmer

Ej blot til lyst: Programmering og matematisk dannelse i det 21. århundrede

Årsplan for 7. klasse, matematik

\ \ Computerens Anatomi / /

Network. Netværks design. Region Syd Grundlæggende netværk

ANALOG vs DIGITAL. figur 1: fotografi af en blyantsstreg. figur 2: en linje beskrevet som formel er omsat til pixels

LÆRINGSMÅL PÅ NIF MATEMATIK

Lageradministration. dopsys

Hastigheden på en computers centrale regneenhed, CPU en, har altid været en vigtig

Interconnect. Front end interface

Skitsering og rendering med Revit - BIM workflow fra skitse til præsentation

Computer, tablets, telefoner m.v.

Eftersyn. På adressen: Østparken 11, Ejsing 7830 Vinderup. Efter aftale. Auk: 3191 Kat: 2.

Årsplan for matematik

Årsplan for matematik

Mere data på mindre plads Flemming Märtens Lenovo

Undervisningsbeskrivelse

HP anbefaler Windows. Slip kreativiteten løs.

Programming Language Design and Analysis motivated by Hardware Evolution

Læringsmål Faglige aktiviteter Emne Tema Materialer

Undervisningsbeskrivelse

Bundkort Beskrivelse

Computerstøttet beregning

Statistisk 3-D ber egning af sandsynligheden for at finde en jordforurening

SÆRE SYMBOLER OG FORVIRRENDE FORMLER

Termin maj-juni Institution HF uddannelsen i Nørre Nissum, VIA University College Uddannelse Hf. Matematik B, hfe bekendtgørelsen.

Undervisningsplan for matematik

Hvornår kan man anvende zone-modellering og hvornår skal der bruges CFD til brandsimulering i forbindelse med funktionsbaserede brandkrav

COMPUTER ANATOMI klasse 23. FEBRUAR 2015 HTX - ROSKILDE

Matematika rsplan for 5. kl

Årsplan for 9 årgang

3. klasse 6. klasse 9. klasse

nødvendige at vide noget om hvis man skal vide noget om det indre at en computer, de 5 emner er harddisk, RAM, grafikkort, bundkort og processer.

XNA3DGameEngine. XNA 3DGameEngine. Test af performance forbederne teknikker til 3DGameEngines. Speciale. Afleveret den 28/

Skriftlig Eksamen Algoritmer og Sandsynlighed (DM538)

Undervisningsbeskrivelse

Løs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomielt tid Optimeringsproblemer kan ikke altid verificeres i polynomiel

Kvantecomputing. Maj, Klaus Mølmer

DM507 Algoritmer og datastrukturer

BILAG. til. Kommissionens delegerede forordning

Fagårsplan 10/11 Fag: Matematik Klasse: 8.A Lærer: Henrik Stillits Fagområde/ emne Færdighedsregning - Typer af opgaver - Systematik

Principper for Samtidighed og Styresystemer

MATEMATIK. Formål for faget

Resultatkontrakt. Vedrørende Massiv Acceleration af Fotorealistisk Interaktiv Rendering MAFIR

Sider og segmenter. dopsys 1

02105 Eksamensnoter. Lasse Herskind S maj Sortering 3

Årsplan matematik 5. klasse 2019/2020

Markus, Nicklas, Jonas og Patrick D Kom/it C 1. feb Computerens anatomi. --- Lavet af Markus, Nicklas, Jonas og Patrick D --- Side 1 af 8

Årsplan matematik 5. klasse 2017/2018

Faglige delmål og slutmål i faget Matematik. Trin 1

Eleven kan handle med overblik i sammensatte situationer med matematik. Eleven kan anvende rationale tal og variable i beskrivelser og beregninger

Årsplan matematik, RE 2018/2019

Oversigt over Forenklede Fælles Mål i forbindelse med kapitlerne i MULTI. Modellering

Integer Factorization

Årsplan 9. Klasse Matematik Skoleåret 2015/16

Undervisningsbeskrivelse

Årsplan 8. klasse matematik Uge Emne Faglige mål Trinmål Materialer/ systemer 33 og løbende

CIVILINGENIØR, CAND. POLYT. I ROBOTTEKNOLOGI Master of Science in Robot Systems Engineering

HVAD STÅR DER I DE NYE FÆLLES MÅL OM DEN MATEMATISKE KOMPETENCE, KOMMUNIKATION? KØBENHAVN 29. SEPTEMBER 2015

Til dig som vil have et indblik i computeren

Årsplan 9. klasse matematik Uge Emne Faglige mål Trinmål Materialer/ systemer 33 Årsprøven i matematik

Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt.

Affine rum. a 1 u 1 + a 2 u 2 + a 3 u 3 = a 1 u 1 + (1 a 1 )( u 2 + a 3. + a 3. u 3 ) 1 a 1. Da a 2

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt.

DM507 Algoritmer og datastrukturer

Routeren. - og lag 3 switchen! Netteknik 1

Geometrisk skæring. Afgørelse af om der findes skæringer blandt geometriske objekter Bestemmelse af alle skæringspunkter

UVB. Skoleår: Claus Vestergaard og Franka Gallas

Undervisningsbeskrivelse

Algorithms & Architectures II

Undervisningsbeskrivelse

Det skrå kast, en simulation

Undersøgelser af trekanter

Undervisningsbeskrivelse

Matematik B - hf-enkeltfag, april 2011

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal

MSS CONSULT Dato: SALGSBROCHURE. Autoværksted. Indeholdende. Hardware Software Netværk

Lærer nye styresystemer Installerer programmer som kun kan bruges i ældre versioner

DM502. Peter Schneider-Kamp

Undervisningsbeskrivelse

Datastrukturer (recap)

MATEMATIK. GIDEONSKOLENS UNDERVISNINGSPLAN Oversigt over undervisning i forhold til trinmål og slutmål

Lucky You! Nu åbner Sony Center Næstved

Undervisningsbeskrivelse

Fagplan for faget matematik

Evaluering af matematik undervisning

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Grafer og graf-gennemløb

Transkript:

af Kollisionsdetektion på Parallelle Computerarkitekturer Speciale Andreas Rune Fugl anfug03@student.sdu.dk Thomas Frederik Kvistgaard Ellehøj ththy03@student.sdu.dk Datateknologi ved Teknisk Fakultet Syddansk Universitet, Odense Speciale præsentation 28. Oktober, 2008

Velkommen Velkomst Outline Traditionelle robotsystemer Robotsystemer til Gribesimulering i Gribesimulering Modellering af virkeligheden Trekantmodeller Kollisionstests Præsentationen Planlagt til 40 minutter Spørgsmål til slut

Outline Velkomst Outline Traditionelle robotsystemer Robotsystemer til Gribesimulering i duktion Gribesimulering Modellering af virkeligheden Trekantmodeller Kollisionstests

Traditionelle robotsystemer Velkomst Outline Traditionelle robotsystemer Robotsystemer til Gribesimulering i Gribesimulering Modellering af virkeligheden Trekantmodeller Kollisionstests Traditionelle anvendelser Svejsning Sprøjtelakering Palletering Kendetegn Faste positioner Programmer en gang, gentag tusinde Hastighed og præcision i højsædet

Traditionelle robotsystemer Velkomst Outline Traditionelle robotsystemer Robotsystemer til Gribesimulering i Gribesimulering Modellering af virkeligheden Trekantmodeller Kollisionstests Traditionelle anvendelser Svejsning Sprøjtelakering Palletering Kendetegn Faste positioner Programmer en gang, gentag tusinde Hastighed og præcision i højsædet

Robotsystemer til Velkomst Outline Traditionelle robotsystemer Robotsystemer til Gribesimulering i Gribesimulering Modellering af virkeligheden Et nyt problemdomæne Flyt emner af vilkårlig form og orientering Trekantmodeller Kollisionstests Udfordringer Emner kan ligge hulter til bulter Emner kan være delvist skjulte Emner kan være svære at gribe

Robotsystemer til Velkomst Outline Traditionelle robotsystemer Robotsystemer til Gribesimulering i Gribesimulering Modellering af virkeligheden Et nyt problemdomæne Flyt emner af vilkårlig form og orientering Trekantmodeller Kollisionstests Udfordringer Emner kan ligge hulter til bulter Emner kan være delvist skjulte Emner kan være svære at gribe

Speciale Gribesimulering i Velkomst Outline Traditionelle robotsystemer Robotsystemer til Gribesimulering i Robotgruppens fremgangsmåde Gribesimulering Modellering af virkeligheden Trekantmodeller Kollisionstests 1. Genkend og bestem emnets orientering vha. computer vision 2. Opbyg strategi for gribning vha. simulering 3. Automatisk bevægelsesplanlægning af robotten til ønsket position

Gribesimulering Velkomst Outline Traditionelle robotsystemer Robotsystemer til Gribesimulering i Gribesimulering Modellering af virkeligheden Trekantmodeller Kollisionstests Gribesimulering Præcis simulering af gribeprocesser Mål: Automatisk bestemmelse af sikre greb Udfordringer Mange forsøg for hvert greb Alle kontaktpunkter mellem emnet og griberen ønskes

Gribesimulering Velkomst Outline Traditionelle robotsystemer Robotsystemer til Gribesimulering i Gribesimulering Modellering af virkeligheden Trekantmodeller Kollisionstests Gribesimulering Præcis simulering af gribeprocesser Mål: Automatisk bestemmelse af sikre greb Udfordringer Mange forsøg for hvert greb Alle kontaktpunkter mellem emnet og griberen ønskes

Speciale Modellering af virkeligheden Velkomst Outline Traditionelle robotsystemer Robotsystemer til Gribesimulering i Modellering Gribesimulering Modellering af virkeligheden Trekantmodeller I I simuleringen behøves en model af robotten, griberen, emnerne og arbejdscellen I Mange mulige repræsentationer, men mest benyttet er trekantmodeller Kollisionstests

Speciale Trekantmodeller Velkomst Outline Traditionelle robotsystemer Robotsystemer til Gribesimulering i Gribesimulering Modellering af virkeligheden Trekantmodeller Kollisionstests I Hvert objekt repræsenteres som sæt af trekanter I Sættet kan indeholde mange tusinde trekanter

Kollisionstests Velkomst Outline Traditionelle robotsystemer Robotsystemer til Gribesimulering i Gribesimulering Modellering af virkeligheden Trekantmodeller Kollisionstests Opgaven Givet to trekant sæt A og B, test om de er i kollision Hvis A og B er i kollision, hvor kolliderer de så? Udfordringer Antal tests kvadratisk i antal trekanter Hver test kræver mange beregninger

Trekant kollisionstests Bounding volumes Oriented Bounding Box kollisionstests Trekant kollisionstests Test om to trekanter er i kollision. Dvs. om de to trekanter har fælles punkter. Segment-piercing Ligefrem algoritme Baseret på enkle geometriske observationer Beregningstung Devillers Mere kompliceret algoritme Baseret på sideness tests Terminerer hurtigt hvis der ikke er kollison

Trekant kollisionstests Bounding volumes Oriented Bounding Box kollisionstests Trekant kollisionstests Test om to trekanter er i kollision. Dvs. om de to trekanter har fælles punkter. Segment-piercing Ligefrem algoritme Baseret på enkle geometriske observationer Beregningstung Devillers Mere kompliceret algoritme Baseret på sideness tests Terminerer hurtigt hvis der ikke er kollison

Trekant kollisionstests Bounding volumes Oriented Bounding Box kollisionstests Trekant kollisionstests Test om to trekanter er i kollision. Dvs. om de to trekanter har fælles punkter. Segment-piercing Ligefrem algoritme Baseret på enkle geometriske observationer Beregningstung Devillers Mere kompliceret algoritme Baseret på sideness tests Terminerer hurtigt hvis der ikke er kollison

Bounding volumes Trekant kollisionstests Bounding volumes Oriented Bounding Box kollisionstests Massiv trekant-trekant test Alle trekanter skal testes mod hinanden Mange tests!

Bounding volumes Trekant kollisionstests Bounding volumes Oriented Bounding Box kollisionstests Brug af bounding volumes Geometrisk approksimation til oprindeligt objekt Benyttes i flere lag (hierarki) Kan drastisk reducere antal nødvendige tests Oriented Bounding Boxes i dette projekt

Trekant kollisionstests Bounding volumes Oriented Bounding Box kollisionstests Test om to OBB er er i kollision Exhaustive Edge-Face Oriented Bounding Box kollisionstests A Ligefrem algoritme Baseret på enkle geometriske observationer Meget beregningstung, kun anvendelig som reference B Gottschalk Baseret på test af separerende akser Terminerer hurtigt hvis der ikke er kollision

Trekant kollisionstests Bounding volumes Oriented Bounding Box kollisionstests Test om to OBB er er i kollision Exhaustive Edge-Face Oriented Bounding Box kollisionstests A Ligefrem algoritme Baseret på enkle geometriske observationer Meget beregningstung, kun anvendelig som reference B Gottschalk Baseret på test af separerende akser Terminerer hurtigt hvis der ikke er kollision

Trekant kollisionstests Bounding volumes Oriented Bounding Box kollisionstests Test om to OBB er er i kollision Exhaustive Edge-Face Oriented Bounding Box kollisionstests A Ligefrem algoritme Baseret på enkle geometriske observationer Meget beregningstung, kun anvendelig som reference B Gottschalk Baseret på test af separerende akser Terminerer hurtigt hvis der ikke er kollision

Selv med smarte algoritmer er der en nedre grænse for hvor lidt arbejde vi skal udføre! Algoritme Antal operationer Segment piercing 480 Devillers 124 Exhaustive 11520 Gottschalk 228 På en moderne PC (dual core @ 3GHz 24 GFLOPS/s) betyder det at vi kan forvente en teoretisk ydelse på: 193 millioner trekant tests (Devillers) 105 millioner OBB tests (OBB) I virkeligheden er disse tal dog typisk en faktor 10 lavere!

Selv med smarte algoritmer er der en nedre grænse for hvor lidt arbejde vi skal udføre! Algoritme Antal operationer Segment piercing 480 Devillers 124 Exhaustive 11520 Gottschalk 228 På en moderne PC (dual core @ 3GHz 24 GFLOPS/s) betyder det at vi kan forvente en teoretisk ydelse på: 193 millioner trekant tests (Devillers) 105 millioner OBB tests (OBB) I virkeligheden er disse tal dog typisk en faktor 10 lavere!

Selv med smarte algoritmer er der en nedre grænse for hvor lidt arbejde vi skal udføre! Algoritme Antal operationer Segment piercing 480 Devillers 124 Exhaustive 11520 Gottschalk 228 På en moderne PC (dual core @ 3GHz 24 GFLOPS/s) betyder det at vi kan forvente en teoretisk ydelse på: 193 millioner trekant tests (Devillers) 105 millioner OBB tests (OBB) I virkeligheden er disse tal dog typisk en faktor 10 lavere!

Selv med smarte algoritmer er der en nedre grænse for hvor lidt arbejde vi skal udføre! Algoritme Antal operationer Segment piercing 480 Devillers 124 Exhaustive 11520 Gottschalk 228 På en moderne PC (dual core @ 3GHz 24 GFLOPS/s) betyder det at vi kan forvente en teoretisk ydelse på: 193 millioner trekant tests (Devillers) 105 millioner OBB tests (OBB) I virkeligheden er disse tal dog typisk en faktor 10 lavere!

Egenskaber 8. generations grafikkort fra NVIDIA Unified shader arkitektur 800 GTX 16 multiprocessorer @ 1.35 GHz 768 MiB RAM, 86.4 GiB/s PCI Express, 4 GiB/s

Egenskaber 8. generations grafikkort fra NVIDIA Unified shader arkitektur 800 GTX 16 multiprocessorer @ 1.35 GHz 768 MiB RAM, 86.4 GiB/s PCI Express, 4 GiB/s

Hvad gør serien interressant? Massiv parallelitet 16 styks 8-way SIMD multiprocessorer 21.6 GFLOPS/s per multiprocessor Massiv trådning Tusindvis af tråde scheduleres Afhjælper memory latency

Hvad gør serien interressant? Massiv parallelitet 16 styks 8-way SIMD multiprocessorer 21.6 GFLOPS/s per multiprocessor Massiv trådning Tusindvis af tråde scheduleres Afhjælper memory latency

Hvad gør serien interressant? Total teoretisk ydelse: 345.6 GFLOPS/s

Speciale CELL Broadband Engine Egenskaber I Udviklet af IBM, Toshiba og Sony I Heterogen multiprocessor I 1 General purpose processor I 8 Vektor processorer I High bandwidth interconnect Sony Playstation 3 I @ 3.2 GHz I 256 MiB XDR DRAM I Kun 6 Vektor processorer I Linux (Fedora Core 7)

Speciale CELL Broadband Engine Egenskaber I Udviklet af IBM, Toshiba og Sony I Heterogen multiprocessor I 1 General purpose processor I 8 Vektor processorer I High bandwidth interconnect Sony Playstation 3 I @ 3.2 GHz I 256 MiB XDR DRAM I Kun 6 Vektor processorer I Linux (Fedora Core 7)

Hvad gør speciel? PPE 64 bit Power PC (x2) RISC med VMX (AltiVec) 32 KiB L1/512 KiB L2 25.6 GFLOPS/s SPE 128 bit processor RISC med SIMD 256 KiB Lokal SRAM 25.6 GFLOPS/s

Hvad gør speciel? PPE 64 bit Power PC (x2) RISC med VMX (AltiVec) 32 KiB L1/512 KiB L2 25.6 GFLOPS/s SPE 128 bit processor RISC med SIMD 256 KiB Lokal SRAM 25.6 GFLOPS/s

Hvad gør speciel? Total teoretisk ydelse: 230.4 GFLOPS/s

Scenen indeholder Hele modellen Samling af objekter Hvilke objekt par skal testes? Et objekt Stift legeme (Rigid body) Samling af trekanter Opdeles hierarkisk vha. OBB er

Scenen indeholder 0 1 2 Hele modellen Samling af objekter Hvilke objekt par skal testes? 3 4 5 0 Et objekt 1 Stift legeme (Rigid body) 3 4 Samling af trekanter 7 9 10 Opdeles hierarkisk vha. OBB er

Collision Test Tree CTT Beskriver alle tests der skal udføres mellem to objekter Hver node svarer til en kollisionstest Fastlagt traversering og nedstigning Pladskrævende! - Men stadig nyttig abstraktion Virtuel repræsentation vha. implicit datastruktur

Generalisering af CTT til hele scenen Scene A vs. B A vs. C B vs C Omfatter alle objekt par i scenen der skal tests for kollision Et træ Et problem! Mange tests! Mere paralleliserbar Dybde-først søgning, kollisionstests udføres parallelt

Generalisering af CTT til hele scenen Scene A vs. B A vs. C B vs C Omfatter alle objekt par i scenen der skal tests for kollision Et træ Et problem! Mange tests! Mere paralleliserbar Dybde-først søgning, kollisionstests udføres parallelt

Generalisering af CTT til hele scenen Scene A vs. B A vs. C B vs C Omfatter alle objekt par i scenen der skal tests for kollision Et træ Et problem! Mange tests! Mere paralleliserbar Dybde-først søgning, kollisionstests udføres parallelt

Generalisering af CTT til hele scenen Scene A vs. B A vs. C B vs C Omfatter alle objekt par i scenen der skal tests for kollision Et træ Et problem! Mange tests! Mere paralleliserbar Dybde-først søgning, kollisionstests udføres parallelt

Opnåede resultater 71 millioner trekant-trekant tests/s (speedup på 4) 164 millioner OBB-OBB tests/s (speedup på 11) Speedup på 1.4 ved model tests 52 millioner trekant-trekant tests/s (speedup på 2.9)??? millioner OBB-OBB tests/s Speedup på 1.6 ved model tests

Opnåede resultater 71 millioner trekant-trekant tests/s (speedup på 4) 164 millioner OBB-OBB tests/s (speedup på 11) Speedup på 1.4 ved model tests 52 millioner trekant-trekant tests/s (speedup på 2.9)??? millioner OBB-OBB tests/s Speedup på 1.6 ved model tests