|
近年來,處理器朝向多核心架構發展已是普遍情況,一般中央處理器受限於x86架構與記憶體頻寬影響尚無法大量增加處理器核心,從而在一顆晶片上得到超過1Teraflops以上的處理能力。2012年推出2,000核心等級的通用計算圖形處理器(以下簡稱GPGPU),其後更將最大理論浮點計算量增加至雙精度1.2 TFlops,透過其發展之應用程式更是涵蓋各領域,目前已有許多商用軟體支援CUDA,應用領域包括動畫算圖、生物計算、物理場模擬、化學分析、金融計算為大宗。目前GPGPU提供使用者多層級快取系統與超快速隨需存取記憶體,讓使用者更自由地最佳化應用程式。過往GPGPU被詬病的精度問題在最新一代Fermi架構下得以解決。在2014年6月TOP500所公佈的前10名超級電腦排名裡已有2部採用GPGPU架構處理大量資料,分別為美國橡樹嶺國家實驗室(ORNL)與瑞士超級電腦中心(CSCS)為研究開發人員提供PetaFlop等級計算能力。
本課程為CUDA程式實做與Linux GPGPU平行計算環境建置課程,學員需要有C語言的基礎,透過GPU/CPU/Memory基礎架構解說與實例操作,如果已有OpenMP或MPI等平行計算經驗更佳,學員可以從中了解CUDA之操作,搭配課堂上所演示的平行演算法可使學員更加容易地從序列式計算轉換至平行計算。課程天數為2天,主要涵蓋CUDA環境建置,SDK說明,實例操作、環境建置等。
上課環境為Linux系統,學員將學習如何建置CUDA編譯環境,並編寫簡單的CUDA程式,課程最後有討論時間並練習,如已有寫過CUDA程式的學員有CUDA問題也可在課程上發問。
|