🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #205134

Re: Podpis cyfrowy większej ilości podmiotów

#205134
From: bartekltg
Date: Thu, 18 Apr 2013 15:36
145 lines
7938 bytes
W dniu 2013-04-18 16:41, Edek pisze:
> Dnia Thu, 18 Apr 2013 15:43:37 +0200 po głębokim namyśle bartekltg rzekł:

>> 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ą;)
>
> Wbrew pozorom ludzie faktycznie korzystają z R i Matlaba, wygodne są.


Sam korzystam. Z R sporadycznie, ale z Matlaba znacznie częściej niż
z C++.

Nie chodzi tu o język, a o algorytm - on był tą okrężną drogą.

Samo mnożenie macierzy w Matlabie jest bardzo szybkie,
tak jak najlepszych bibliotek w C++ (ciezko coś rownie
szybkiego napisać ręcznie)



>>>> 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.
>
> Spróbuj nie rozwijać się fraktalnie na temat skutków prośby firra

Jedynie rzuciłęm uwagę, że w cytowanym przez Ciebie artykule
przyszpieszenie 340 razy jest 'oszustwem', bo porównuje się
wynik dobrego algorytmu w GPU z _niedobrym_ algorytmem na CPU.

> i zerknij na małe wyzwanie ze świata rzeczywistego. Ja nie mam problemu
> z tym, żeby coś w AVX zaimplementować. Czy MatLab jest optymalny czy
> nie pod względem SSE tego tak naprawdę nie wiem - przypuszczam znając
> dziedzinę od strony implementacyjnej, że _nie_ jest i to grubo.

Korzysta z jakiś grubych bibliotek chyba intela (IMK), więc
podejrzewam, że jest bardzo blisko optymalnej prędkości.


>> 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.
>
> "Dość niewielka" - ile to konkretnie wychodzi? I może intuicja mnie
> myli, ale fraktale nie zachowują się tak jak Ty to tutaj przedstawiasz.

Fraktalem jest _brzeg_ zbioru mandelbrota. Duże obszary z dala od
brzegu zachowują się dobrze, a i brzeg nie jest w żadnym razie gęsty
na dużych obszarach. Mówiąc po ludzku, w większości przypadków
jak w x było zielono, to piksel obok też będzie zielono.

Zresztą, popatrz na rysunki, bo to można z rysunków wywnioskować.

>
> Ja może nie szpanuję matematyką, bo przez ostatnie lata policzyłem
> 1 (słownie : jedną) różniczkę, ale masz do czynienia z olimpijczykiem
> ze starych czasów, i to Big Time.

Witam towarzysza:) Ale racja, dawne czasy.


> Skoro mówisz że oszukują a nie chce Ci się policzyć ile faktycznie
> da się wyciągnąć z gpu to dostrzegam tu pewną niekonsekwecję ;)

Nadal nie rozumiesz. Nie oszukują na GPU. Oszukują w rozwiązaniu
wzorcowym podając byle jakie.


>> 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?
>
> Jasne. A nie policzyłbyś ile to faktycznie wychodzi? Ja oferuję
> zmierzenie, żebyś nie musiał za bardzo zakasać rękawów.

No to weź kod z bloga, wygląda nieźle, i porównaj z którymś
algorytmem wrzuconym tu przez grupowiczów, najlepiej wielowątkowym
i z sse(N).

Nadal obstawiam, żę wynik będzie dość bliski proporcji
przy porównaniu algorytmów dla całych macierzy.
(Pewnie masz inny sprzet, wiec x16 z bloga jest neimiarodajne)

>>> 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? )
>
> Jest warp, block, grid, multiprocessor i karta z kilkoma MP.
>
> Dlaczego akurat kwadratowe, czy to minimalizuje różnice w iteracjach
> w obrębie bloku? Czy przy każdych parametrach? Założenia, dość
> realistyczne, podałem.

Na stronie sprzętowej się nie znam. Chodziło mi o sprawy
geometryczne. JAk chcesz, mogę policzyć, ile strat jest
przy jakich prostokątach, ale to wieczorem, bo muszę znikać;)

>
> Czas na mały showdown, polegający na praktycznym zastosowaniu
> znajomości podstaw fraktali i zastosowania w algorytmach, o ile masz czas.
>
> Jako okazja występuje Mandelbrot. Nawet nie wiem, czy to o co proszę jest
> trudne czy bardzo trudne.

Nie bardzo rozumiem, o co dokładnie prosisz:( Chyba się zgubiłem.

>
>> Hmm, czy tu nie robimy właśnie tego?
>> kernel.ThreadBlockSize = [kernel.MaxThreadsPerBlock,1,1];
>> kernel.GridSize = [ceil(numElements/kernel.MaxThreadsPerBlock),1];
>
> No niby tak. Gpu jest przykładem czegoś, po czym można oczekiwać
> teoretycznie policzonego wyniku, w przeciwieństwie do Intela
> gdzie od p4 w gmp i mpfr można w źródłach znaleźć mięso na
> temat nieprzewidywalności pipeline i wydajność jest trudna
> do oszacowania.
>
> Skoro już mówimy o Mandelbrocie to fajnie byłoby policzyć
> - na podstawie właściwości fraktala - jakie są optymalne
> wartości. Mnie ciekawi, czy teoretyczne właściwości tego
> prostego algorytmicznie przykładu poz mierzeniu okażą się
> prawidłowe na kartach. O to mi chodziło w poprzednim poście,
> plus małe wyzwanie.

Optymalne wartości czego? Rozmiaru bloku liczonego na raz?

pzdr
bartekltg
Technical Details
Message-ID: <kkp3t4$8b3$1@node2.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
References: <kkdqot$5rl$1@node2.news.atman.pl> <kkec03$n4h$1@node2.news.atman.pl> <a9253e59-21f5-43b5-853a-c60cb43c1f15@googlegroups.com> <kkfd89$o9b$1@news.task.gda.pl> <0fff07bc-e341-49a0-810c-333536e2901a@googlegroups.com> <kkh42k$81t$1@news.task.gda.pl> <b177dfc7-88f3-4cd7-9075-2acdd76f9662@googlegroups.com> <kkhr56$a62$1@news.task.gda.pl> <30021d10-a471-4cae-8f17-61eb36cb775e@googlegroups.com> <kkkjpe$b54$1@news.task.gda.pl> <8b53662c-8c31-4fc3-b82b-8173d9cf4f6f@googlegroups.com> <47d7734e-680b-4e13-995e-c0a2407217c3@googlegroups.com> <cdced490-b579-41ee-a123-afb12010cc12@googlegroups.com> <kkmvfc$hu3$2@news.task.gda.pl> <d936ef81-4b63-4dcb-8771-cc2a1faab4e1@googlegroups.com> <kkoi2a$o70$1@news.task.gda.pl> <21b4f3f3-7fce-470e-b839-3264af0a6349@googlegroups.com> <kkokfu$o70$3@news.task.gda.pl> <kkopvd$u03$1@node2.news.atman.pl> <kkos77$g5v$2@news.task.gda.pl> <kkotab$1md$1@node2.news.atman.pl> <kkp0n2$sit$1@news.task.gda.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: bartekltg <bartekltg@gmail.com>
Newsgroups: pl.comp.programming
Subject: Re: Podpis cyfrowy
 większej ilości podmiotów
Date: Thu, 18 Apr 2013 17:36:02 +0200
Organization: ATMAN - ATM S.A.
Lines: 149
Message-ID: <kkp3t4$8b3$1@node2.news.atman.pl>
References: <kkdqot$5rl$1@node2.news.atman.pl> <kkec03$n4h$1@node2.news.atman.pl> <a9253e59-21f5-43b5-853a-c60cb43c1f15@googlegroups.com> <kkfd89$o9b$1@news.task.gda.pl> <0fff07bc-e341-49a0-810c-333536e2901a@googlegroups.com> <kkh42k$81t$1@news.task.gda.pl> <b177dfc7-88f3-4cd7-9075-2acdd76f9662@googlegroups.com> <kkhr56$a62$1@news.task.gda.pl> <30021d10-a471-4cae-8f17-61eb36cb775e@googlegroups.com> <kkkjpe$b54$1@news.task.gda.pl> <8b53662c-8c31-4fc3-b82b-8173d9cf4f6f@googlegroups.com> <47d7734e-680b-4e13-995e-c0a2407217c3@googlegroups.com> <cdced490-b579-41ee-a123-afb12010cc12@googlegroups.com> <kkmvfc$hu3$2@news.task.gda.pl> <d936ef81-4b63-4dcb-8771-cc2a1faab4e1@googlegroups.com> <kkoi2a$o70$1@news.task.gda.pl> <21b4f3f3-7fce-470e-b839-3264af0a6349@googlegroups.com> <kkokfu$o70$3@news.task.gda.pl> <kkopvd$u03$1@node2.news.atman.pl> <kkos77$g5v$2@news.task.gda.pl> <kkotab$1md$1@node2.news.atman.pl> <kkp0n2$sit$1@news.task.gda.pl>
NNTP-Posting-Host: 89-73-65-59.dynamic.chello.pl
Mime-Version: 1.0
X-Trace: node2.news.atman.pl 1366299364 8547 89.73.65.59 (18 Apr 2013 15:36:04 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Thu, 18 Apr 2013 15:36:04 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130328 Thunderbird/17.0.5
In-Reply-To: <kkp0n2$sit$1@news.task.gda.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit