eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingpoprawność algorytmuRe: poprawność algorytmu
  • Data: 2015-04-02 08:14:44
    Temat: Re: poprawność algorytmu
    Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie 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: