nemlineárisoptimalizálásiproblémákpárhuzamos...

36
Motiváció Eredmények Összefoglalás Nemlineáris optimalizálási problémák párhuzamos megoldása grafikus processzorok felhasználásával Sipos Ágoston 1 1 Eötvös Loránd Tudományegyetem, Informatikai Kar Kari TDK, 2016. 05. 10. Sipos Ágoston

Upload: others

Post on 05-Oct-2019

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

Nemlineáris optimalizálási problémák párhuzamosmegoldása grafikus processzorok felhasználásával

Sipos Ágoston1

1Eötvös Loránd Tudományegyetem,Informatikai Kar

Kari TDK, 2016. 05. 10.

Sipos Ágoston

Page 2: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

Tartalom

1 MotivációNumerikus optimalizálásGPU programozásAlkalmazásokGoogle Ceres

2 EredményekMegvalósításElemzésHomográfiaillesztés

Sipos Ágoston

Page 3: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

Numerikus optimalizálásGPU programozásAlkalmazásokGoogle Ceres

Tartalom

1 MotivációNumerikus optimalizálásGPU programozásAlkalmazásokGoogle Ceres

2 EredményekMegvalósításElemzésHomográfiaillesztés

Sipos Ágoston

Page 4: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

Numerikus optimalizálásGPU programozásAlkalmazásokGoogle Ceres

Numerikus optimalizálásOptimalizálási feladatok

argminx

f (x)

Illesztések

Sipos Ágoston

Page 5: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

Numerikus optimalizálásGPU programozásAlkalmazásokGoogle Ceres

Numerikus optimalizálásOptimalizálási feladatok

argminx

f (x)

Illesztések

Sipos Ágoston

Page 6: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

Numerikus optimalizálásGPU programozásAlkalmazásokGoogle Ceres

Numerikus optimalizálásAutomatikus differenciálás

Automatikus differenciálásDuális számokat használPontosCsak explicit módonmegadható, elemifüggvényekre használható

Numerikus differenciálásVéges differenciákathasználGyors, de numerikusanpontatlanBármilyen kiértékelhetőfüggvényre alkalmazható

Sipos Ágoston

Page 7: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

Numerikus optimalizálásGPU programozásAlkalmazásokGoogle Ceres

Tartalom

1 MotivációNumerikus optimalizálásGPU programozásAlkalmazásokGoogle Ceres

2 EredményekMegvalósításElemzésHomográfiaillesztés

Sipos Ágoston

Page 8: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

Numerikus optimalizálásGPU programozásAlkalmazásokGoogle Ceres

GPU programozás

Eredetileg grafikai számítások elvégzésérePárhuzamosítottságot támogatNagy számítási kapacitás kiaknázható

Számítógépes látásban sok ezer adatpont −→ jó apárhuzamosítás

Sipos Ágoston

Page 9: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

Numerikus optimalizálásGPU programozásAlkalmazásokGoogle Ceres

GPU programozás

Eredetileg grafikai számítások elvégzésérePárhuzamosítottságot támogatNagy számítási kapacitás kiaknázható

Számítógépes látásban sok ezer adatpont −→ jó apárhuzamosítás

Sipos Ágoston

Page 10: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

Numerikus optimalizálásGPU programozásAlkalmazásokGoogle Ceres

Tartalom

1 MotivációNumerikus optimalizálásGPU programozásAlkalmazásokGoogle Ceres

2 EredményekMegvalósításElemzésHomográfiaillesztés

Sipos Ágoston

Page 11: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

Numerikus optimalizálásGPU programozásAlkalmazásokGoogle Ceres

AlkalmazásokSzámítógépes látás

SíkhomográfiaKamerakalibráció

Sipos Ágoston

Page 12: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

Numerikus optimalizálásGPU programozásAlkalmazásokGoogle Ceres

AlkalmazásokSzámítógépes látás

SíkhomográfiaKamerakalibráció

Sipos Ágoston

Page 13: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

Numerikus optimalizálásGPU programozásAlkalmazásokGoogle Ceres

Tartalom

1 MotivációNumerikus optimalizálásGPU programozásAlkalmazásokGoogle Ceres

2 EredményekMegvalósításElemzésHomográfiaillesztés

Sipos Ágoston

Page 14: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

Numerikus optimalizálásGPU programozásAlkalmazásokGoogle Ceres

Google Ceres

Jelenleg a legkorszerűbb numerikus optimalizációs rendszer

Nyílt forrású, C++ template könyvtárAutomatikus differenciálást is használ

Sipos Ágoston

Page 15: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

Numerikus optimalizálásGPU programozásAlkalmazásokGoogle Ceres

Google Ceres

Jelenleg a legkorszerűbb numerikus optimalizációs rendszer

Nyílt forrású, C++ template könyvtárAutomatikus differenciálást is használ

Sipos Ágoston

Page 16: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

MegvalósításElemzésHomográfiaillesztés

Tartalom

1 MotivációNumerikus optimalizálásGPU programozásAlkalmazásokGoogle Ceres

2 EredményekMegvalósításElemzésHomográfiaillesztés

Sipos Ágoston

Page 17: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

MegvalósításElemzésHomográfiaillesztés

