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!news.task.gda.pl!not-for-mail
    From: Edek <e...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: Podpis cyfrowy większej ilości podmiotów
    Date: Thu, 18 Apr 2013 10:43:14 +0000 (UTC)
    Organization: CI TASK http://www.task.gda.pl/
    Lines: 35
    Message-ID: <kkoio2$o70$2@news.task.gda.pl>
    References: <kkdqot$5rl$1@node2.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>
    <d...@g...com>
    <9...@g...com>
    <1...@g...com>
    <5...@g...com>
    NNTP-Posting-Host: 178-36-247-220.adsl.inetia.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: 8bit
    X-Trace: news.task.gda.pl 1366281794 24800 178.36.247.220 (18 Apr 2013 10:43:14 GMT)
    X-Complaints-To: a...@n...task.gda.pl
    NNTP-Posting-Date: Thu, 18 Apr 2013 10:43:14 +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:202653
    [ ukryj nagłówki ]

    Dnia Thu, 18 Apr 2013 02:04:18 -0700 po głębokim namyśle M.M. rzekł:

    > Ja raczej nie napiszę w ASM, większość dawno temu zapomniałem :) Czy
    > mógłbyś podrzuć mi wersję tej procedury w asmie, tak żebym mógł ją
    > skompilować GCC64 bity? Czyli musiałby to być jakiś asembler osadzony.

    Napisałem wersję AVX, powinna działać na i3:

    http://pastebin.com/PEDVihPP

    Wersja ze strony Intela wyrabiała się w 1.5s (rozsądna była 2.5s)
    czyli 60% czasu, ja dodatkowo zrównolegliłem a gcc wykonało jeszcze
    jakieś voodoo i jest 30% czasu rozsądnej:

    $ time ./mb1 1000 1000
    test = 1423724122.000000 iter = 1473998340.000000

    real 0m0.748s
    user 0m0.745s
    sys 0m0.000s

    Wynik jest prawdopodobnie ok, ale nie jest idealnie taki sam. Przez dobre
    10 minut szukałem błędu i mam nauczkę, żeby z assemblerem się
    ostrożnie obchodzić, bo nie wiem czy jest błąd czy nie. A jak w czymś
    tak prostym nie potrafię znaleźć błędu przez 10 minut to oznacza
    tylko jedno: system error, wrong language.

    Dodatkowo okazało się, że jakakolwiek logika branchy w pętli
    wewnętrznej strasznie "boli". Przypuszczam, że wektoryzacja gcc
    o ile dobrze potrafi radzić sobie ze zrównoleglanymi danymi,
    to nawet tak proste ify jak w mandalbrocie już te algorytmy
    analizujące przerastają.

    --
    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: