Księgarnia Informatyczno-Techniczna w Lublinie   Księgarnia Informatyczno-Techniczna w Lublinie
Projekty budowlane
SZUKAJ

Zaawansowane wyszukiwanie

SZYBKI ZAKUP
Wpisz model.

OSTATNIO OGLĄDANE:

3ds Max. Leksykon.

3ds Max. Leksykon.

Cena detaliczna 34,90 zł
Cena promocyjna 30,71 zł


nie zaw. kosztów wysyłki

Dodatkowa informacja na stronie Moje dane

Znajdziesz tutaj:
3DS Max, Blender

RECENZJE
AUTORZY

CUDA w przykładach. Wprowadzenie do ogólnego programowania procesorów GPU.

Cena detaliczna 59,00 zł
Cena promocyjna 47,20 zł


nie zaw. kosztów wysyłki

MODEL: 978-83-246-3817-8

Wydrukuj kartę produktu 

Dostawa:   1-2 Dni

CUDA w przykładach. Wprowadzenie do ogólnego programowania procesorów GPU
Autorzy: Jason Sanders, Edward Kandrot
Data wydania: 2012/01
Stron: 232
    Tytuł oryginału: CUDA by Example: An Introduction to General-Purpose GPU Programming
    Tłumaczenie: Łukasz Piwko
    ISBN: 9788324638178 / 978-83-246-3817-8
    Format: 168x237
    Oprawa: miękka
    Numer z katalogu: 7813
Przykłady na ftp


    Książka ta jest obowiązkową pozycją dla wszystkich programistów pracujących z systemami zawierającymi akceleratory.
    Ze wstępu autorstwa Jacka Dongarry’ego,
    Uniwersytet Tennessee i Oak Ridge National Laboratory

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

Opanuj język CUDA C i pisz programy wyróżniające się niezwykłą wydajnością!

Jason Sanders jest starszym programistą w zespole ds. platformy CUDA w firmie NVIDIA. Brał udział w pracach nad

pierwszymi wersjami oprogramowania systemowego CUDA. Ma także ma swój wkład w specyfikację OpenCL 1.0. Zanim

rozpoczął pracę w NVIDIA, pracował dla firm ATI Technologies, Apple oraz Novell.

Edward Kandrot jest starszym programistą w zespole ds. algorytmów CUDA w firmie NVIDIA. Przedtem pracował nad

wydajnością programów takich firm, jak Adobe, Microsoft, Google czy Autodesk.

Słowo wstępne 9
Przedmowa 11
Podziękowania 13
O autorach 15
1. Dlaczego CUDA? Dlaczego teraz? 17

    1.1. Streszczenie rozdziału 17
    1.2. Era przetwarzania równoległego 17
        1.2.1. Procesory CPU 18
    1.3. Era procesorów GPU 19
        1.3.1. Historia procesorów GPU 19
        1.3.2. Początki programowania GPU 20
    1.4. CUDA 21
        1.4.1. Co to jest architektura CUDA 21
        1.4.2. Używanie architektury CUDA 22
    1.5. Zastosowania technologii CUDA 22
        1.5.1. Obrazowanie medyczne 22
        1.5.2. Symulacja dynamiki płynów 23
        1.5.3. Ochrona środowiska 24
    1.6. Podsumowanie 25

2. Konfiguracja komputera 27

    2.1. Streszczenie rozdziału 27
    2.2. Środowisko programistyczne 27
        2.2.1. Procesor graficzny z obsługą technologii CUDA 28
        2.2.2. Sterownik urządzeń NVIDII 29
        2.2.3. Narzędzia programistyczne CUDA 30
        2.2.4. Standardowy kompilator języka C 31
    2.3. Podsumowanie 32

3. Podstawy języka CUDA C 33

    3.1. Streszczenie rozdziału 33
    3.2. Pierwszy program 33
        3.2.1. Witaj, świecie! 34
        3.2.2. Wywoływanie funkcji jądra 34
        3.2.3. Przekazywanie parametrów 35
    3.3. Sprawdzanie właściwości urządzeń 38
    3.4. Korzystanie z wiedzy o właściwościach urządzeń 42
    3.5. Podsumowanie 43

4. Programowanie równoległe w języku CUDA C 45

    4.1. Streszczenie rozdziału 45
    4.2. Programowanie równoległe w technologii CUDA 45
        4.2.1. Sumowanie wektorów 46
        4.2.2. Zabawny przykład 52
    4.3. Podsumowanie 60

5. Wątki 61

    5.1. Streszczenie rozdziału 61
    5.2. Dzielenie równoległych bloków 61
        5.2.1. Sumowanie wektorów - nowe spojrzenie 62
        5.2.2. Generowanie rozchodzących się fal za pomocą wątków 68
    5.3. Pamięć wspólna i synchronizacja 72
        5.3.1. Iloczyn skalarny 74
        5.3.2. Optymalizacja niepoprawna programu obliczającego iloczyn skalarny 82
        5.3.3. Generowanie mapy bitowej za pomocą pamięci wspólnej 84
    5.4. Podsumowanie 87

6. Pamięć stała i zdarzenia 89

    6.1. Streszczenie rozdziału 89
    6.2. Pamięć stała 89
        6.2.1. Podstawy techniki śledzenia promieni 90
        6.2.2. Śledzenie promieni na GPU 91
        6.2.3. Śledzenie promieni za pomocą pamięci stałej 96
        6.2.4. Wydajność programu a pamięć stała 97
    6.3. Mierzenie wydajności programów za pomocą zdarzeń 99
        6.3.1. Pomiar wydajności algorytmu śledzenia promieni 100
    6.4. Podsumowanie 103

7. Pamięć tekstur 105

    7.1. Streszczenie rozdziału 105
    7.2. Pamięć tekstur w zarysie 105
    7.3. Symulacja procesu rozchodzenia się ciepła 106
        7.3.1. Prosty model ogrzewania 106
        7.3.2. Obliczanie zmian temperatury 108
        7.3.3. Animacja symulacji 110
        7.3.4. Użycie pamięci tekstur 114
        7.3.5. Użycie dwuwymiarowej pamięci tekstur 117
    7.4. Podsumowanie 121

8. Współpraca z bibliotekami graficznymi 123

    8.1. Streszczenie rozdziału 124
    8.2. Współpraca z bibliotekami graficznymi 124
    8.3. Generowanie rozchodzących się fal za pomocą GPU i biblioteki graficznej 130
        8.3.1. Struktura GPUAnimBitmap 130
        8.3.2. Algorytm generujący fale na GPU 133
    8.4. Symulacja rozchodzenia się ciepła za pomocą biblioteki graficznej 135
    8.5. Współpraca z DirectX 139
    8.6. Podsumowanie 139

9. Operacje atomowe 141

    9.1. Streszczenie rozdziału 141
    9.2. Potencjał obliczeniowy 141
        9.2.1. Potencjał obliczeniowy procesorów GPU NVIDII 142
        9.2.2. Kompilacja dla minimalnego potencjału obliczeniowego 144
    9.3. Operacje atomowe w zarysie 144
    9.4. Obliczanie histogramów 146
        9.4.1. Obliczanie histogramu za pomocą CPU 146
        9.4.2. Obliczanie histogramu przy użyciu GPU 148
    9.5. Podsumowanie 156

10. Strumienie 157

    10.1. Streszczenie rozdziału 157
    10.2. Pamięć hosta z zablokowanym stronicowaniem 158
    10.3. Strumienie CUDA 162
    10.4. Używanie jednego strumienia CUDA 162
    10.5. Użycie wielu strumieni CUDA 166
    10.6. Planowanie pracy GPU 171
    10.7. Efektywne wykorzystanie wielu strumieni CUDA jednocześnie 173
    10.8. Podsumowanie 175

11. Wykonywanie kodu CUDA C jednocześnie na wielu GPU 177

    11.1. Streszczenie rozdziału 177
    11.2. Pamięć hosta niewymagająca kopiowania 178
        11.2.1. Obliczanie iloczynu skalarnego za pomocą pamięci niekopiowanej 178
        11.2.2. Wydajność pamięci niekopiowanej 183
    11.3. Użycie kilku procesorów GPU jednocześnie 184
    11.4. Przenośna pamięć zablokowana 188
    11.5. Podsumowanie 192

12. Epilog 193

    12.1. Streszczenie rozdziału 194
    12.2. Narzędzia programistyczne 194
        12.2.1. CUDA Toolkit 194
        12.2.2. Biblioteka CUFFT 194
        12.2.3. Biblioteka CUBLAS 195
        12.2.4. Pakiet GPU Computing SDK 195
        12.2.5. Biblioteka NVIDIA Performance Primitives 196
        12.2.6. Usuwanie błędów z kodu CUDA C 196
        12.2.7. CUDA Visual Profiler 198
    12.3. Literatura 199
        12.3.1. Książka Programming Massively Parallel Processors: A Hands-on Approach 199
        12.3.2. CUDA U 199
        12.3.3. Fora NVIDII 200
    12.4. Zasoby kodu źródłowego 201
        12.4.1. Biblioteka CUDA Parallel Primitives Library 201
        12.4.2. CULATools 201
        12.4.3. Biblioteki osłonowe 202
    12.5. Podsumowanie 202

A: Operacje atomowe dla zaawansowanych 203

    A.1. Iloczyn skalarny po raz kolejny 203
        A.1.1. Blokady atomowe 205
        A.1.2. Iloczyn skalarny: blokady atomowe 207
    A.2. Implementacja tablicy skrótów 210
        A.2.1. Tablice skrótów - wprowadzenie 210
        A.2.2. Tablica skrótów dla CPU 212
        A.2.3. Wielowątkowa tablica skrótów 216
        A.2.4. Tablica skrótów dla GPU 217
        A.2.5. Wydajność tablicy skrótów 223
    A.3. Podsumowanie 224

Skorowidz 225

Autor: Sanders Jason, Kandrot Edward
Rok wydania: 2012
ISBN: 978-83-246-3817-8

Data dodania do sklepu sobota, 21 styczeń 2012.


Opinie klientów:

Możesz dodać swoją recenzję nt. produktu.

Napisz recenzję

 » KOSZYK

Koszyk jest pusty.

 » Witamy ponownie !

Adres e-mail:

Hasło:

Nowe konto | Nie pamiętasz hasła?

SUBSKRYPCJA
Adres e-mail

TWÓJ STATUS

Grupa klientów: Gość
PRODUCENT
INFORMACJE O PRODUCENCIE