Duális számok

Komplex számokhoz hasonló algebrai struktúra

(a, b) · (c , d) = (a · c , b · c+a ·d)

C++ template osztállyal jól kezelhető

Pontos deriváltkiértékelésre alkalmas (automatikus deriválás)

Sipos Ágoston

Page 18: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

MegvalósításElemzésHomográfiaillesztés

Duális számok

Komplex számokhoz hasonló algebrai struktúra

(a, b) · (c , d) = (a · c , b · c+a ·d)

C++ template osztállyal jól kezelhető

Pontos deriváltkiértékelésre alkalmas (automatikus deriválás)

Sipos Ágoston

Page 19: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

MegvalósításElemzésHomográfiaillesztés

Duális számok

Komplex számokhoz hasonló algebrai struktúra

(a, b) · (c , d) = (a · c , b · c+a ·d)

C++ template osztállyal jól kezelhető

Pontos deriváltkiértékelésre alkalmas (automatikus deriválás)

Sipos Ágoston

Page 20: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

MegvalósításElemzésHomográfiaillesztés

Kódgenerálás

Matematikai függvények (Rn→ R) kódjainak generálására

Duális számok segítségével deriváltak kódját is elkészíti

Sipos Ágoston

Page 21: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

MegvalósításElemzésHomográfiaillesztés

Kódgenerálás

Matematikai függvények (Rn→ R) kódjainak generálására

Duális számok segítségével deriváltak kódját is elkészíti

Sipos Ágoston

Page 22: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

MegvalósításElemzésHomográfiaillesztés

Deriváltkiértékelés

SIMD paradigma használatával

n

∑i=0

fi (p,xi)

Sipos Ágoston

Page 23: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

MegvalósításElemzésHomográfiaillesztés

AlgoritmusokNumerikus optimalizálás

Gradiens módszer

Gauss-Newton módszer

Levenberg-Marquardt módszer

Sipos Ágoston

Page 24: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

MegvalósításElemzésHomográfiaillesztés

AlgoritmusokNumerikus optimalizálás

Gradiens módszer

Gauss-Newton módszer

Levenberg-Marquardt módszer

Sipos Ágoston

Page 25: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

MegvalósításElemzésHomográfiaillesztés

AlgoritmusokNumerikus optimalizálás

Gradiens módszer

Gauss-Newton módszer

Levenberg-Marquardt módszer

Sipos Ágoston

Page 26: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

MegvalósításElemzésHomográfiaillesztés

Tartalom

1 MotivációNumerikus optimalizálásGPU programozásAlkalmazásokGoogle Ceres

2 EredményekMegvalósításElemzésHomográfiaillesztés

Sipos Ágoston

Page 27: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

MegvalósításElemzésHomográfiaillesztés

KonvergenciaKörillesztés

A körillesztés - generált kezdőkörökre - mindig konvergált.

Sipos Ágoston

Page 28: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

MegvalósításElemzésHomográfiaillesztés

KonvergenciaEllipszisillesztés

Az ellipszisillesztés - kevés kivételtől eltekintve - konvergált.

Sipos Ágoston

Page 29: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

MegvalósításElemzésHomográfiaillesztés

Hatékonyság

Az OpenCL lehetővé teszi a hardverválasztást.

CPU-n futtatott tesztekGPU-n futtatott tesztek

}−→összehasonlíthatók

Sipos Ágoston

Page 30: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

MegvalósításElemzésHomográfiaillesztés

HatékonyságKörillesztés

Sipos Ágoston

Page 31: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

MegvalósításElemzésHomográfiaillesztés

HatékonyságEllipszisillesztés

Sipos Ágoston

Page 32: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

MegvalósításElemzésHomográfiaillesztés

Tartalom

1 MotivációNumerikus optimalizálásGPU programozásAlkalmazásokGoogle Ceres

2 EredményekMegvalósításElemzésHomográfiaillesztés

Sipos Ágoston

Page 33: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

MegvalósításElemzésHomográfiaillesztés

Homográfiaillesztés

Sipos Ágoston

Page 34: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

MotivációEredményekÖsszefoglalás

Összefoglalás

Egy OpenCL alapú numerikus optimalizálási rendszer.Többféle (illesztési és számítógépes látási) problémánvalidálva.

Kitekintés

További feladatok megoldása.Hatékonyság további javítása.

Sipos Ágoston

Page 35: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

Appendix

Irodalom (kivonat)

Jeffrey A. Fike, Juan J. Alonso.The Development of Hyper-Dual Numbers for Exact SecondDerivative Calculations.2011.

John E. Stone, David Gohara, Guochun Shi.OpenCL: A Parallel Programming Standard for HeterogeneousComputing Systems.2010.

Sameer Agarwal, Keir Mierle and Others.Ceres Solver.http://ceres-solver.org

Sipos Ágoston

Page 36: Nemlineárisoptimalizálásiproblémákpárhuzamos ...people.bolyai.elte.hu/~siposagoston/publications/presentation.pdf · Informatikai Kar KariTDK,2016. 05. 10. SiposÁgoston. Motiváció

Appendix

Vége

Köszönöm a figyelmet!

Sipos Ágoston