-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!.POSTED!not-for-mail
From: Edek Pienkowski <e...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: programował ktoś na taki sprzęt?
Date: Fri, 1 Mar 2013 13:26:25 +0000 (UTC)
Organization: ATMAN - ATM S.A.
Lines: 103
Message-ID: <kgqaa0$l8p$1@node1.news.atman.pl>
References: <6...@g...com>
<kgo7p0$kcn$1@node2.news.atman.pl>
<a...@g...com>
NNTP-Posting-Host: 178-37-243-38.adsl.inetia.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: node1.news.atman.pl 1362144385 21785 178.37.243.38 (1 Mar 2013 13:26:25 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Fri, 1 Mar 2013 13:26:25 +0000 (UTC)
User-Agent: Pan/0.139 (Sexual Chocolate; GIT bf56508 git://git.gnome.org/pan2)
Xref: news-archive.icm.edu.pl pl.comp.programming:202112
[ ukryj nagłówki ]Dnia Fri, 01 Mar 2013 02:14:05 -0800, M.M. wyszeptal:
>> To się zupełnie nie nadaje
>> do przechodzenia grafu czy liczenia silni rekurencyjnie.
> Nie mam pewnych informacji, ale gdzieś o uszy mi się obiła
> plotka, że ktoś na to szachy napisał. Mnie też się to
> wydaje dziwne, ale któż to wie...
Całkiem możliwe.
>> To cierpi nawet, jeśli są rozgałęzienia programu.
> To niedobrze :(
Niekoniecznie. Krótkie if-y są zastępowane predykatami.
Jedne instrukcje wykonywane są gdy true, inne gdy false.
To byłoby dwa razy wolniej. Większe if-y wymagają interwencji
schedulera, wykonywane są najpierw jedne potem drugie. Tak
czy inaczej moc obliczeniowa jest 30-70x większa niż
przepustowość RAM, często if-y nic nie zmienią.
>> Bardzo dobrze. Ale w swoich zadaniach, to nie jest uniwersalny
>> procesor do wszystkiego.
>
>
>> Z lekkim przymrożeniem oka możesz patrzeć na to jak na
>> koprocesor, tylko on nie dostaje do przemnożenia
>> dwa double, tylko dwie macierze zespolone po 200MB,
>> albo jakąś funkcję do policzenia w tysiącach punktów naraz.
> Myślę o tym głównie pod kątem czegoś podobnego do symulowanego
> wyżarzania, czyli w kółko liczenie wartości funkcji. Niestety
> ta funkcja, choć nie jest funkcją rekurencyjną, ma
> dużo ifów.
Wiele algorytmów piszę inaczej na cpu niż na gpu. Główną zaletą
Phi jest pewnie czas pisania kodu.
>> Jak się sprawdza. AMD Phenon II X4 955 (3.2GHz)
>> kontra
>> GTX 460v2 (też nie kręcone)
>> Przy tym, co karty lubią najbardziej, czyli mnożeniu
>> gęstych macierzy karta była jakieś 12 razy szybsza
>> na dużych danych. Wliczając w to czas transferu danych!
> Jeśli wierzyć temu co piszą na wiki, to GTX 460v2 też ma
> ponad 1TFLOP... 12 razy na czymś co karta lubi najbardziej...
> to nie aż tak dużo. Powiedzmy że bez transferu byłoby to
> ze 20 razy, a na gąszczu if-ów 10 razy... hmmm. Myślałem
> że to będzie przyspieszenie rzędu 100-200 razy.
Niektórych nie ma sensu przepisaywać na kartę, niektóre mają
10x, niektóre algorytmy dają 200x. Liczy się przepustowość,
zupełnie inaczej niż na cpu.
> Gdzieś czytałem benchmark w którym cztery tesle działały
> 270 razy szybciej niż dwa zwykłe procesory. Aplikacja to
> jakaś sieć neuronowa. Kurcze... jeśli karta ma prawie 3tys
> rdzeni i nawet gdy rdzeń jest 10 razy wolniejszy od rdzenia
> w głównym procesorze, to nadal karta powinna dawać przyspieszenie
> rzędu 50-100 razy.
Marnować Teslę na sieci neuronowe? To już jest przesada IMO :)
> Może to jednak kwestia asemblera? Nie wiem jak jest dzisiaj.
> Ale jakieś kilkanaście lat temu, jak przepisałem niechlujnie
> procedurę w asemblerze, to działała 3 razy szybciej niż
> skompilowana kompilatorem C/C++. Gdy przepisałem ją porządnie,
> to działała 3-4 razy szybciej. Gdy dostosowałem jeszcze
> strukturę danych, czyli tak jakby zmiana algorytmu, to dało się
> wyciągnąć nawet 5 razy. Potem pojawiły się lepsze kompilatory,
> które od swoich starszych poprzedników generowały kod 3 razy
> szybszy. Można było je pokonać pisząc ręcznie w asm, ale to
> wymagało dużo pracy. Potem już w asemblerze nie pisałem i teraz
> generalnie nie znam się, ale faktem jest, że często pojawiają się nowe
> procesory. Czy kompilatory nadążają za nowymi procesorami?
> Jak jest teraz, to nie wiem, ale kiedyś pojawiały się z
> dużym opóźnieniem. Karta graficzna, czy tam taki koprocesor,
> to tak jakby większa nowość niż nowy procesor... może
> języki wysokiego poziomu na te karty kuleją i pisząc w
> asemblerze da się uzyskać przyspieszenie nawet 10 krotne
> względem języka wysokopoziomowego?
Możesz pisać w PTX. Nie jest bezpośrednio assemblerem, jest
częściowo tłumaczony przez sterownik, ale daje pełną kontrolę.
Przyśpieszenie uzyskuje się generalnie na dwa sposoby: próbuje
się zająć wszystkie rdzenie, jest nawet prosty kalkulator do tego
celu w Excelu, oraz optymalizuje dostęp do pamięci, w tym
pamięci na gpu - zależnie od tego co ma niższą przepustowość.
>> Oczywiście, obliczenia za pomocą bibliotek, nie własnych wynalazków.
> Więc te 12 razy to może jednak dobre oszacowanie, nie wiem
> już co myśleć.
>
>> Za 15kzł chciałbym więcej RAMu:)
>> "Panie, a co ja mam zrobi na tych marnych 4GB na węźle" :)
> Podejrzewam że mnie by wystarczyło nawet 0.5GB na kartę. Ale
> myślałem że to będą przyspieszenia rzędu 100 razy względem i7.
To bardzo dobrze, że nie potrzebuje więcej Ram. Zostaje tylko
dopasować algorytm i kupić grzałkę ;) Same dane przy 192GB/s
teoretycznie wczytasz 300 razy na sekundę.
--
Edek
Następne wpisy z tego wątku
- 02.03.13 10:51 Roman W
- 02.03.13 16:59 M.M.
- 02.03.13 17:27 Edek Pienkowski
- 02.03.13 18:06 M.M.
- 02.03.13 18:34 Edek Pienkowski
- 02.03.13 18:51 firr kenobi
- 02.03.13 18:51 firr kenobi
- 02.03.13 19:10 M.M.
- 03.03.13 01:55 Roman W
- 03.03.13 10:50 firr kenobi
- 03.03.13 10:51 firr kenobi
- 03.03.13 10:51 firr kenobi
- 03.03.13 19:24 M.M.
- 03.03.13 19:29 M.M.
- 03.03.13 20:38 Adam Majewski
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-19 Test - nie czytać
- 2025-01-19 qqqq
- 2025-01-19 Tauron przysyła aneks
- 2025-01-19 Nowa ładowarka Moya a Twizy -)
- 2025-01-18 Power BANK z ładowaniem przelotowym robi PRZERWY
- 2025-01-18 Pomoc dla Filipa ;)
- 2025-01-18 znowu kradno i sie nie dzielo
- 2025-01-18 Zieloni oszuchiści
- 2025-01-18 Zielonka => Specjalista ds. public relations <=
- 2025-01-18 Warszawa => Frontend Developer (JS, React) <=
- 2025-01-18 Warszawa => Software .Net Developer <=
- 2025-01-18 Warszawa => Developer .NET (mid) <=
- 2025-01-18 Katowice => Administrator IT - Systemy Operacyjne i Wirtualizacja <=
- 2025-01-17 Zniknął list gończy za "Frogiem". Frog się nam odnalazł?
- 2025-01-17 Kto wytłumaczy "głupiemu" prezydentowi Dudzie wielką moc prawną "dekretu premiera" TUSKA? [(C)Korneluk (2025)]