GPU分散式演算法與CPU多執行緒演算法之單機系統模擬

Slides:



Advertisements
Similar presentations
定 格 入 格 破 格 —— 新诗仿写复习训练 仿照下列句子,再把 “ 人生 ” 比喻成 “ 大海 ”“ 天空 ” , 造两个句子。 如果说人生是一首优美的乐曲,那么痛苦则 是其中一个不可或缺的音符。 参考答案: 1 、如果说人生是一望无际的大海,那么挫折则 是其中一个骤然翻起的浪花。 2 、如果说人生是一片湛蓝的天空,那么失意则.
Advertisements

《微型计算机技术 及应用》 ( 第 4 版) —— 戴梅萼 史嘉权. 目标 深刻理解 牢固掌握 灵活应用.
第 2 章 中央處理單元.
LinkIt ONE開發板的簡介.
多核结构与程序设计 杨全胜 东南大学成贤学院计算机系.
第一章 多核概述 使用多核了吗? 摩尔定律——芯片的晶体管数量每一年半左右增长一倍。 处理器性能不断提高主要基于两个原因:
MATLAB 程式設計 時間量測 清大資工系 多媒體資訊檢索實驗室.
上 班 族 身心健康操 陽明大學 運動健康科學 研究中心 編著.
境外中资企业机构和人员安全管理指南 ——境外人员和场所安全管理 中国对外承包工程商会安全管理专家.
教育局資安課程 戒慎恐懼-談公務上的資安認知.
Chap4 電腦硬體基本單元 高中資訊科技概論 松崗圖書公司.
CPU 一、基本知识 二、常见品牌 三、评价指标 四、AMD VS Intel 五、单核与双核 六、多核
HP Pavilion g 系列新品培训 Trainer
電腦作業-CPU介紹 班級:117 座號:07號 姓名:周奕廷.
日新月异的信息技术.
ACER商用笔记本产品介绍 ACER TM P243
台灣雲端運算應用實驗中心研發計畫 計 畫 期 間:自98年7月1日至99年6月30日止 執行單位名稱 :財團法人資訊工業策進會 國立中山大學.
第一章 信息与信息技术 1.2 日新月异的信息技术.
科學科 污染 空氣 成因 的 : 題目 及 減少空氣污染的方法 陳玉玲 (4) 姓名 : 去到目錄.
TQC+ JAVA全國教師研習會 PLWeb 程式設計練習平台 簡介.
99年台南市中小學電腦維運 --招標結果暨配發說明
主題五 CPU Learning Lab.
第 1 章 使用 APP INVENTOR 2 開發 ANDROID APP
3D繪圖軟體 CATIA V5介紹 第十一組 劉子剛.
型號 – ASUS F3APT2YDD 規格 型號:ASUS F3APT2YDD-FBQCCCA 處理器:Intel Core Duo T2060 最新65奈米製程(1.6GHz,533MHz FSB ,2MB L2 Cache) 記憶體:1GB DDRII 螢幕:15.4" WXGA 鏡面寬螢幕.
主讲教师:唐大仕 第5讲 计算机硬件 主讲教师:唐大仕
第 2 章 中央處理單元.
電腦硬體基本介紹 國立高雄大學資訊工程學系 林士倫 2010/10/21.
第5章 中央處理單元與主記憶體 5-1 中央處理單元-CPU 5-2 主記憶體.
程式語言的基礎 Input Output Program 世代 程式語言 第一世代 Machine language 第二世代
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
新電腦硬體 製作者: 陳卉茹 鄭如君.
多线程编程基本概念 2008.
CPU資料處理 醫務管理暨醫療資訊學系 陳以德 副教授: 濟世CS 轉
計概作業 陳承詳.
第一篇 Unix/Linux 操作介面 第 1 章 Unix/Linux 系統概論 第 2 章 開始使用 Unix/Linux
第1章 認識Arduino.
基于压缩算法的tile64多核处理器性能研究
GPU分散式演算法設計與單機系統模擬(第二季)
HP Pro 2000 商用台式机 dx2310 HP Pro 2000 特性对比 机箱 芯片组 CPU 输入/输出插槽 内存 扩展仓 显卡
桌面環境簡介及IDE開發工具 Outline (一)什麼是Linux? (二)桌面環境系統簡介 (三)IDE開發工具.
R教學 安裝RStudio 羅琪老師.
华南理工大学 陈虎 博士 CUDA编程模型 华南理工大学 陈虎 博士
线程(Thread).
OpenID與WordPress使用說明
校 園 雲端輸出管理系統 新印科技股份有限公司 聯絡人:伍宏一 電 話: /
Chap3 Linked List 鏈結串列.
第3章 認識處理元.
主流双核微处理器 技术分析及性能对比 陈丰 李宏量 孙瑜杰 计算机体系结构课程论文课堂报告.
網頁程式概論 建國科技大學資管系 饒瑞佶 2015/9 V1 2016/4 V2 2016/9 V3.
中国科学技术大学计算机系 陈香兰 Fall 2013 第三讲 线程 中国科学技术大学计算机系 陈香兰 Fall 2013.
靜宜大學專用 PowerPoint 檔案 數位教材
微机原理与接口技术 ——第三章 80x86微处理器 西安邮电大学 计算机学院 范琳.
雲端運算的基石(1) 虛擬化技術簡介
小米手机3介绍 为发烧而生.
核心系统数据库组 了解应用服务器 核心系统数据库组
谁在审判?谁能审判? ——网络舆论对司法判案的影响
一、簡介 電腦硬體設計:純硬體電路(hardware)及韌體電 路(firmware)兩種方式。
Cloud Operating System - Unit 03: 雲端平台建構實驗
MultiThread Introduction
資料擷取與監控應用實務.
暗房技術實驗 顯影 停影 定影 授課教授:莊東漢 林招松 教授 助教:朱峰民 實驗目的 暗房技術 實驗設備與材料 實驗結果 實驗原理
專題J組: PDA上四元樹影像解壓縮 暨 漸進式影像傳輸系統
亞洲大學 資訊工程學系 多重來源影像監控系統
参赛流程指引 (如何下载平台及报名参赛).
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
Chapter 4 Multi-Threads (多執行緒).
JUDGE GIRL 使用介紹 & 常見問題 TAs :
微 處 理 機 專 題 – 8051 C語言程式設計 主題:階乘計算
Introduction to Mobile Computing
Presentation transcript:

GPU分散式演算法與CPU多執行緒演算法之單機系統模擬

Outline Multi-Threading(多執行緒) Threads API OpenMP的特點 OpenMP vs. Multi-Threading 單機系統模擬 Conclusion 2/1/2010 ICAL

Multi-Threading(多執行緒) Thread是在CPU執行的最基本單位,在傳統 的單一Thread的程式,同時只能使用一個 CPU,無法完全發揮多CPU或多核心CPU的 運算能力。 Multi-Threading是一種將Process內的工作分 成多個Thread的技術。能使一個Process同時 運用多顆CPU或多個核心CPU,以充份運用 硬體運算資源。 2/1/2010 ICAL

Threads API Windows API – Threads POSIX Threads (Pthreads) 微軟提供在Windows系統上,可被各種語言乎 叫的API,其中有一部份的函數可運用於建立 、管理Threads,進而撰寫出Multi-Threading 的 程式。 POSIX Threads (Pthreads) 專用於Unix-like POSIX 系統,如Linux、Solaris 的一套可建立、管理Threads的API。此API後來 也出現可在微軟Windows平台上執行的版本。 2/1/2010 ICAL

OpenMP的特點 專用於共享記憶體架構多執行緒程式開發 的跨平台API 支援C、C++、Fortran語言 提供對平行演算法高階的抽象描述,可有 效降低開發平行運算程式的難度和複雜度 ,使程式開發者更加專注於平行演算法本 身,而不需要去處理具體的細節 2/1/2010 ICAL

OpenMP的特點(續) 使用Threads API的方式來進行多核心程式設計 ,必須自行創建threads,自行設計分配各 threads的工作、順序,自行協調規劃各threads 在存取記憶體時的行為並加以保護以防止計算 發生錯誤,自行匯集統合各threads的計算結果 ,並刪除threads。 OpenMP只需在欲平行化的程式碼前加入一些 相關註釋,OpenMP會自動將創建threads、管 理threads、匯整結果並刪除threads,各細節自 動處理完畢,可節省大量開發時間。 2/1/2010 ICAL

OpenMP vs. Multi-Threading 優點:因許多細節都自動的被處理,開發方便快速 缺點:也因細節的被自動處理,程式人員欲開發的 細節受到限制,無法針對硬體進行效能優化 Multi-Threading 優點:Threads的創建、管理的各種細節都由自行 處理,可對硬體做效能優化與特殊處理 缺點:因Threads的大小細節需自行處理,在程式 開發上耗時耗力 2/1/2010 ICAL

單機系統模擬 系統模擬使用OpenMP、Windows API Threads、CUDA,以測試使用OpenMP或 Threads兩種不同的程式開發方式效能差距 。 將一張已被SVD分解的影像資料,會分解 為紅綠藍3種顏色,每個顏色3個1024×1024 的距陣。系統模擬分別使用只動用單一核 心的CPU、四核心CPU和大量核心GPU以矩 陣相乘的方式進行還原。 2/1/2010 ICAL

模擬測試環境 GPU CPU Device NVIDA Geforce 9600 GSO Cores 96 Processor Clock 1375 MHz Standard Memory 384 MB Memory Bandwidth 38.4 GB/sec CPU Device Intel Core 2 Quad Q9300 Cores 4 Processor Clock 2.5 GHz FSB speed 1333 MHz L2 Cache 6 MB 11/17/09

測試結果 Single-CPU OpenMP Windows API Threads CUDA Red 45.157 sec. Green 45.828 sec. 24.594 sec. 26.421 sec. Blue 45.797 sec. 23.656 sec. 26.718 sec. Total (sec.) 136.782 sec. 75.703 sec. 77.764 sec. 1.734 sec. 2/1/2010 ICAL

分析 經以上實驗結果可發現,無論使用OpenMP 或Threads API,在效能上的差距仍相當接 近,因此在進行選擇時,可以不需要太考 慮效能因素。 雖然OpenMP在程式開發上非常簡單便利, 但也因此無法決定threads較細節的部份。反 之,使用Windows Threads API或Pthreads則 因需自行決定threads的細節,而可以對硬體 進行特殊的控制或進一步對效能進行優化 。 2/1/2010 ICAL

Conclusion OpenMP程式開發簡單快速,但無法控制細 節, Threads API程式開發較困難耗時,但自 行決行threads運作細節。 同一種演算法使用OpenMP或Threads API效 能相近,但Threads API可進一步對硬體進行 效能優化。 雲端運算主機使用CPU與NVIDIA CUDA GPU協同運算,在時間、人力充足的情況下 ,可以考慮使用Threads API對硬體做進一步 效能優化。 2/1/2010 ICAL