-
21. Data: 2011-03-08 12:19:04
Temat: Re: Moc we FLOPS dla typowego CPU
Od: Michoo <m...@v...pl>
W dniu 07.03.2011 19:52, slawek pisze:
> Nie chce pisac "program liczy szybko, bo juz po paru godzinach sa
> wyniki". Nie chce mi sie tez sprawdzac, czy to jest 5 i pól godziny, czy
> 5 godzin 14 minut 56 sekund.
To napisz około 5,5 godziny na sprzęcie takim i takim.
> Chcialbym dac sensowne oszacowanie
> niezalezne od marki procesora, roku jego produkcji itp. - srednie
> orientacyjne x MFLOPS razy y liczba sekund jaka zostala zuzyta na
> obliczenie.
To tak nie działa. Obliczenia zmiennoprzecinkowe to jest jedno, ułożenie
danych w pamięci to jest drugie, kolejność operacji zmiennoprzecinkowych
to jest trzecie, dodatkowe operacje to jest czwarte. No i dochodzi
jeszcze rodzaj operacji - inaczej liczy się mnożenie a inaczej sqrt.
To wszystko wpływa na to, że program może pracować bardzo różny czas na
teoretycznie bardzo podobnych platformach.
> Bez angazowania sie w testy, itd. Jedynie orientacyjnie. To
> wszystko.
MFLOPS mają sens w kontekście określonego testu.
Używanie MFLOPS bez wdawania się w testy uważam za spore nadużycie.
Możesz ewentualnie napisać, że potrzeba (robiłem tak w kilku
sprawozdaniach) xx dodawań, yy mnożeń, zz dzieleń. Bo to daje jakieś
pojęcie o _maksymalnym_ czasie i zlożoności, zwłaszcza, gdy zapiszesz to
w odniesieniu do danych wejściowych.
--
Pozdrawiam
Michoo
-
22. Data: 2011-03-08 13:26:55
Temat: Re: Moc we FLOPS dla typowego CPU
Od: Bronek Kozicki <b...@s...net>
On 07/03/2011 22:02, Wojciech Muła wrote:
> slawek wrote:
>>> Ale to przecież zależy nie tylko od flopsów.
>>
>> A od czego - poza fazą Księżyca - jeszcze?
>
> Glownie od czasow dostepu do pamieci.
dla uświadomienia Sławka - czas dostępu do pamięci może być ponad 100x
większy od czasu pojedynczej operacji.
B.
-
23. Data: 2011-03-08 18:40:35
Temat: Re: Moc we FLOPS dla typowego CPU
Od: Wojciech Muła <w...@p...null.onet.pl.invalid>
Bronek Kozicki wrote:
>>> A od czego - poza fazą Księżyca - jeszcze?
>>
>> Glownie od czasow dostepu do pamieci.
>
> dla uświadomienia Sławka - czas dostępu do pamięci może być ponad 100x
> większy od czasu pojedynczej operacji.
Tak, a do tego nietrafienia w cache potrafia byc kosztowne.
Niedawno zreszta byl tu watek o mnozeniu macierzy, gdzie zdaje
sie kol. Michoo dawal linki do implementacji cache-friendly tej
zdawaloby sie banalnej operacji.
Jak ktos chce sie pobawic pol minuty, proponuje skompilowac
programik http://0x80/snippets/cache_test.c (bez optymalizacji).
Robi banalna rzecz - 2 x czyta dane z duzej tablicy, tylko raz
odwoluje sie do kolejnych indeksow, a raz losowo. Ladnie widac
dysproporcje.
w.
-
24. Data: 2011-03-08 19:42:46
Temat: Re: Moc we FLOPS dla typowego CPU
Od: "slawek" <s...@h...pl>
Użytkownik "WojciechMuła" <w...@p...null.onet.pl.invalid>
napisał w wiadomości grup
dyskusyjnych:s...@c...tac...
> Glownie od czasow dostepu do pamieci.
Tj. do cache procesora?
Program potrzebuje jakieś 48 kB - a to /raczej/ da się zmieścić w cache.
Sam program ma jakieś 10 kB - też pewnie cały wlezie, choć pętla która
liczy - to pewnie nawet 1 kB nie przekracza.
slawek
-
25. Data: 2011-03-08 19:51:34
Temat: Re: Moc we FLOPS dla typowego CPU
Od: "slawek" <s...@h...pl>
Użytkownik "Bronek Kozicki" <b...@s...net> napisał w wiadomości grup
dyskusyjnych:4d762ea3$0$12227$c3e8da3$6d1d8cbd@news.
astraweb.com...
> dla uświadomienia Sławka - czas dostępu do pamięci może być ponad 100x
> większy od czasu pojedynczej operacji.
Jeżeli to swap na HDD to może być nawet 10000 razy wolniej.
Ale - program+dane z luzem mieszczą się w cache procesora - więc czas
dostępu do pamięci nie ma znaczenia.
slawek
(Nota bene, ciągle zamiast prostych odpowiedzi - mamy przechwalanie się i
pozerstwo - a jak ktoś słusznie zauważył - w Wiki JEST zestawienie
procesorów Intela, ale NIE MA w nim tak zasadniczych danych, jak wydajność
tych procesorów w FLOPS/MIPS. A podobno to takie proste i oczywiste. LOL
Poprawcie to, genjusze.)
slawek
-
26. Data: 2011-03-08 19:54:29
Temat: Re: Moc we FLOPS dla typowego CPU
Od: "slawek" <s...@h...pl>
Użytkownik "Andrzej Jarzabek" <a...@g...com> napisał w
wiadomości grup dyskusyjnych:a...@n...gaze
ta.pl...
> On Mon, 7 Mar 2011 13:14:03 -0800 (PST), Mariusz
> Marszałkowski<m...@g...com> wrote:
>> Dla kart graficznych mozna latwo znalezc:
>
> Ale co wam właściwie wyskakuje jak guglacie "CPU GFLOPS chart"? Bo mi np
> to:
>
> http://www.tomshardware.co.uk/charts/desktop-cpu-cha
rts-2010/Raw-Perfor
> mance-SiSoftware-Sandra-2010-Pro-GFLOPS,2409.html
Ciekawe, bo pod tym adresem mam:
Tom's Hardware > Error 404
Sorry!
The page you requested couldn't be found
Tom's Hardware
Zupełnie nie wiem czemu. LOL
slawek
-
27. Data: 2011-03-08 20:18:58
Temat: Re: Moc we FLOPS dla typowego CPU
Od: "slawek" <s...@h...pl>
Użytkownik "Michoo" <m...@v...pl> napisał w wiadomości grup
dyskusyjnych:il56rp$40c$...@n...onet.pl...
> To napisz około 5,5 godziny na sprzęcie takim i takim.
1. Niewygodne;
2. Robię obliczenia na różnym sprzęcie;
3. Docelowy "target" niekumaty odnośnie użycia komputerów (tj. nawet kumaty,
ale wypada udawać, że jest się ponad takie rzeczy);
4. Mogłoby być potraktowane jako kryptoreklama danego sprzętu;
5. Mogłoby być potraktowane jako reklama konkurencji.
> To wszystko wpływa na to, że program może pracować bardzo różny czas na
> teoretycznie bardzo podobnych platformach.
Niemniej jednak, biorąc przeciętny technologicznie sprzęt można znaleźć
oszacowanie. Takie lub inne. Może bardzo złe. Ale jednak jakieś.
No, nie udawajmy, że się nie da. Raczej - nie jest to wygodne - bo od paru
lat procesory niby lepsze - a "raw MFLOPS" buksują w miejscu (podobnie jak
częstości zegara).
Kiedyś podawano np. jak szybko dany komputer obliczył ileś tam cyfr pi.
Teraz, gdyby takie dane wykreślać... mogłoby być niezbyt "postępowo".
> MFLOPS mają sens w kontekście określonego testu.
> Używanie MFLOPS bez wdawania się w testy uważam za spore nadużycie.
Millions Float Point Operations Per Second. Co tu jest nadużyciem?
Jeżeli założymy, że dobre procesory liczą tak samo szybko csch (cosecant
hiperbolicus) jak zwykłe dodawanie - to trywialne.
Jeżeli założymy, że procesory liczą jednak wolniej ATAN2 niż FADD (jak to
było w czasach 80287) - to już trochę gorzej - ale można podać np. że dla 4
działań tyle, w skrajnych przypadkach jednak znacznie mniej, bo tyle.
Oczywiście - cache, RAM, prędkość SSHD, kolor myszki - też może mają
znaczenie. Tak samo jak nie sama moc silnika decyduje o prędkości samochodu.
Ale jeżeli kupujący samochód ma prawo wiedzieć, jakie parametry ma silnik -
tak samo ja chcę wiedzieć, ile MFLOPS wyciąga CPU. To logiczne.
> Możesz ewentualnie napisać, że potrzeba (robiłem tak w kilku
> sprawozdaniach) xx dodawań, yy mnożeń, zz dzieleń. Bo to daje jakieś
> pojęcie o _maksymalnym_ czasie i zlożoności, zwłaszcza, gdy zapiszesz to w
> odniesieniu do danych wejściowych.
Patrz wyżej - przeciętny czytacz będzie udawał że go to nie interesuje.
Trochę zresztą tak jak z samochodami - 1000 KM to fajnie się czyta - 52
uszczelki, 431 łożysk itd. to trochę durnowate szczegóły.
Jak na razie zakładam 1 cykl zegara = 1 operacja FPU. 10x w tę czy w tamtą
stronę... bez większego znaczenia. I tak algorytm O(N^3), więc jakby coś, to
5 razy mniejszy krok ;) i wyrobi się normę.
Nota bene, samo przełączenie na FPU też kosztuje.
slawek
-
28. Data: 2011-03-09 08:20:10
Temat: Re: Moc we FLOPS dla typowego CPU
Od: Michoo <m...@v...pl>
W dniu 08.03.2011 21:18, slawek pisze:
> Niemniej jednak, biorąc przeciętny technologicznie sprzęt można znaleźć
> oszacowanie. Takie lub inne. Może bardzo złe. Ale jednak jakieś.
Jeżeli oszacowanie na poziomie 10X Cię interesuje to tak.
>
> No, nie udawajmy, że się nie da. Raczej - nie jest to wygodne - bo od
> paru lat procesory niby lepsze - a "raw MFLOPS" buksują w miejscu
> (podobnie jak częstości zegara).
Jesteś ignorantem. Od pewnego czasu mamy właśnie wzrost GIPS (i trochę
mniejszy GFLOPS) przy równoczesnym zatrzymaniu, czy wręcz spadku
częstotliwości.
> Kiedyś podawano np. jak szybko dany komputer obliczył ileś tam cyfr pi.
> Teraz, gdyby takie dane wykreślać... mogłoby być niezbyt "postępowo".
Naprawdę?
>
>> MFLOPS mają sens w kontekście określonego testu.
>> Używanie MFLOPS bez wdawania się w testy uważam za spore nadużycie.
>
> Millions Float Point Operations Per Second. Co tu jest nadużyciem?
Zamiana _kolejności_ instrukcji (a więc brak zmiany ilości tych FLO)
może dać wielokrotnie różne wyniki.
>
> Jeżeli założymy, że dobre procesory liczą tak samo szybko csch (cosecant
> hiperbolicus) jak zwykłe dodawanie - to trywialne.
Nie zwykłe, bo tych dodawań jest po drodze kilka.
> Oczywiście - cache, RAM, prędkość SSHD, kolor myszki - też może mają
> znaczenie. Tak samo jak nie sama moc silnika decyduje o prędkości
> samochodu. Ale jeżeli kupujący samochód ma prawo wiedzieć, jakie
> parametry ma silnik - tak samo ja chcę wiedzieć, ile MFLOPS wyciąga CPU.
> To logiczne.
Od czasów wymyślenia przewidywania skoków i wywoływania operacji FP w
pipeline nie ma czegoś takiego jak RAW IPS/RAW FLOPS. Wszystko jest w
kontekście określonego testu na określonej wersji kompilatora.
>
>> Możesz ewentualnie napisać, że potrzeba (robiłem tak w kilku
>> sprawozdaniach) xx dodawań, yy mnożeń, zz dzieleń. Bo to daje jakieś
>> pojęcie o _maksymalnym_ czasie i zlożoności, zwłaszcza, gdy zapiszesz
>> to w odniesieniu do danych wejściowych.
>
> Patrz wyżej - przeciętny czytacz będzie udawał że go to nie interesuje.
> Trochę zresztą tak jak z samochodami - 1000 KM to fajnie się czyta
Może i fajnie, ale niewiele daje informacji o takich 'szczegółach' jak
np prędkość maksymalna, czy "ile +- czasu będę jechał na 100km pustej
autostradzie".
> - 52
> uszczelki, 431 łożysk itd. to trochę durnowate szczegóły.
To jest bez związku. Ja mówię bardziej o podaniu mocy, masy i
przełożenia zamiast podawania prędkości maksymalnej zmierzonej w
warunkach idealnych. (Najlepiej na hamowni bez obciążenia.)
>
> Jak na razie zakładam 1 cykl zegara = 1 operacja FPU. 10x w tę czy w
> tamtą stronę... bez większego znaczenia.
Jeżeli Cię interesuje taki rząd wielkości to o czym jest ta dyskusja?
--
Pozdrawiam
Michoo
-
29. Data: 2011-03-09 10:53:22
Temat: Re: Moc we FLOPS dla typowego CPU
Od: "slawek" <h...@s...pl>
Użytkownik "Michoo" napisał w wiadomości grup
dyskusyjnych:il7d7t$coe$...@n...onet.pl...
>Jeżeli oszacowanie na poziomie 10X Cię interesuje to tak.
Jeżeli nie możesz podać z dokładnością do 0.01%, to lepiej znać "na poziomie
10X" - niż nic nie umieć odpowiedzieć.
Jak na razie - nie podałeś nawet "na poziomie 10X". Dlaczego? Trywialne
wyjaśnienie - nie masz "wiedzy na ten temat".
>Jesteś ignorantem. Od pewnego czasu mamy właśnie wzrost GIPS (i trochę
>mniejszy GFLOPS) przy równoczesnym zatrzymaniu, czy wręcz spadku
>częstotliwości.
Gdybym miał konkretne dane - nie pytałbym - a więc masz rację, w jakimś
sensie jestem "ignorantem".
Niemniej jednak - jak czytam to co napisałeś - to jawisz się jako picer od
reklamy w marketingu, który nawija niczym towarzysz Gierek - "mamy wzrost
przy jednoczesnym zatrzymaniu"! LOL
A już "czy wręcz spadku" - to mega-LOL - przypomnienie "starych dobrych
czasów betonu" bezcenne. (Czekam jeszcze na "na tym odcinku"; "pomożecie?";
"ciągłe doskonalenie".)
Konkrety może jakieś? Ile mamy dziś megaflopsów - a ile mieliśmy w
analogicznym kwartale roku ubiegłego? Sam napisałeś, patrz wyżej, że
oszacowanie obarczone jest błędem rzędu tysiąca procent... więc skąd u
ciebie optymizm?! Nota bene, spadek częstotliwości to raczej nigdy nie jest
postępem - można, choćby chłodząc azotem, zawsze podkręcić i mieć trochę
więcej i trochę do przodu. Obniżanie częstotliwości służy bateriom, ale my
nie dyskutujemy o czasie pracy netbooków - jakbyś nie zauważył.
>Zamiana _kolejności_ instrukcji (a więc brak zmiany ilości tych FLO) może
>dać wielokrotnie różne wyniki.
Acha, właśnie usiłujesz mi przekazać, że czas obliczania 1+2+3 jest różny od
3+2+1 . Acha. A w domu to wszyscy zdrowi?
>Nie zwykłe, bo tych dodawań [dla obliczenia funkcji trygonometrycznych,
>hiperbolicznych] jest po drodze kilka.
To poczytaj sobie, jak był zrobiony Intel 80287. Od tamtych czasów trochę
minęło, oczekiwałbym jakiegoś postępu. Nota bene, masz jakieś blade pojęcie
o tym, jak naprawdę zaimplementowane są rozkazy FPU?! LOL
>Od czasów wymyślenia przewidywania skoków i wywoływania operacji FP w
>pipeline nie ma czegoś takiego jak RAW IPS/RAW FLOPS. Wszystko jest w
>kontekście określonego testu na określonej wersji kompilatora.
Wykręcasz się. Oczywiście, można nieco zaoszczędzić. Są dwie możliwości:
albo wyrocznia odgadnie wszystko i wszystko ułoży się optymalnie dla
prędkości - albo wyjdzie jak zwykle, tj. wszystko się spieprzy, nic się nie
da przyspieszyć. W jednym i drugim przypadku MOŻNA określić ile FLOPS
wyciągnął procesor. Każda inna możliwość będzie zawierała się w tak
ustalonym przedziale.
>Może i fajnie, ale [moc silnika samochodu] niewiele daje informacji o
>takich 'szczegółach' jak np prędkość maksymalna, czy "ile +- czasu będę
>jechał na 100km pustej autostradzie".
Zdziwisz się - daje. Prędkość maksymalną wyliczysz sobie, porównując ze
znana prędkością maksymalną tego samego auta, ale z innymi silnikami. Znając
masę - nietrudno obliczyć, z mocy silnika, ile zajmie rozpędzenie do 100
km/h. Czas przejazdu autostradą- też - choć w tym przypadku jest to nawet
prostsze - jeżeli auto jest ok, to ograniczeniem będą przepisy ruchu. I na
odwrót - jeżeli autko ma silnik o mocy 0.1 KM, to nie spodziewałbym się
pokonania bariery dźwięku.
Tymczasem dziś robi się ściemę na maksa - sprzedaje PC-ty o przyzwoitej
wydajności i "takie same laptopy" mające 10x mniej mocy obliczeniowej. A do
tego "tak samo dobre" netbooki, mające ułamek mocy laptopów. I szafa gra -
e-mail/www działa i na PC, i na lapku, i na netbooku równie zwiewnie.
>przełożenia zamiast podawania prędkości maksymalnej zmierzonej w
O ile pamiętam, to dla R&R nie podawano prędkości maksymalnej. Dla
pozostałych modeli aut - jak najbardziej się podaje. Poszukaj, sprawdź.
>Jeżeli Cię interesuje taki rząd wielkości to o czym jest ta dyskusja?
O tym, że nie jestem najmądrzejszy na świecie, więc pytam się, czy ktoś wie
coś, co pozwoliłoby moje - jakże zgrubne - oszacowania uściślić.
Niestety, choć grupa jest PCP - to mam jednak wrażenie, że poziom
przedszkolaków, co to dorwały się do fejsbuka. Zamiast konkretów - czyli
konkretnych danych, linków, referencji - a nawet po prostu jakichś własnych
pomysłów - "bywalcy" PCP napinają się aby wypaść na expertów. Pisownia
nieprzypadkowa.
slawek
-
30. Data: 2011-03-09 11:15:17
Temat: Re: Moc we FLOPS dla typowego CPU
Od: Marek Borowski <m...@b...com>
On 08-03-2011 20:51, slawek wrote:
>
> Użytkownik "Bronek Kozicki" <b...@s...net> napisał w wiadomości grup
> dyskusyjnych:4d762ea3$0$12227$c3e8da3$6d1d8cbd@news.
astraweb.com...
>> dla uświadomienia Sławka - czas dostępu do pamięci może być ponad 100x
>> większy od czasu pojedynczej operacji.
>
> Jeżeli to swap na HDD to może być nawet 10000 razy wolniej.
>
> Ale - program+dane z luzem mieszczą się w cache procesora - więc czas
> dostępu do pamięci nie ma znaczenia.
>
> slawek
>
> (Nota bene, ciągle zamiast prostych odpowiedzi - mamy przechwalanie się
> i pozerstwo - a jak ktoś słusznie zauważył - w Wiki JEST zestawienie
> procesorów Intela, ale NIE MA w nim tak zasadniczych danych, jak
> wydajność tych procesorów w FLOPS/MIPS. A podobno to takie proste i
> oczywiste. LOL Poprawcie to, genjusze.)
>
W przypadku nowoczesnych procesorow nie jest to takie proste do
policzenia, no chyba ze chcesz liczyc ilosc opercji nop / s.
Dlatego tez podaje sie raczej peak value korzystajac z konkretnych
programow testowych. Wyniki benchmarkow sa np. na www.spec.org
Duzo zalezy od algorytmu, wspomianie dostepy do pamieci (w tym TLB ktory
dla 4KB stron nie pokrywa duzego obszaru pamieci), CPU ma przeciez tez
potoki (juz w przypadku pentium kolejnosc instrukcji wplywala na czas
ich wykonania) i wiele jednostek wykonawczych, jednostka przewidywanie
skokow, wszystkie te elementy sa zalezne od siebie.
Pozdr
Marek