幫助中心 | 我的帳號 | 關於我們

基於OpenMP的GPU編程/電腦科學叢書

  • 作者:(美)湯姆·迪肯//蒂莫西·G.馬特森|責編:劉鋒|譯者:黃智瀕
  • 出版社:機械工業
  • ISBN:9787111819387
  • 出版日期:2026/11/01
  • 裝幀:平裝
  • 頁數:194
人民幣:RMB 79 元      售價:元
放入購物車
加入收藏夾

內容大鋼
    本書系統講解如何使用OpenMP對由CPU與GPU組成的異構計算系統進行編程。全書分為三個部分:第一部分介紹CPU、SIMD向量單元與GPU的硬體基礎,以及OpenMP多線程編程的核心概念,為後續學習打好根基;第二部分闡述OpenMP GPU編程的「通用核心」,包括十項關鍵技術與性能優化原則,是本書的核心內容,讀者僅需少量指令即可編寫出高性能、可移植的GPU程序;第三部分深入探討多GPU編程、設備間內存共享、與既有代碼庫及優化庫的互操作、非同步協調執行等高級主題,並展望面向未來的進階路徑。
    本書既適合作為電腦科學及相關專業高年級本科生和研究生的GPU編程或並行計算課程教材,也適合作為科學計算、人工智慧、工程模擬等領域的軟體開發工程師和研究人員掌握OpenMP GPU編程的實用參考書。

作者介紹
(美)湯姆·迪肯//蒂莫西·G.馬特森|責編:劉鋒|譯者:黃智瀕

目錄
譯者序
前言
致謝
第一部分  開場白
  第1章  異構性及計算的未來
    1.1  現代計算的基本構建模塊
      1.1.1  CPU
      1.1.2  SIMD向量單元
      1.1.3  GPU
    1.2  OpenMP:適用於異構硬體的單一代碼庫
    1.3  本書結構
    1.4  補充材料
  第2章  OpenMP概述
    2.1  線程:基本概念
    2.2  OpenMP:基本語法
    2.3  OpenMP的基本設計模式
      2.3.1  SPMD模式
      2.3.2  循環級並行模式
      2.3.3  分治模式
    2.4  任務執行
    2.5  未來的旅程
第二部分  GPU通用核心
  第3章  在GPU上運行並行代碼
    3.1  目標構造:將執行卸載到設備上
    3.2  在主機和設備之間移動數據
      3.2.1  標量變數
      3.2.2  棧上的數組
      3.2.3  派生類型
    3.3  在目標設備上的並行執行
    3.4  併發和循環結構
    3.5  示例:矩陣乘法的逐步分析
  第4章  內存移動
    4.1  OpenMP數組的語法
    4.2  使用map子句顯式共享數據
      4.2.1  map子句
      4.2.2  示例:堆上的向量加法
      4.2.3  示例:矩陣乘法中的數組映射
    4.3  歸約和映射來自設備的結果
    4.4  優化數據移動
      4.4.1  目標數據構造
      4.4.2  目標更新指令
      4.4.3  目標進入/退出數據
      4.4.4  指針交換
    4.5  小結
  第5章  使用GPU通用核心
    5.1  GPU通用核心概述
    5.2  實現性能的八條路徑
      5.2.1  可移植性
      5.2.2  庫
      5.2.3  恰當的演算法

      5.2.4  盡量佔用GPU
      5.2.5  收斂的執行流程
      5.2.6  數據移動
      5.2.7  訪存合併
      5.2.8  負載均衡
    5.3  小結
第三部分  超越通用核心
  第6章  管理GPU的分層並行性
    6.1  並行線程
    6.2  線程小組的聯盟
      6.2.1  控制小組和線程的數量
      6.2.2  小組之間的工作分配
    6.3  實踐中的分層並行性
      6.3.1  示例:批量矩陣乘法
      6.3.2  示例:批量高斯消元法
    6.4  分層並行和循環指令
      6.4.1  包含循環的組合構造
      6.4.2  歸約和組合構造
      6.4.3  綁定子句
    6.5  小結
  第7章  重新審視數據移動
    7.1  操作設備數據環境
      7.1.1  分配和刪除變數
      7.1.2  映射類型修飾符
      7.1.3  更改默認映射
    7.2  為設備編譯外部函數和靜態變數
    7.3  用戶自定義的映射器
    7.4  小組專用內存
    7.5  成為製圖師:手工映射設備內存
    7.6  提高生產率的統一共享內存
    7.7  小結
  第8章  非同步卸載到多個GPU
    8.1  設備發現
    8.2  選擇默認設備
    8.3  卸載到多個設備
      8.3.1  反向卸載
    8.4  條件卸載
    8.5  非同步卸載
      8.5.1  任務依賴
      8.5.2  非同步數據傳輸
      8.5.3  任務歸約
    8.6  小結
  第9章  與外部運行時環境協作
    9.1  通過OpenMP調用外部庫常式
    9.2  在OpenMP和外部函數之間共享數據
      9.2.1  同步的必要性
      9.2.2  示例:將OpenMP數據與cuBLAS共享
    9.3  在OpenMP中使用外部運行時的數據
      9.3.1  示例:與OpenMP共享cuBLAS數據
      9.3.2  避免不可移植的代碼

    9.4  直接控制外部運行時
      9.4.1  查詢外部運行時的屬性
      9.4.2  使用interop構造正確同步外部函數
      9.4.3  與外部運行時的非阻塞同步
      9.4.4  示例:無阻塞調用CUDA核函數
    9.5  使用變體指令增強可移植性
      9.5.1  聲明函數變體
      9.5.2  使用dispatch構造控制變體替換
      9.5.3  綜合應用
  第10章  OpenMP和異構計算的未來
參考文獻

  • 商品搜索:
  • | 高級搜索
首頁│ 新手上路│ 客服中心│ 關於我們│ 聯絡我們│ Top↑│
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032