GPGPU Programming for Games and Science (Hardcover)

David H. Eberly

  • 出版商: A K Peters
  • 出版日期: 2014-09-01
  • 售價: $3,500
  • 貴賓價: 9.5$3,325
  • 語言: 英文
  • 頁數: 469
  • 裝訂: Hardcover
  • ISBN: 1466595353
  • ISBN-13: 9781466595354
  • 相關分類: GPU
  • 立即出貨 (庫存 < 3)

買這商品的人也買了...

商品描述

An In-Depth, Practical Guide to GPGPU Programming Using Direct3D 11

GPGPU Programming for Games and Science demonstrates how to achieve the following requirements to tackle practical problems in computer science and software engineering:

  • Robustness
  • Accuracy
  • Speed
  • Quality source code that is easily maintained, reusable, and readable

The book primarily addresses programming on a graphics processing unit (GPU) while covering some material also relevant to programming on a central processing unit (CPU). It discusses many concepts of general purpose GPU (GPGPU) programming and presents practical examples in game programming and scientific programming.

The author first describes numerical issues that arise when computing with floating-point arithmetic, including making trade-offs among robustness, accuracy, and speed. He then shows how single instruction multiple data (SIMD) extensions work on CPUs since GPUs also use SIMD.

The core of the book focuses on the GPU from the perspective of Direct3D 11 (D3D11) and the High Level Shading Language (HLSL). This chapter covers drawing 3D objects; vertex, geometry, pixel, and compute shaders; input and output resources for shaders; copying data between CPU and GPU; configuring two or more GPUs to act as one; and IEEE floating-point support on a GPU.

The book goes on to explore practical matters of programming a GPU, including code sharing among applications and performing basic tasks on the GPU. Focusing on mathematics, it next discusses vector and matrix algebra, rotations and quaternions, and coordinate systems. The final chapter gives several sample GPGPU applications on relatively advanced topics.

Web Resource
Available on a supporting website, the author’s fully featured Geometric Tools Engine for computing and graphics saves you from having to write a large amount of infrastructure code necessary for even the simplest of applications involving shader programming. The engine provides robust and accurate source code with SIMD when appropriate and GPU versions of algorithms when possible.

商品描述(中文翻譯)

《深入淺出的 GPGPU 程式設計指南:使用 Direct3D 11》是一本實用指南,詳細介紹了如何使用 Direct3D 11 進行 GPGPU 程式設計。

《遊戲和科學的 GPGPU 程式設計》展示了如何滿足計算機科學和軟體工程中實際問題的需求,包括:

- 穩定性
- 精確度
- 速度
- 易於維護、可重用和易讀的高質量原始碼

本書主要介紹了在圖形處理單元(GPU)上進行程式設計的相關概念,同時也涵蓋了一些與在中央處理單元(CPU)上進行程式設計相關的內容。書中討論了許多通用目的 GPU(GPGPU)程式設計的概念,並提供了遊戲程式設計和科學程式設計的實際範例。

作者首先描述了使用浮點運算時出現的數值問題,包括在穩定性、精確度和速度之間做出權衡。然後,他展示了單指令多數據(SIMD)擴展在 CPU 上的工作原理,因為 GPU 也使用 SIMD。

本書的核心內容是從 Direct3D 11(D3D11)和高級著色語言(HLSL)的角度來介紹 GPU。該章節涵蓋了繪製 3D 物體、頂點、幾何、像素和計算著色器、著色器的輸入和輸出資源、在 CPU 和 GPU 之間複製資料、配置兩個或多個 GPU 以作為一個單元,以及 GPU 上的 IEEE 浮點支援。

本書還探討了在 GPU 上進行程式設計的實際問題,包括在應用程式之間共享程式碼以及在 GPU 上執行基本任務。接下來,重點介紹了數學方面的內容,包括向量和矩陣代數、旋轉和四元數、以及座標系統。最後一章介紹了幾個相對高級的 GPGPU 應用範例。

此外,書中提到的作者的 Geometric Tools 引擎是一個完整的計算和圖形引擎,可以節省大量基礎架構程式碼的撰寫工作,特別是在涉及著色器程式設計的最簡單應用程式中。該引擎提供了穩定且精確的原始碼,並在適當的情況下使用 SIMD 和 GPU 版本的演算法。

該書的相關資源可以在支援網站上找到。