Optimalizacia Orbit@Home
Napísané: St Júl 02, 2008 6:58 pm
Tak tu mame prve spravy o mojej ceste k optimalizovanej aplikacii:
1. Skompiloval som uspesne SurveySimulator (64-bit), zatial s gcc a defaultnymi flagmi. Trosku ma to potrapilo, lebo treba niekolko inych open-source kniznic, a tie som najskor musel tiez skompilovat. Ale uz to frci.
2. Vyrobil som par testovacich WU, co mi dalo tiez trocha roboty. Testovat so 160 hodinovou WU by nebolo velmi vhodne .
Prve testy ukazuju, ze 64-bitova aplikacia je dost rychlejsia ako 32-bitova:
Original (stock) SurveySimulator_1.32_i686-pc-linux-gnu: 378.65s
64-bit (neoptimalizovany!) SurveySimulator_1.32_x86-64-pc-linux-gnu: 292.44s
Tak to mame 77.2% casu, alebo inak povedane zrychlenie o 22%. Celkom prijemne vysledky...
Teraz nejake zle spravy:
- Bohuzial, neda sa vymenit aplikacia v rozpocitanej jednotke. Je to vlastnost gsl kniznice (jedna z tych 3rd-party kniznic), ze ulozene data pre random-number-generator su v binarnom formate a su zavisle od architektury. A su naozaj nekompatibilne, o tom som sa presvedcil.
- Kvoli tomu, ze treba kompilovat aj ine veci, v dohladnom case sa nebudem zaoberat inym buildom ako x86-64. Ziadne i686 a uz vobec nie Windoze...
Dalsie plany su pomerne jasne:
- Pohrat sa s roznymi optimalizacnymi flagmi pre gcc a vyskusat aj icc. Zase prekompilovat vsetky kniznice... A testovat a testovat...
- Jedna z troch mojich ostrych WU je len na 1.72% (bezala len asi 3:18:51). To sa oplati v kazdom pripade prepnut na 64-bit. Zatial som tuto WU suspendol. Ked odovzdam tie prve dve, skusim "manualne resetnut WU", aby zacala pocitat odznova a nahodim to najrychlejsie co v tom momente budem mat. Je to trochu riskantna akcia, ale snad sa to podari... Mozno budu medzicasom aj nove WU, ale mozno ani nie: Ak chce Pasquale najprv kompletne dorazit tuto varku, niektore WU bude treba poslat znova a to chvilu potrva a takto by som medzicasom otestoval aplikaciu na ostrej jednotke...
1. Skompiloval som uspesne SurveySimulator (64-bit), zatial s gcc a defaultnymi flagmi. Trosku ma to potrapilo, lebo treba niekolko inych open-source kniznic, a tie som najskor musel tiez skompilovat. Ale uz to frci.
2. Vyrobil som par testovacich WU, co mi dalo tiez trocha roboty. Testovat so 160 hodinovou WU by nebolo velmi vhodne .
Prve testy ukazuju, ze 64-bitova aplikacia je dost rychlejsia ako 32-bitova:
Original (stock) SurveySimulator_1.32_i686-pc-linux-gnu: 378.65s
64-bit (neoptimalizovany!) SurveySimulator_1.32_x86-64-pc-linux-gnu: 292.44s
Tak to mame 77.2% casu, alebo inak povedane zrychlenie o 22%. Celkom prijemne vysledky...
Teraz nejake zle spravy:
- Bohuzial, neda sa vymenit aplikacia v rozpocitanej jednotke. Je to vlastnost gsl kniznice (jedna z tych 3rd-party kniznic), ze ulozene data pre random-number-generator su v binarnom formate a su zavisle od architektury. A su naozaj nekompatibilne, o tom som sa presvedcil.
- Kvoli tomu, ze treba kompilovat aj ine veci, v dohladnom case sa nebudem zaoberat inym buildom ako x86-64. Ziadne i686 a uz vobec nie Windoze...
Dalsie plany su pomerne jasne:
- Pohrat sa s roznymi optimalizacnymi flagmi pre gcc a vyskusat aj icc. Zase prekompilovat vsetky kniznice... A testovat a testovat...
- Jedna z troch mojich ostrych WU je len na 1.72% (bezala len asi 3:18:51). To sa oplati v kazdom pripade prepnut na 64-bit. Zatial som tuto WU suspendol. Ked odovzdam tie prve dve, skusim "manualne resetnut WU", aby zacala pocitat odznova a nahodim to najrychlejsie co v tom momente budem mat. Je to trochu riskantna akcia, ale snad sa to podari... Mozno budu medzicasom aj nove WU, ale mozno ani nie: Ak chce Pasquale najprv kompletne dorazit tuto varku, niektore WU bude treba poslat znova a to chvilu potrva a takto by som medzicasom otestoval aplikaciu na ostrej jednotke...