Aktualności:

Nasz kanał IRC - Porozmawiaj z nami.

Menu główne

Optymalizacje do linuxa

Zaczęty przez maro86, 05 Listopad 2008, 15:12

maro86

Witam.  Mógłbym prosić o krótki tutorial instalacji optymalek - mam Ubuntu 8.04

Pokopiowalem pliki z optymalkami niby tam gdzie powinny być, ale po ponownym odpaleniu Boinca nie ma zadnych informacji o zmienie aplikacji - mam tylko aplikacje 0,76 5.20 oraz 0,76b 5.22

Xeon E5410@2.33GHz SCYTHE NINJA PLUS Rev.B (SCNJ-1100P)
Foxconn P35A-S@P36 2x Kingston HyperX KHX6400D2LL 1GB + 2x2GB Kingston 800Mhz
SAPPHIRE 5770 1GB DDR5 400/900 DVD LG
Corsair CMPSU-450VXEU - 450W Chieftec LBX-02BBB
Seagate Barracuda 7200.11 ST3500320AS 500GB + SAMSUNG HD120IJ 120 GB

TJM

#1
Przede wszystkim zacznij od prób skompilowania własnych exeków, jakim procem dysponujesz pod linuksem ? Te gotowe pliki dają przyspieszenie rzędu 20-30%, kompilując własne można wycisnąć dużo więcej. Jeśli przypadkiem masz proc Intela to tylko tak da się przyspieszenie opisać: :attack:
Generalnie procedura jest taka sama jak pod win. Rozpakowujesz jedno archiwum z wszystkimi plikami: app info, dwa joby, dwa wrappery, słowniki i ciphertext, potem z drugiego wybierasz exek. Przy starcie klienta powinno pisać 'Found app_info.xml...blablabla'. Zobacz czy nazwa aplikacji zgadza się z user friendly name w app_info - powinien chyba być dopisek -Opt ale nie pamiętam, czy linuksowa ma też to dopisane, a nie mam w tej chwili jak sprawdzić.
Oba wrappery i jedna lub dwie enigmy (kurde nie pamiętam jak tam jest w tym app_info) muszą mieć flagę wykonywalności (chmod +x nazwa pliku), wizualnie od razu to widać np. w MC bo będą zielone.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

D_T_G

Potestowałem znowu trochę u siebie te optymalki, od ostatniego razu wyniki same z siebie się nawet poprawiły (szkoda, że w archiwum nie ma już optymalek dla core2 ? ). Mój procek to wciąż c2d e6400@2.13, a system to opensuse 11.0 x86_64/kernel 2.6.30/kde 4.2.3, notatki z testów:

Cytat1. standard (141240e52b1720a11c49154237449b4a) z archiwum eb.tgz, pobrana z serwera w katalogu boinca miała takie same md5sum

real    4m29.941s
user    4m27.221s
sys     0m0.816s

2. aplikacja z app_test_522.tgz (bb2c0a7fbb12a337aa3e8b70f27ea09e), to samo md5sum co w test/pentium3

real    3m58.141s
user    3m54.671s
sys     0m0.308s

2a) test/pentium3 (bb2c0a7fbb12a337aa3e8b70f27ea09e)

real    4m8.502s
user    4m6.783s
sys     0m0.156s

3. test/pentium3_sse2 (56a339f730dc5248c6bbaa0380852acc)

real    4m1.636s
user    3m58.159s
sys     0m0.504s

4. test/pentium4 (b3048708f297b4396c404ff8648d3b6a)

real    3m41.127s
user    3m38.002s
sys     0m0.392s

5. test/pentiumpro (cfba64bd300d45bcf74ceab671caedd8)

real    3m45.396s
user    3m42.898s
sys     0m0.276s

6. test/athlon_tb (b85ff8da044f6437adf6a135d72c239e)

real    3m35.344s
user    3m33.137s
sys     0m0.728s

7. test/athlon_xp (7ef36fb3b891f747175a6b4fce486948)

real    3m56.734s
user    3m53.823s
sys     0m0.592s

