eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPodpis cyfrowy większej ilości podmiotówRe: Podpis cyfrowy większej ilości podmiotów
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!.POSTED!not-for-mail
    From: bartekltg <b...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: Podpis cyfrowy większej ilości podmiotów
    Date: Thu, 18 Apr 2013 15:43:37 +0200
    Organization: ATMAN - ATM S.A.
    Lines: 94
    Message-ID: <kkotab$1md$1@node2.news.atman.pl>
    References: <kkdqot$5rl$1@node2.news.atman.pl> <kkdtr5$9n9$1@node1.news.atman.pl>
    <2...@g...com>
    <kkec03$n4h$1@node2.news.atman.pl>
    <a...@g...com>
    <kkfd89$o9b$1@news.task.gda.pl>
    <0...@g...com>
    <kkh42k$81t$1@news.task.gda.pl>
    <b...@g...com>
    <kkhr56$a62$1@news.task.gda.pl>
    <3...@g...com>
    <kkkjpe$b54$1@news.task.gda.pl>
    <8...@g...com>
    <4...@g...com>
    <c...@g...com>
    <kkmvfc$hu3$2@news.task.gda.pl>
    <d...@g...com>
    <kkoi2a$o70$1@news.task.gda.pl>
    <2...@g...com>
    <kkokfu$o70$3@news.task.gda.pl> <kkopvd$u03$1@node2.news.atman.pl>
    <kkos77$g5v$2@news.task.gda.pl>
    NNTP-Posting-Host: 89-73-65-59.dynamic.chello.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: node2.news.atman.pl 1366292619 1741 89.73.65.59 (18 Apr 2013 13:43:39 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Thu, 18 Apr 2013 13:43:39 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130328
    Thunderbird/17.0.5
    In-Reply-To: <kkos77$g5v$2@news.task.gda.pl>
    Xref: news-archive.icm.edu.pl pl.comp.programming:202671
    [ ukryj nagłówki ]

    W dniu 2013-04-18 15:24, Edek pisze:
    > Dnia Thu, 18 Apr 2013 14:46:35 +0200 po głębokim namyśle bartekltg rzekł:
    >
    >> W dniu 2013-04-18 13:13, Edek pisze:
    >>> http://blogs.mathworks.com/loren/2011/07/18/a-mandel
    brot-set-on-the-
    > gpu/
    >>>
    >>> Mówi o 340x szybciej w Matlabie.
    >>
    >> Strasznie tu "oszukują". Porównują kod dla gpu napisany w c++
    >> wg rozważanego w watku algorytmu (na razie ok) z taką samą iteracją na
    >> macierzach... ale bez warunku "norma>2 to nie licz dalej"
    >> i wszystkie piksele mieli maxIterations+1 razy;-) To nasze grupowe
    >> algorytmy będą od tego kilka-kilkanaście razy szybsze.
    >
    > Matlab to nie pisanie bezpośrednio na gpu, nawet nie chciało
    > mi się specjalnie czytać, fir się pytał "ile razy szybciej",
    > to mu podałem żródło :)

    Ale fir pyał się, ile razy jego auto będzie szybsze,
    jeśli domontuje drugi silnik.
    Ta strona porównuje do dwusilnikowe auto to ciężarówki,
    jadącej okrężną dorogą;)


    >> Bez zmiany algorytmu GPU przyspieszyło im 16 razy,
    >> i tego rzędu przyspieszenia (z przeczuciem na ciut mniejsze)
    >> bym się spodziewał w porównaniu cpu/gpu.
    >
    > Nie wiem jakie masz doświadczenie z gpu, ale tam oszacowuje się
    > algorytmy przez najniższą z przepustowości - np. nominalnie
    > we floatach przepustowość RAM jest ~70 razy mniejsza od obliczeniowej,
    > zależy oczywiście od tego ile się wczytuje i ile wyników się zapisuje
    > i czy dostęp do ram jest uszeregowany czy nie.

    Nie rozumiesz mnie. Ja nie czepiam się części GPU, ta została
    wykonana dobrze. Czepiam się tego, że ten wynik porównano
    z innym algorytmem, w doatku absolutnie nieefektywnym na cpu.


    > I teraz tak:
    > mając niezależne pętle dla sąsiednich pixeli przydaje się
    > instrukcja "any" - jeżeli żaden z wątków nie ma nic do liczenia
    > kończy się 16x16 pixeli czy ile ich tam razem będzie optymalnie
    > sprawdzając po każdej iteracji.

    Ależ ja o tym wiem, doczytaj, o co mi chodzi.

    > Pytanie do Ciebie byłoby takie: jak dobrać ilość/kształt pixeli

    Było do mnie jakieś pytanie? :)

    > przetwarzanych razem i jak policzyć ilość marnowanej mocy
    > obliczeniowej przez blok pixeli, z których część kończy
    > iteracje wcześniej, zakladająć że "any" nie kosztuje
    > mocy obliczeniowej - inne bloki w tym czasie liczą -
    > tylko traci się na czas na pixele "już policzone" w bloku.
    > Założenie trochę naciągane, ale niech będzie.

    Będzie dość niewielka, bo bliskie obszary w większości przypadków
    zachowują się podobnie. Największe straty będą na 'powierzchni'
    naszej figury przy dużym maxiter, ale nadal to dośc niewielkia
    różnica. Można o tym pomyśleć jak o liczeniu tego samego fraktala
    lekko rozpuchniętego.

    Z tej samej sztuczki korzystaliśmy dla
    mniejszych pakunków korzystając z SSE.
    Dlatego przewidywałem nieznacznie mniej niż 16 razy.
    Teraz wszytko jasne?


    > Ja się nie podejmuję, ale widzę że praktykujesz matmę mocniej
    > niż ja, więc jak ci się chce to powiedz jak dobrać optymalne
    > parametry, pewnie na podstawie rozkładów ilości iteracji.
    > Optymalne wymiary bloku i oszacowanie "strat" przepustowości.
    > Bo detale doboru funkcji (abs/norm/dzielenie.vs.mnożenie)
    > i oczekiwanej prezyzji są w instrukcji.
    >
    > Mogę co najwyżej obiecać, że przetestuję wyniki, to prosty
    > algorytm.

    Obstawiam, że najlepiej byoby podzielić na obszary możliwie
    kwadratowe o rozmiarze takim, by się mieściły w ramach jednego
    układu prowadzącego te zależne od siebie obliczenia (zapomnialem
    jak się to nazywało, szkolenie z GPU dawno bylo:( blok? )

    Hmm, czy tu nie robimy właśnie tego?
    kernel.ThreadBlockSize = [kernel.MaxThreadsPerBlock,1,1];
    kernel.GridSize = [ceil(numElements/kernel.MaxThreadsPerBlock),1];

    pzdr
    bartekltg


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: