eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingprogramował ktoś na taki sprzęt? › Re: programował ktoś na taki sprzęt?
  • 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: