Top Banner
Skaičiavimų spartinimas panaudojus grafinį procesorių DirectCompute technologijos pagalba Atliko PSI IFM-9/2 gr. magistrantai: Sergejus Topolovas Algis Pavasaris
15

Skaičiavimų spartinimas panaudojus grafinį procesorių DirectCompute technologijos pagalba

Jan 17, 2016

Download

Documents

Elma

Skaičiavimų spartinimas panaudojus grafinį procesorių DirectCompute technologijos pagalba. Atlik o PSI IFM-9/2 gr . magistrantai : Serg ejus Topolovas Algis Pavasaris. Tikslai. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Skaičiavimų spartinimas panaudojus grafinį procesorių  DirectCompute  technologijos pagalba

Skaičiavimų spartinimas panaudojus grafinį procesorių DirectCompute technologijos pagalba

Atliko PSI IFM-9/2 gr. magistrantai: Sergejus Topolovas

Algis Pavasaris

Page 2: Skaičiavimų spartinimas panaudojus grafinį procesorių  DirectCompute  technologijos pagalba

Tikslai

• Paspartinti su centriniu procesoriumi (toliau – CPU) atliekamus skaičiavimus atlikus juos grafinio procesoriaus (toliau – GPU) pagalba.

• Skaičiavimų spartinimui panaudoti DirectCompute technologiją.

• Ištirti GPU pagalba vykdomų skaičiavimų dėsningumus bei nustatyti faktorius, įtakojančius jų našumą.

2011.04.22 S. Topolovas ir A. PavasarisSkaičiavimų spartinimas panaudojus grafinį procesorių

2

Page 3: Skaičiavimų spartinimas panaudojus grafinį procesorių  DirectCompute  technologijos pagalba

Terminologija

• GPGPU (General-Purpose computing on Graphics Processing Units)

• DirectCompute

• DirectX11

2011.04.22 S. Topolovas ir A. PavasarisSkaičiavimų spartinimas panaudojus grafinį procesorių

3

Page 4: Skaičiavimų spartinimas panaudojus grafinį procesorių  DirectCompute  technologijos pagalba

Metodai

• A* kelio paieška (pathfinding) [1]

• Hierarchinis uždengtos geometrijos atmetimas (occlusion culling) [2]

• MD5 maišos kodo nulaužimas grubios jėgos metodu (brute-force attack) [3]

2011.04.22 S. Topolovas ir A. PavasarisSkaičiavimų spartinimas panaudojus grafinį procesorių

4

Page 5: Skaičiavimų spartinimas panaudojus grafinį procesorių  DirectCompute  technologijos pagalba

Tyrimo metu naudota įranga

• CPU: Intel Core2 Duo E8400 @3.2 GHz.

• RAM: Kingston HyperX DDR2 4 GB @854 MHz.

• GPU: Gigabyte 450 GTS OC2.

• OS: Microsoft Windows 7 x64.

2011.04.22 S. Topolovas ir A. PavasarisSkaičiavimų spartinimas panaudojus grafinį procesorių

5

Page 6: Skaičiavimų spartinimas panaudojus grafinį procesorių  DirectCompute  technologijos pagalba

Metodai: A* kelio paieška

• Tyrimo metodologija: – Paieška 64x64 viršūnių dydžio grafe ieškant kelio iš (0;0)

į (63;63) viršūnę.

– 4 algoritmo variantai:

• CPU

• GPU, taupant atminį („GPU v1“)

• GPU, dalinai taupant atminį („GPU v2“)

• GPU, netaupant atminties („GPU v3“)

2011.04.22 S. Topolovas ir A. PavasarisSkaičiavimų spartinimas panaudojus grafinį procesorių

6

Page 7: Skaičiavimų spartinimas panaudojus grafinį procesorių  DirectCompute  technologijos pagalba

Metodai: A* kelio paieška (rezultatai)

A* kelio paieškos algoritmo versijų vykdymo laikų palyginimas

2011.04.22 S. Topolovas ir A. PavasarisSkaičiavimų spartinimas panaudojus grafinį procesorių

7

Page 8: Skaičiavimų spartinimas panaudojus grafinį procesorių  DirectCompute  technologijos pagalba

Metodai: Hierarchinis uždengtos geometrijos atmetimas

• Tyrimo metodologija: – Aplinka su dideliais uždengiančiais objektais.

– Yra objektų tiek nepapuolančių į vartotojui matomą zoną, tiek uždengtų dengiančiais objektais, tiek matomų vartotojui.

– 3 algoritmo variantai:

• CPU

• GPU vykdo papuolimo į vartotojui matomą zoną tikrinimo žingsnį (1) ir dengiamumo sąlygos patikrinimo žingsnį (2) („GPU v1“)