8. test/default (ee743d57bc17d9ac2477e2fba562234d)

real    4m32.912s
user    4m30.793s
sys     0m0.248s

9. test/k6 (2c7756f9b8166076af8c59b83a8e29cf)

real    4m34.021s
user    4m31.865s
sys     0m0.252s

10. test/k6-2 (2c7756f9b8166076af8c59b83a8e29cf)

real    3m53.913s
user    3m50.714s
sys     0m0.552s

11. test/k6-3 (2c7756f9b8166076af8c59b83a8e29cf)

real    3m38.255s
user    3m35.441s
sys     0m0.784s

================================================
wybrane 64bitowe aplikacje z archiwum mdoernera (enigma_0.76_i686-pc-linux-gnu_optimized-Linux.tar.gz)

1. enigma_0.76_i686-pc-linux-gnu_Intel-Core_32 (d9a58a363e736748513cfbf89d8cffe2)

real    4m16.350s
user    4m13.500s
sys     0m0.768s

2. enigma_0.76_i686-pc-linux-gnu_Intel-Core_64 (f77575f9d82e9be388a92c6cd5cf0109)

real    3m11.278s
user    3m7.940s
sys     0m0.464s

3. enigma_0.76_i686-pc-linux-gnu_AnyX86_64 (2c0ce5e321667dc740383455181ffeda)

'./enigma: error while loading shared libraries: libmv.so.1: cannot open shared object file: No such file or directory'

4. enigma_0.76_i686-pc-linux-gnu_Intel-EM64T_64 (199177f89dc4a9d71c541527b3781cee)

real    3m9.378s
user    3m6.396s
sys     0m0.448s

5. enigma_0.76_i686-pc-linux-gnu_Intel-Pentium4_64 (40114c4d7693338b769bb18627cd83b9)

real    3m9.827s
user    3m7.408s
sys     0m0.488s

6. enigma_0.76_i686-pc-linux-gnu_amdfam10_64_gcc44 (892c681ccdfba43dc9d65db580223ba3)

real    3m48.846s
user    3m45.842s
sys     0m0.416s

7. enigma_0.76_i686-pc-linux-gnu_Intel-Wolfdale_64 (cdca1b16f581aa2dfc485a06cc78945a)

./enigma: error while loading shared libraries: libmv.so.1: cannot open shared object file: No such file or directory

W nawiasach sumy md5sum, ciekawe wyniki dla k6*, binarki niby te same a wyniki inne |-? Najlepszy wynik mam na enigma_0.76_i686-pc-linux-gnu_Intel-EM64T_64 :arrr:


TJM

W takich przypadkach jak z aplikacją K6/K6-2, warto powtórzyć test i zobaczyć czy aby któryś wynik nie jest nieprawdziwy. Aplikacja rozwija max prędkość kiedy cała zmieści się w cache i inny program o takim samym/wyższym priorytecie nie zakłóca jej działania, zwłaszcza dotyczy to tego benchmarku który jest krótki i na krótszych danych. Czasami wychodzą przez to takie kwiatki, że różnica 30% prędkości w benchmarku przekłada się na ledwie 5-10% na 'prawdziwych' WU - ten benchmark jest tylko taki orientacyjny, ale wystarcza na potrzeby testów np. własnych optymalizacji (na całkowicie nieobciążonym systemie).

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

D_T_G

Pilnowałem, żeby nic innego nie żarło procesora wtenczas, raz z crona system puścił sobie jakiś czyszczenie systemu plików, ale przy zupełnie innych binarkach. Może i warto by było powtórzyć ten test, ale teraz mi się już nie chce :no: Zapuściłem optymalki EM64T_64 i dają radę, trochę WU się posypało, ale z innego powodu (WU download error: couldn't get input files: 00hc_wu_0).


TJM

Te błędy to moja wina, zmieniłem ID workunitów na liczbę zapisaną w systemie 62-kowym (wszystkie duże/małe litery +cyfry), przy okazji zrobiłem literówkę w skrypcie który generował nazwy plików, przez co niektóre WU zostały wygenerowane bez głównego pliku.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.