eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingOpenMP - jest szybciej czy wolniej?Re: OpenMP - jest szybciej czy wolniej?
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!newsfeed2.atman.pl!newsfe
    ed.atman.pl!goblin2!goblin.stu.neva.ru!feed.news.qwest.net!mpls-nntp-05.inet.qw
    est.net!216.196.98.145.MISMATCH!border4.nntp.dca.giganews.com!border2.nntp.dca.
    giganews.com!nntp.giganews.com!nx02.iad01.newshosting.com!newshosting.com!newsf
    eed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!ne
    ws.neostrada.pl.POSTED!not-for-mail
    Content-Type: text/plain; charset=iso-8859-2; format=flowed; delsp=yes
    Newsgroups: pl.comp.programming
    Subject: Re: OpenMP - jest szybciej czy wolniej?
    References: <4f4feb4d$0$1271$65785112@news.neostrada.pl>
    Date: Fri, 02 Mar 2012 01:35:15 +0100
    MIME-Version: 1.0
    Content-Transfer-Encoding: Quoted-Printable
    From: "Jordan Szubert" <u...@j...us.to>
    Organization: HELL inc.
    Message-ID: <o...@a...home>
    User-Agent: Opera Mail/11.61 (Win32)
    Lines: 68
    NNTP-Posting-Host: 83.26.218.4
    X-Trace: 1330648524 unt-rea-a-02.news.neostrada.pl 1256 83.26.218.4:51085
    X-Complaints-To: a...@n...neostrada.pl
    Xref: news-archive.icm.edu.pl pl.comp.programming:195872
    [ ukryj nagłówki ]

    Dnia 01-03-2012 o 22:34:06 slawek <s...@h...pl> napisał(a):

    > Procedura solve (napisana w Fortranie), według profilera, wykonuje się
    > 2.43 mikrosekundy jako "single thread". Jeżeli jednak uruchomić program
    > jako wielowątkowy (2 wątki, OpenMP), to profiler pokazuje około 1.21
    > mikrosekundy. Problem jednak w tym że cały program, co zmierzyłem
    > "ręcznie" zwykłym stoperem, a także przez CPU_TIME z wnętrza programu,
    > wykonuje się wtedy nie krócej - ale aż 20 razy dłużej!
    >
    > Ciekawe: gprof stwierdza, że to co się zaoszczędziło na 2-gim wątku
    > zostało zjedzone przez _gcc_deregister_frame, ale i tak - według
    > profilera - cały program liczył się trochę krócej...
    >
    > Co to jest? Kiepska implementacja OpenMP? Urok systemu MS Windows XP ?
    > (Komputer z fizycznie 2-ma rdzeniami i tyle właśnie wątków jest z
    > OpenMP.)
    >
    > A może jest tak, że jak program jest uruchomiony jako jednowątkowy, to
    > idzie na jednym rdzeniu i nikomu/niczemu nie pozwala sobie przerywać
    > (prawie 100% obciążenia rdzenia), natomiast dwuwątkowo co chwila blokuje
    > go sam system (obciążenie obu rdzeni jest jakieś takie połowiczne). I
    > choć CPU-time jest - jak widzi to profiler - 3.2 sekundy - to wall-time
    > jest niemal dwuminutowy?!
    >
    > Ma ktoś pomysł jak to rozruszać?

    myślę, że może być tak, że dwurdzeniowy program poświęca dużo czasu na
    przerzucanie danych między rdzeniami, a jednordzeniowy cały czas ma dane w
    tym rdzeniu, co trzeba (bo jedynym)
    może być coś innego, Fortrana ni OpenMP nie znam, nie wiem co twój kod
    robić próbuje...

    --
    Jordan Szubert

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: