MENU

OpenCL

(eBook)

Akceleracja GPU w praktyce

0.00  [ 0 ocen ]
 Dodaj recenzję
Rozwiń szczegóły »
  • Druk: Warszawa, 2014

  • Autor: Marek Sawerwain

  • Wydawca: Wydawnictwo Naukowe PWN

  • Formaty:
    mobi
    ePub
    (Watermark)
    Watermark
    Znak wodny czyli Watermark to zaszyfrowana informacja o użytkowniku, który zakupił produkt. Dzięki temu łatwo jest zidentyfikować użytkownika, który rozpowszechnił produkt w sposób niezgodny z prawem. Ten rodzaj zabezpieczenia jest zdecydowanie najbardziej przyjazny dla użytkownika, ponieważ aby otworzyć książkę zabezpieczoną Watermarkiem nie jest potrzebne konto Adobe ID oraz autoryzacja urządzenia.

Dostępne formaty i edycje
Rok wydania
Cena
Cena katalogowa: 64,00 zł
Najniższa cena z 30 dni: 32,00 zł
Cena produktu

Cena katalogowa – rynkowa cena produktu, często jest drukowana przez wydawcę na książce.

Najniższa cena z 30 dni – najniższa cena sprzedaży produktu w księgarni z ostatnich 30 dni, obowiązująca przed zmianą ceny.

Wszystkie ceny, łącznie z ceną sprzedaży, zawierają podatek VAT.

38,40
Dodaj do schowka
Dostępność: online po opłaceniu
Produkt elektroniczny Plik do pobrania po realizacji zamówienia

OpenCL

Książka jest skierowana do programistów, którzy chcą się zapoznać z technologią OpenCL W publikacji duży nacisk został położony na przedstawienie konkretnych przykładów (wraz z komentarzem opisującym sposób implementacji danego przykładu oraz techniczne aspekty danego problemu). Zaprezentowane zostały także sposoby wykorzystywania OpenCL do realizacji różnych zadań obliczeniowych. Praktyczne przykłady obejmują zagadnienia m.in. z algebry liniowej. W książce znajdują się także przykłady przetwarzania grafiki. Ze względu na charakter OpenCL opisano również sposoby korzystania z możliwości OpenCL oferowanych przez różne dodatkowe biblioteki, a także pakiety ułatwiające współpracę z technologią OpenCL. Uzupełnieniem publikacji są bardziej zaawansowane przykłady rozwiązywania równań różniczkowych czy też przedstawienie metody Black Scholes.
Z książki można nauczyć się, jak: – korzystać z technologii OpenCL; – tworzyć własne jądra obliczeniowe; – przetwarzać grafikę za pomocą wbudowanych możliwości OpenCL.
Dobrze jest znać: – wybrane pojęcia algebry liniowej, m.in. macierze, wektory; – podstawy języków C, C++ oraz Python; – środowisko IDE, np. Visual Studio. Choć nie jest to książka przeznaczona dla początkującego czytelnika i wymaga umiejętności programowania na poziomie średnim, to zawarte w niej informacje z pewnością pozwolą na zapoznanie się z technologią OpenCL i możliwościami obliczeniowymi, jakie ona oferuje.

  • Sposób dostarczenia produktu elektronicznego
    Produkty elektroniczne takie jak Ebooki czy Audiobooki są udostępniane online po opłaceniu zamówienia kartą lub przelewem na stronie Twoje konto > Biblioteka.
    Pliki można pobrać zazwyczaj w ciągu kilku-kilkunastu minut po uzyskaniu poprawnej autoryzacji płatności, choć w przypadku niektórych publikacji elektronicznych czas oczekiwania może być nieco dłuższy.
    Sprzedaż terytorialna towarów elektronicznych jest regulowana wyłącznie ograniczeniami terytorialnymi licencji konkretnych produktów.
  • Ważne informacje techniczne
    Minimalne wymagania sprzętowe:
    procesor: architektura x86 1GHz lub odpowiedniki w pozostałych architekturach
    Pamięć operacyjna: 512MB
    Monitor i karta graficzna: zgodny ze standardem XGA, minimalna rozdzielczość 1024x768 16bit
    Dysk twardy: dowolny obsługujący system operacyjny z minimalnie 100MB wolnego miejsca
    Mysz lub inny manipulator + klawiatura
    Karta sieciowa/modem: umożliwiająca dostęp do sieci Internet z prędkością 512kb/s
    Minimalne wymagania oprogramowania:
    System Operacyjny: System MS Windows 95 i wyżej, Linux z X.ORG, MacOS 9 lub wyżej, najnowsze systemy mobilne: Android, iPhone, SymbianOS, Windows Mobile
    Przeglądarka internetowa: Internet Explorer 7 lub wyżej, Opera 9 i wyżej, FireFox 2 i wyżej, Chrome 1.0 i wyżej, Safari 5
    Przeglądarka z obsługą ciasteczek i włączoną obsługą JavaScript
    Zalecany plugin Flash Player w wersji 10.0 lub wyżej.
    Informacja o formatach plików:
    • PDF - format polecany do czytania na laptopach oraz komputerach stacjonarnych.
    • EPUB - format pliku, który umożliwia czytanie książek elektronicznych na urządzeniach z mniejszymi ekranami (np. e-czytnik lub smartfon), dając możliwość dopasowania tekstu do wielkości urządzenia i preferencji użytkownika.
    • MOBI - format zapisu firmy Mobipocket, który można pobrać na dowolne urządzenie elektroniczne (np.e-czytnik Kindle) z zainstalowanym programem (np. MobiPocket Reader) pozwalającym czytać pliki MOBI.
    • Audiobooki w formacie MP3 - format pliku, przeznaczony do odsłuchu nagrań audio.
    Rodzaje zabezpieczeń plików:
    • Watermark - (znak wodny) to zaszyfrowana informacja o użytkowniku, który zakupił produkt. Dzięki temu łatwo jest zidentyfikować użytkownika, który rozpowszechnił produkt w sposób niezgodny z prawem. Ten rodzaj zabezpieczenia jest zdecydowanie bardziej przyjazny dla użytkownika, ponieważ aby otworzyć książkę zabezpieczoną Watermarkiem nie jest potrzebne konto Adobe ID oraz autoryzacja urządzenia.
    • Brak zabezpieczenia - część oferowanych w naszym sklepie plików nie posiada zabezpieczeń. Zazwyczaj tego typu pliki można pobierać ograniczoną ilość razy, określaną przez dostawcę publikacji elektronicznych. W przypadku zbyt dużej ilości pobrań plików na stronie WWW pojawia się stosowny komunikat.
1. Wprowadzenie 9

1.1. Obliczenia równoległe          10
1.2. Zawartość książki          13

2. Standard OpenCL          17

2.1. Model platformy          17
2.2. Model pamięci          19
2.3. Model wykonawczy          21
2.3.1. Siatka obliczeniowa – NDRange 23
2.3.2. Kontekst obliczeń oraz kolejka poleceń                                                                                                                                                                                  . 25
2.4. Model programowania          26

3. Język programowania dostępny w OpenCL          29

3.1. Typy danych          29
3.1.1. Typy podstawowe (typy skalarne) 30
3.1.2. Typy wektorowe 33
3.1.3. Typy do obsługi obrazów          34
3.1.4. Inne typy oraz nazwy zarezerwowane 36
3.2. Dostępne operatory          38
3.3. Funkcje wbudowane 38
3.4. Dodatkowe kwalifikatory oraz atrybuty 48
3.5. Operacje na typach wektorowych OpenCL          51
3.5.1. Dane typu wektorowego – dostęp do składowych 52
3.5.2. Operacje na typach wektorowych          55
3.5.3. Funkcje obsługujące dane typu wektorowego          58
3.6. Obsługa siatki obliczeniowej 60
3.7. Funkcje synchronizacji i funkcje atomowe          62
3.8. Funkcje do obsługi obrazów          65
3.9. Preprocesor OpenCL C 68
3.10. Ograniczenia OpenCL C 71

4. OpenCL – łatwe przykłady na początek 73

4.1. Informacje o urządzeniu obliczeniowym          73
4.1.1. Wersja dla API w języku C          75
4.1.2. Informacje o urządzeniu obliczeniowym obiektowo i w C++          90
4.2. Witaj Świecie! 97
4.2.1. Przygotowania          98
4.2.2. Uruchomienie jądra obliczeniowego          99
4.3. Dodawanie wektorów 109
4.3.1. Jądro obliczeniowe 110
4.3.2. Wersja dla C++ 114
4.3.3. Inne operacje na wektorach do ćwiczeń          119
4.4. Siatka lokalna oraz globalna          120
4.5. Zlecanie i wykonywanie zadań 124
4.6. Uwagi o kompilacji jądra obliczeniowego 126

5. Przykłady obliczeń w OpenCL 129

5.1. Obsługa printf w OpenCL 129
5.2. Operacja redukcji 133
5.2.1. Operacja redukcji – wersja szeregowa 134
5.2.2. Operacja redukcji – jądro obliczeniowe podejście pierwsze                                                                                  . 135
5.2.3. Operacja redukcji – jądro obliczeniowe podejście drugie 139
5.2.4. Operacja redukcji – jądro obliczeniowe poddane optymalizacji 143
5.3. Wyznaczanie histogramu          145
5.3.1. Wersja szeregowa 145
5.3.2. Wersja dla OpenCL          147
5.4. Równoległe szukanie prawie binarne          150
5.4.1. Wersja równoległa dla OpenCL          152
5.5. Przybliżanie wartości liczby π          154
5.5.1. Wersja szeregowa 154
5.5.2. Wersja OpenCL – podejście bezpośrednie 156
5.5.3. Wersja OpenCL – podejście o wyższej wydajności          162
5.6. Gra w życie 168
5.6.1. Gra w życie – procedura obliczeniowa          169
5.6.2. Gra w życie – obsługa symulacji 172
5.7. Zbiór Mandelbrota          176
5.7.1. Zbiór Julii          177
5.7.2. Tworzenie obrazu zbioru Mandelbrota – wersja szeregowa 177
5.7.3. Tworzenie obrazu zbioru Mandelbrota – wersja OpenCL          180
5.7.4. Tworzenie obrazu zbioru Julii 184
5.7.5. Kolorowanie zbioru fraktalnego          185
5.8. Algorytm sortowania bitonicznego          188
5.8.1. Sieci sortujące 188
5.8.2. Bitoniczna sieć sortująca 190
5.8.3. Szeregowa wersja algorytmu sortowania bitonicznego 192
5.8.4. Równoległa wersja algorytmu sortowania bitonicznego dla OpenCL 195
5.9. Przetwarzanie obrazów 197
5.9.1. Podstawy – wypełnienie obrazu 197
5.9.2. Skalowanie obrazu 202
5.9.3. Rozmywanie obrazu – filtr Gaussa                                                                                                                                                                                                          . 207
5.9.4. Wykrywanie krawędzi w obrazie za pomocą filtru Sobela 212
5.10. Współpraca OpenCL z OpenGL 218
5.10.1. Procedury obliczeniowe OpenCL          218
5.10.2. Czynności wykonywane w programie gospodarza 219

6. OpenCL w innych językach programowania 225

6.1. Język Python          225
6.1.1. Przegląd API pakietu PyOpenCL          227
6.1.2. Znów dodawanie wektorów, ale w Pythonie 232
6.1.3. Skrypt do testowania siatki obliczeniowej          236
6.1.4. Stosowanie typów użytkownika                                                                                                                                                                                                                      . 238
6.1.5. Klasa w Pythonie dla łatwiejszej współpracy z OpenCL 240
6.2. Pakiet APARAPI dla języka Java 242
6.2.1. Dodawanie wektorów          242
6.2.2. Przegląd API pakietu APARAPI 245
6.2.3. Algorytm Blacka-Sholesa          246
6.2.4. Mechanizm rozszerzeń 249
6.3. Inne rozwiązania, VexCL i nie tylko          251

7. Zamiast zakończenia          255

7.1.1. Analiza wydajności symulacji przykładu „Gra w życie”          255

Dodatek A. Kompilacja przykładów          261

Dodatek B. Instalacja pakietu OpenCL dla języka Python 263

Dodatek C. Opis funkcji pomocniczych 265

C.1. Zapis do formatu PPM          265
C.2. Konwersja kodów formatu koloru do wartości znakowych 267
C.3. Zapis i odczyt danych w formacie PNG          268
C.4. Konwersja z modelu kolorów HSV do RGB          271
C.5. Utworzenie macierzy dla filtru rozmywającego          272

Dodatek D. Zestawianie używanych funkcji API OpenCL 275

D.1. Funkcja clGetPlatformIDs 275
D.2. Funkcja clGetPlatformInfo          276
D.3. Funkcja clGetDeviceInfo          278
D.4. Funkcja clGetSupportedImageFormats 286
D.5. Funkcja clGetDeviceIDs 288
D.6. Funkcja clCreateContext 290
D.7. Funkcja clBuildProgram          291
D.8. Funkcja clGetProgramBuildInfo          295
D.9. Funkcja clCreateCommandQueue 297
D.10. Funkcja clCreateBuffer 298
D.11. Funkcja clEnqueueReadBuffer          300
D.12. Funkcja clEnqueueWriteBuffer 303
D.13. Funkcja clCreateProgramWithSource 305
D.14. Funkcja clCreateKernel 306
D.15. Funkcja clSetKernelArg 307
D.16. Funkcja clEnqueueNDRangeKernel          309
D.17. Funkcja clEnqueueTask 311
D.18. Funkcja clGetKernelWorkGroupInfo 313
D.19. Funkcja clCreateImage2D          316
D.20. Funkcja clEnqueueReadImage          317
D.21. Funkcja clEnqueueWriteImage 321
D.22. Funkcja clFinish          324
D.23. Funkcja clReleaseKernel 325
D.24. Funkcja clReleaseProgram          325
D.25. Funkcja clReleaseCommandQueue          326
D.26. Funkcja clReleaseMemObject          327
D.27. Funkcja clReleaseContext 327
D.28. Funkcja clCreateFromGLBuffer 328
D.29. Funkcja clCreateFromGLTexture2D          329
D.30. Funkcja clEnqueueAcquireGLObjects          331
D.31. Funkcja clEnqueueReleaseGLObjects 332

Dodatek E. Spis kodów błędów API OpenCL 335

Dodatek F. Najczęściej spotykane nazwy rozszerzeń 339

Literatura 341
Indeks          343
NAZWA I FORMAT
OPIS
ROZMIAR
(LINK)
Materiały dodatkowe
Brak informacji

Przeczytaj fragment

NAZWA I FORMAT
OPIS
ROZMIAR
(LINK)
Materiały dodatkowe
Brak informacji
(mobi)
Brak informacji
(epub)
Brak informacji
Słowa kluczowe: GPU openCL akceleracja grafika

Inni Klienci oglądali również

40,50 zł
45,00 zł

Smartfon również dla seniora

Książka „Smartfon również dla seniora” dedykowana jest wszystkim osobom chcącym w pełni poznać i wykorzystać możliwości współczesnego smartfona. Zdarza się, że nowoczesne telefony użytkujemy już od dawna ale bardzo często ogra...
9,09 zł
10,10 zł

Excel tylko dla księgowych Zeszyt 1

Niniejsza książeczka jest materiałem uzupełniającym do bezpłatnego szkolenia Power Query i JPK. I książka i szkolenie prezentuje bardzo przydatną wiedzę do wykorzystania w pracy księgowego.
77,40 zł
129,00 zł

Mikroserwisy. Wzorce z przykładami w języku Java

Skuteczne tworzenie aplikacji opartych na mikroserwisach wymaga opanowania nowej wiedzy i praktyk architektonicznych. W tej wyjątkowej książce pionier architektury mikroserwisowej i posiadacz tytułu Java Champion – Chris Richardson – zgroma...
44,40 zł
74,00 zł

Bezpieczeństwo informacyjne

Bezpieczeństwo informacyjne. Nowe wyzwania, to uaktualniona wersja publikacji z 2012 roku.Książka skierowana jest do wszystkich specjalistów zajmujących się, z racji wykonywanego zawodu, bezpieczeństwem informacyjnym, a także student&oacut...
29,40 zł
49,00 zł

HTML5 i CSS3

Książka w przystępny sposób przedstawia najważniejsze zagadnienia związane z tworzeniem stron internetowych dostosowanych do różnych urządzeń. Opisano w niej nowoczesne sposoby tworzenia stron internetowych. Praktyczne przykłady pokazują,...
35,40 zł
59,00 zł

JS, jakiego jeszcze nie znasz. Na dobry początek

Na dobry początek to pierwsza książka z serii JS, jakiego jeszcze nie znasz, dzięki której zaczniesz swoją przygodę z głębszą znajomością języka JavaScript. Publikacja analizuje JS na wielu warstwach, tworząc – wraz z pozostałymi książkami...
71,40 zł
119,00 zł

Looking for a challenge?

Contest tasks say a lot about the quality of a programming competition. They should be original, engaging and of different levels of difficulty. Finding a solution should cause the contestant to feel great satisfaction, whereas being unable to solve a ...
52,67 zł
69,30 zł

Microsoft System Center Virtual Machine Manager 2012

Microsoft System Center 2012 jest wszechstronną platformą wirtualizacji, chmury i zarządzania infrastrukturą IT. Poprzez System Center 2012 możesz dużo łatwiej i wydajniej zarządzać swoimi aplikacjami i usługami w obrębie kilku różnych hiperwizo...
9,09 zł
10,10 zł

Testy jednostkowe z Net Core (C#)

Testy jednostkowe powoli stają się standardem w branży programistycznej. Wielotygodniowe kursy za setki złotych nie są już potrzebne. Książka zawiera wymaganą wiedzę do rozpoczęcia przygody z testowaniem aplikacji. Skierowana jest do osób począt...

Recenzje

Nikt nie dodał jeszcze recenzji. Bądź pierwszy!