2016 暑期高效能運算課程

High performance computing and Big data.

140x140

基本資訊

 

【日期】 2016/8/22、8/23

【時間】 ■09:10~12:00 ■13:20~16:10

【地點】 計中 106 教室

【費用】 臺灣大學及國立臺灣大學系統 1000 元,其他 2000 元

【主辦單位】國立臺灣大學計算機及資訊網路中心(臺大計中)

【協辦單位】NVIDIA 及 兌全有限公司


140x140

師資

 

兌全有限公司 / 鄭羽熙 博士

兌全有限公司 總經理
學歷:國立台灣大學 電機系博士 (1992)
經歷:1. 中山科學研究院簡聘技正 2. 德碩半導體股份有限公司晶片設計經理 3. 麗臺科技股份有限公司副總工程師
專長:1. Multi-core parallel processing and GPU massive processing 2. Video codec and algorithm 3. Embedded SOC system 4. FPGA and Chip design 5. ECG and HRV application


140x140

課程簡介

 

2016年3月於南韓首爾,AlphaGo(Google DeepMind所開發的電腦圍棋軟體)以四勝一負的戰績擊敗韓國職業九段棋士李世乭,此舉證實了使用深度學習(Deep Learning)來實現人工智慧(Artificial Intelligence)的實用性;也預言了深度學習技術在未來科技發展中將扮演著非常重要的角色。然而在深度學習的運算模型中,多節點及多層次的運算需求將直接挑戰處理器的平行計算能力,因此CPU處理器的計算資源將無法完全負擔深度學習眾多節點的平行運算需求。近年來,GPGPU(General-Purpose computing on Graphics Processing Units)的計算理念已然成熟,加上半導體技術的迅速成長,至今在單一圖形處理晶片中,處理器核心(processor core)的個數已增加到3,840;所提供每秒單精度浮點運算次數可達10.6 TFLOPS(Tera FLoating-point Operations Per Second),搭配支援多平台(Windows、Linux、MAC)的程式開發環境,例如:CUDATM SDK(Compute Unified Device Architecture Software Development Kit);在眾多科學計算(scientific computing)領域中所發表的論文早已證明其加速運算的強大效能,因此運用GPGPU來實現深度學習在各領域的研究已成為目前及未來的研發趨勢。

為了引導學員能夠輕易的瞭解CUDA的平行理念,在短時間內就可以上手撰寫平行程式,本課程使用國立臺灣大學計算機及資訊網路中心配備的Tesla K80 GPUs作為訓練平台,從CUDA的基礎平行計算模式開始介紹,針對在撰寫CUDA平行程式時,使用特殊記憶體該注意的事項、大量資料在平行處理時的各種切割方式、從多執行緒(multiple threads)到多GPU處理核心的分配方法、跨越多GPU晶片(multiple GPUs)的多串流(multiple streams)處理、甚至於整合CUDA到叢集系統(Cluster)運算的MPI(Message Passing Interface)處理等議題,都是本課程要探討的內容;此外,正值CUDA 8.0、Tesla P100及NVIDIA DGX-1 Deep Learning Supercomputer等新功能發表期間,本課程也將搶先介紹其支援的新架構及新技術。

為了加強學習的效果,本課程的安排特別著重於由淺而深,逐步引導學員從理解進而可以最快的速度上手CUDA平行程式的設計。搭配CUDA上機實習及許多個案研究,本課程的最大目標是引導CUDA初學者能夠在短時間內快速進入CUDA的平行世界。只要是具備有C程式語言的設計基礎者均可參加此課程,利用兩天的時間快速學會CUDA平行處理程式的設計技巧及目前最新平行理念。

誠摯的歡迎您來參加這場不能錯過的CUDA深度學習。


140x140

課程內容

 

第一天 第二天
  1. CUDA SDK 8.0, Tesla P100圖形處理器架構及計算能力簡介
  2. Thread, thread block, grid, warp 等平行計算模式概念說明
  3. 上機練習(一): 簡單的CUDA 平行程式開發
  4. GPU Global, constant, shared 記憶體的階層概念及使用方法說明
    上機練習(二): 使用CUDA記憶體加速平行計算
  5. CUDA 程式的效能評估方法
    上機練習(三): 在平行程式中加入計時器評估
  6. 個案研究 A : N Body 計算
    上機練習(四): 加強 N Body 平行計算
  7. 個案研究 B : Monte Carlo 及 Random Number Generation 計算
    上機練習(五): 加強 Monte Carlo 平行計算
  1. NVIDIA DGX-1 Deep Learning Supercomputer 簡介
  2. NVLink High Speed Interconnect 簡介
  3. 平行 streams及操控Multiple GPUs的使用方法
  4. 上機練習(六): 使用 multiple streams 設計平行程
  5. 上機練習(七): Multiple GPUs 平行程式開發
  6. CUDA Texture 及 Surface 記憶體的使用方式
  7. 上機練習(八): Image Sobel filtering and Rotation
  8. 個案研究 C : Image Denoising
  9. GPUDirect Peer-to-peer Transfers 及 Unified Virtual Addressing
  10. CUDA MPI

140x140

對象

 

具備基本C Programming知識,未來想從事高階軟體開發工程師、財務分析工程師、電子/電機相關工程師、測試/量測工程師、醫學界研發人員、生物科技研究人員,以及統計/數值分析人員等


140x140

備註

 

  1. 本課程使用階梯式教室,備有電源插座,建議學員自行攜帶筆記型電腦,以隨時配合講師操作實習。請預先安裝SSH client軟體(如putty)。
  2. 本課程提供午餐,限當日準時報到學員。
  3. 如因報名人數過多,本中心得更換教室。請學員務必於上課前三日,上網確認上課地點。