-
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
Następne wpisy z tego wątku
- 02.04.15 10:56 g...@g...com
- 02.04.15 12:54 M.M.
- 02.04.15 14:13 g...@g...com
- 02.04.15 17:20 M.M.
Najnowsze wątki z tej grupy
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
Najnowsze wątki
- 2025-06-07 Warszawa => Team Lead Data Engineer (Snowflake) <=
- 2025-06-07 Kraków => Kotlin Developer <=
- 2025-06-07 Warszawa => Senior Key Account Manager IT <=
- 2025-06-07 Gdańsk => PHP Developer <=
- 2025-06-07 Warszawa => Specjalista ds. Sprzedaży <=
- 2025-06-07 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-06-07 Warszawa => Sales Assistant and Customer Development Specialist <=
- 2025-06-07 Warszawa => Programista Full Stack .Net <=
- 2025-06-07 Lublin => Delphi Programmer <=
- 2025-06-07 Warszawa => Administrator Systemów OSS <=
- 2025-06-06 Takich niestrzeżonych przejazdów kolejowych są w Polsce setki, a tysiące w Europie
- 2025-06-06 Gdańsk => Team Lead Data Engineer (Snowflake) <=
- 2025-06-06 Gdynia => MLOps Engineer <=
- 2025-06-06 Białystok => NMS System Administrator <=
- 2025-06-06 Łódź => Mainframe (z/OS, Assembler) Developer <=