eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingpoprawność algorytmu › Re: poprawność algorytmu
  • X-Received: by 10.140.91.47 with SMTP id y44mr144214qgd.39.1427955285053; Wed, 01 Apr
    2015 23:14:45 -0700 (PDT)
    X-Received: by 10.140.91.47 with SMTP id y44mr144214qgd.39.1427955285053; Wed, 01 Apr
    2015 23:14:45 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!
    border1.nntp.dca1.giganews.com!nntp.giganews.com!m20no42178iga.0!news-out.googl
    e.com!k20ni0qgd.0!nntp.google.com!z60no225907qgd.0!postnews.google.com!glegroup
    sg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Wed, 1 Apr 2015 23:14:44 -0700 (PDT)
    In-Reply-To: <9...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=178.36.122.220;
    posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
    NNTP-Posting-Host: 178.36.122.220
    References: <4...@g...com>
    <d...@g...com>
    <meti4e$osd$1@srv.chmurka.net>
    <f...@g...com>
    <mevfpd$gpa$1@srv.chmurka.net>
    <e...@g...com>
    <mf1tnf$d48$1@srv.chmurka.net>
    <d...@g...com>
    <e...@g...com>
    <f...@g...com>
    <b...@g...com>
    <4...@g...com>
    <f...@g...com>
    <8...@g...com>
    <b...@g...com>
    <c...@g...com>
    <2...@g...com>
    <b...@g...com>
    <6...@g...com>
    <b...@g...com>
    <7...@g...com>
    <9...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <b...@g...com>
    Subject: Re: poprawność algorytmu
    From: "M.M." <m...@g...com>
    Injection-Date: Thu, 02 Apr 2015 06:14:45 +0000
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    Lines: 62
    Xref: news-archive.icm.edu.pl pl.comp.programming:207771
    [ ukryj nagłówki ]

    On Wednesday, April 1, 2015 at 5:10:22 PM UTC+2, g...@g...com wrote:
    > W dniu środa, 1 kwietnia 2015 15:31:27 UTC+2 użytkownik g...@g...com
    napisał:
    > > > > Jeśli Cię to bardziej interesuje, polecam kurs z "Heterogenous Parallel
    > > > > Programming" na Courserze albo książkę "CUDA w przykładach" (wyd. Helion)
    > > > Nie mam aż tyle czasu, myślalem że rzucisz kilka zalet.
    > >
    > > Zalet synchronizacji wątków przed dostępem do pamięci?
    >
    > Tak sobie myślę, że chyba niezbyt ładnie się zachowałem,
    Podając linki do literatury? To akurat bardzo w porządku. Mnie
    się nie chciało już tłumaczyć, że słowo "precyzja" zmienia
    znaczenie zależnie od kontekstu. Nie chce mi się precyzyjnie
    tłumaczyć za każdym razem jak używam każdego słowa.

    > pisząc to, co napisałem powyżej, bo mogłoby to zostać
    > odebrane jako pogardliwe, a nie chciałbym, żeby tak było.
    > Przepraszam. (Z żalem przyznam, że to chyba "dyskusje"
    > z niektórymi osobami na tej grupie tak mnie zdegenerowały,
    > choć oczywiście nie ma się co obwiniać, a trzeba pracować
    > nad tym, żeby było lepiej)
    Nie ma nic pogardliwego w podaniu linku do literatury.


    > To jest trochę (bardzo?) OT,
    Nie jest OT, rozmawiamy od dowodzeniu poprawności równoległego programu.

    > ale nowoczesne procesory graficzne
    > pozwalają tworzyć programy zawierające tysiące wątków
    Rzecz jasna.

    > (z których docelowo może nawet wszystkie będą się mogły
    > wykonywać równolegle). Klasyczny przykład to dodawanie
    > wektorów: zamiast wykonywać pętlę dodającą po kolei
    > tysiąc par elementów, możemy uruchomić tysiąc wątków, z których
    > każdy doda po jednej parze elementów.
    Choć nie programuję procesorów graficznych, to tak to sobie
    wyobrażałem.


    > Oczywiście przykład z dodawaniem wektorów nie jest szczególnie
    > porywający, zaś kolizje z dostępem do pamięci w tak prostym
    > przypadku nie zachodzą.
    Trochę szkoda, że podałeś przykład, w którym syncthreads się
    nie przyda.

    > Gorzej jeżeli mamy kilka etapów obliczeń: może być tak, że
    > fragment pamięci, do którego zapis wykona kilka wątków
    > na jednym etapie, będzie potem użyty do obliczeń na innym
    > etapie. Żeby jednak mogło się tak stać, musimy się upewnić,
    > że wszystkie wątki skończyły już zapis -- i do tego właśnie
    > używa się __syncthreads()
    Ja bym to inaczej uzasadnił, choć nigdy nie używałem takiej metody.
    Mamy np. trzy wątki. W pierwszym etapie watek pierwszy dostaje dane spod
    adresów 0,1,2, drugi spod: 3,4,5, trzeci spod: 6,7,8. W drugim etapie
    wątek pierwszy dostaje dane 0,3,6; drugi 1,4,7; w trzecim 2,5,8.
    Wtedy istotnie muszą wszystkie wątki czekać pomiędzy etapami.

    Pozdrawiam

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: