CUDA w przykładach. Wprowadzenie do ogólnego programowania procesorów GPU
- Kategoria:
- informatyka, matematyka
- Tytuł oryginału:
- CUDA by Example: An Introduction to General-Purpose GPU Programming
- Wydawnictwo:
- Helion
- Data wydania:
- 2012-01-15
- Data 1. wyd. pol.:
- 2012-01-15
- Liczba stron:
- 232
- Czas czytania
- 3 godz. 52 min.
- Język:
- polski
- ISBN:
- 9788324638178
- Tłumacz:
- Łukasz Piwko
- Tagi:
- Cuda GPU
Od astrofizyki i chemii, przez biologię obliczeniową, aż po analizę sejsmiczną i rekonstrukcję obrazu w tomografii komputerowej - architektura CUDA została entuzjastycznie przyjęta przez środowiska naukowe i akademickie. Znalazła też zastosowanie w wielu strategicznych gałęziach gospodarki i stała się niezwykłym ułatwieniem dla twórców programów równoległych, którym pozwoliła na wykorzystanie olbrzymiej mocy procesorów GPU do budowy ekstremalnie wydajnych aplikacji. Oto podręcznik napisany przez członków zespołu tworzących architekturę CUDA. Stanowi on wyczerpujące wprowadzenie w świat programowania najnowszych akceleratorów o dużych możliwościach przetwarzania równoległego. Oparty na licznych przykładach, zilustrowany fragmentami przydatnego kodu przewodnik zawiera pełny opis tej platformy, wprowadzenie do języka CUDA C oraz szczegółowy opis wszystkich kluczowych technik pracy z tą niezwykłą architekturą.
Programowanie równoległe
Współpraca wątków
Pamięć stała i zdarzenia
Pamięć teksturowa
Interoperacyjność grafiki
Operacje atomowe
Strumienie
CUDA C na wielu procesorach GPU
Operacje atomowe dla zaawansowanych
Dodatkowe zasoby CUDA
Porównaj ceny
W naszej porównywarce znajdziesz książki, audiobooki i e-booki, ze wszystkich najpopularniejszych księgarni internetowych i stacjonarnych, zawsze w najlepszej cenie. Wszystkie pozycje zawierają aktualne ceny sprzedaży. Nasze księgarnie partnerskie oferują wygodne formy dostawy takie jak: dostawę do paczkomatu, przesyłkę kurierską lub odebranie przesyłki w wybranym punkcie odbioru. Darmowa dostawa jest możliwa po przekroczeniu odpowiedniej kwoty za zamówienie lub dla stałych klientów i beneficjentów usług premium zgodnie z regulaminem wybranej księgarni.
Za zamówienie u naszych partnerów zapłacisz w najwygodniejszej dla Ciebie formie:
• online
• przelewem
• kartą płatniczą
• Blikiem
• podczas odbioru
W zależności od wybranej księgarni możliwa jest także wysyłka za granicę. Ceny widoczne na liście uwzględniają rabaty i promocje dotyczące danego tytułu, dzięki czemu zawsze możesz szybko porównać najkorzystniejszą ofertę.
Mogą Cię zainteresować
Książka na półkach
- 6
- 3
- 2
- 1
- 1
- 1
- 1
Cytaty
Bądź pierwszy
Dodaj cytat z książki CUDA w przykładach. Wprowadzenie do ogólnego programowania procesorów GPU
Dodaj cytat
OPINIE i DYSKUSJE
Najlepsze obecnie procesory 4-rdzeniowe osiągają moc obliczeniową rzędu 12Gflops (floating point operations per second). NVIDIA swoimi układami GPU w architekturze CUDA (Compute Unified Device Architecture, czytamy [niestety] z rosyjska "kuda") bije tę wydajność na głowę. Nowa stacja Tesla K40, którą mamy teraz w pracy z pomocą 2688 rdzeni osiąga 5Tflops, a więc około 500 razy więcej... Nie jest to jeszcze moc superkomputera (mierzona w peta-flopsach),ale z drugiej strony Cray ostatnio buduje swoje superkomputery... na kartach NVIDII (Cray Titan)!
Mając pod nosem taką moc obliczeniową i biorąc pod uwagę, że muszę często czekać tygodniami na wynik obliczeń na zwykłej stacji roboczej, musiałem się tym bliżej zainteresować. I pierwszy program mam już napisany, z grubsza rozumiem na czym to polega. Książka się sprawdziła. Nauczyłem się uruchamiać procedury GPU równolegle w blokach i wątkach, nauczyłem się kopiować do nich dane z pamięci CPU, synchronizować w elementarny sposób ich pracę i poznałem bardzo ciekawy sposób buforowania danych poprzez interfejs pamięci tekstur. Książka omawia też bardziej zaawansowane techniki, jak obsługę strumieni (umożliwiającą zakładkowe wykonywanie obliczeń na GPU i transfery do pamięci przez DMA),pamięci dzielonej (w obrębie bloków) czy obsługę większej ilości urządzeń GPU.
Jedyne czego zabrakło to szczegółów architektury pamięci na pokładzie GPU--np. żeby świadomie sterować dostępem do pamięci tych tysięcy rdzeni aby nie musiały nawzajem czekać na siebie. Jest też jeden kiepski rozdział o współpracy z bibliotekami graficznymi, gdzie autorzy omawiają klasy dedykowane do animacji, a omawiając je zamiast podać interfejs zachowują się jakby te klasy sami tworzyli. Ciężko się w tym było połapać--co jest przeciążoną metodą interfejsu, co jest własnym wynalazkiem.
Można się też poprzyczepiać do paru drobiazgów: np. na s. 92 autorzy liczą pierwiastek z... r^2. Nie powiem, żeby to dobrze świadczyło o dbałości o szybkość działania kodu:) (wiadomo, że wynik to r).
Na s. 115 dodają dodatkową instrukcję warunkową (dstOut),która niepotrzebnie zmienia schemat programu więcej niż wymagane z uwagi na wprowadzenie pamięci tekstur. To może mylić.
W rozdziale o pamięci tekstur nie podano o ile wzrosła wydajność po zastosowaniu interfejsu tekstur.
Str. 131, 193, itd. "inicjacja" (seksualna?) zamiast inicjalizacji.
Str. 181 - brak cytowanej funkcji cudaThreadSynchronize()
Str. 196 - autorzy twierdzą, że są takimi mistrzami, że nigdy nie napisali kodu, który zawiesiłby komputer i nie potrzebują debuggera... Hmmm, biorąc pod uwagę, że potrafią wyciągać pierwiastek z r^2 (podobna niefrasobliwość, jak niedopilnowanie wskaźnika na granicy tablicy) nie bardzo w to wierzę, źle to świadczy o piszących takie słowa.
Str. 198 - opisują profiler, mierzący czas wywoływania poszczególnych funkcji programu. Po co zatem wcześniej "ręcznie" mierzyli czasy wywołań funkcji programu za pomocą zdarzeń CUDA?
Najlepsze obecnie procesory 4-rdzeniowe osiągają moc obliczeniową rzędu 12Gflops (floating point operations per second). NVIDIA swoimi układami GPU w architekturze CUDA (Compute Unified Device Architecture, czytamy [niestety] z rosyjska "kuda") bije tę wydajność na głowę. Nowa stacja Tesla K40, którą mamy teraz w pracy z pomocą 2688 rdzeni osiąga 5Tflops, a więc około 500...
więcej Pokaż mimo toKsiążka bardzo dobrze opisuje jak programować wykorzystując narzędzia firmy NVidia. Niestety, praktycznie nie mogłem sprawdzić gdyż nie mam żadnej z kart Nvidi. Mimo tego, ta pozycja jest godna uwagi.
Książka bardzo dobrze opisuje jak programować wykorzystując narzędzia firmy NVidia. Niestety, praktycznie nie mogłem sprawdzić gdyż nie mam żadnej z kart Nvidi. Mimo tego, ta pozycja jest godna uwagi.
Pokaż mimo to