• CPU atlieka (1), o GPU (2) žingsnį („GPU v2“)

2011.04.22 S. Topolovas ir A. PavasarisSkaičiavimų spartinimas panaudojus grafinį procesorių

8

Page 9: Skaičiavimų spartinimas panaudojus grafinį procesorių  DirectCompute  technologijos pagalba

Metodai: Hierarchinis uždengtos geometrijos atmetimas (rezultatai)

Hierarchinio uždengtos geometrijos atmetimo algoritmo versijų vykdymo laikų palyginimas

2011.04.22 S. Topolovas ir A. PavasarisSkaičiavimų spartinimas panaudojus grafinį procesorių

9

Page 10: Skaičiavimų spartinimas panaudojus grafinį procesorių  DirectCompute  technologijos pagalba

Metodai: MD5 maišos kodo nulaužimas

• Tyrimo metodologija: – Vertinamas tiek pilno perrinkimo, tiek rezultato radimo

laikas.

– Paieška vykdoma [a; z], [A; Z], [0; 9] aibėse

– 5 algoritmo variantai:

• CPU, su rekursija („CPU v1“)

• CPU, be rekursijos („CPU v2“)

• GPU („GPU v1“)

• CPU (simbolių komb. generavimas) + GPU („GPU v2“)

• Optimizuotas „GPU v2“ („GPU v3“)

2011.04.22 S. Topolovas ir A. PavasarisSkaičiavimų spartinimas panaudojus grafinį procesorių

10

Page 11: Skaičiavimų spartinimas panaudojus grafinį procesorių  DirectCompute  technologijos pagalba

Metodai: MD5 maišos kodo nulaužimas (rezultatai)

Simbolių radimo iš maišos funkcijos vykdymo laikų palyginimas

2011.04.22 S. Topolovas ir A. PavasarisSkaičiavimų spartinimas panaudojus grafinį procesorių

11

Page 12: Skaičiavimų spartinimas panaudojus grafinį procesorių  DirectCompute  technologijos pagalba

Metodai: MD5 maišos kodo nulaužimas (rezultatai)

Pilno simbolių perrinkimo vykdymo laikų palyginimas

2011.04.22 S. Topolovas ir A. PavasarisSkaičiavimų spartinimas panaudojus grafinį procesorių

12

Page 13: Skaičiavimų spartinimas panaudojus grafinį procesorių  DirectCompute  technologijos pagalba

Rezultatų apibendrinimas• [1] (4096 užklausos):

– „GPUv3“ algoritmas 3.52x greitesnis už CPU

– CPU->GPU: 0.002% („GPUv1“ ir „GPUv2“), 0.005% („GPUv3“)

– CPU<-GPU: 7.52% („GPUv1“), 8.51% („GPU v2“), 31.38% („GPUv3“)

– Gijų grupės dydis yra labai svarbus!

• [2]:– Jei vykdoma mažai skaičiavimų – juos geriau vykdyti su CPU, nebent

užklausų kiekis labai didelis

• [3] (pilnas perrinkimas, 5 simboliai):– „GPU v3“ algoritmas 7.81x greitesnis už „CPU v2“

2011.04.22 S. Topolovas ir A. PavasarisSkaičiavimų spartinimas panaudojus grafinį procesorių

13

Page 14: Skaičiavimų spartinimas panaudojus grafinį procesorių  DirectCompute  technologijos pagalba

Išvados• Mažai skaičiavimų atliekančių algoritmų vykdymas GPU

pagalba naudingas tik vykdant didelį skaičiavimo užklausų kiekį.

• Didelis GPU pagalba vykdomų algoritmų ciklomatinis sudėtingumas neigiamai įtakoja jų našumą.

• Siekiant panaudoti GPU skaičiavimams atlikti, reikia įvertinti informacijos perkėlimo tarp CPU bei GPU atminties laikus. Būtent dėl to mažai skaičiavimų reikalaujantys veiksmai yra greičiau vykdomi CPU pagalba.

• Gijų grupių dydis turi didelę įtaką GPU vykdomų algoritmų našumui.

• Protingas GPU resursų panaudojimas kartu su CPU suteikia nemažą našumo prieaugį skaičiavimui imliose užduotyse.

2011.04.22 S. Topolovas ir A. PavasarisSkaičiavimų spartinimas panaudojus grafinį procesorių

14

Page 15: Skaičiavimų spartinimas panaudojus grafinį procesorių  DirectCompute  technologijos pagalba

2011.04.22 15

Ačiū už dėmesį

S. Topolovas ir A. PavasarisSkaičiavimų spartinimas panaudojus grafinį procesorių