因為要報告,所以整理了一下我所了解的平行計算。簡報內容如下:
===========================
平行計算介紹
0.介紹
多組數據或任務同時作業的計算方式
1.平行計算分類
a.平行型式
1.位元並行處理Bit-level parallelism
8 bit -> 16 bit -> 32 bit -> 64 bit
由增加同時計算之位元數來達成加速資料處理
2.指令並行處理Instruction-level parallelism
Pipeline
Superscale
3.資料並行處理Data parallelism
Single Instruction Multiple Data(SIMD)
PC:MMX,SSE,3D Now
4.任務並行處理Task parallelism
function parallelism
control parallelism
b.硬體實現:並行電腦
1.多核心Multicore computing
2.對稱多處理器Symmetric multiprocessing
3.分散式運算Distributed computing
a.大型平行處理器Massive parallel processing
b.叢集運算Cluster computing
c.網格運算Grid computing
c.硬體實現:特殊電腦
1.Reconfigurable computing with field-programmable gate arrays(FPGA)
2.Scalable Embedded Array Processor
3.Vector processors
4.General-purpose computing on graphics processing units (GPGPU)
SIMT
5.Application-specific integrated circuits(ASIC)
2.平行計算軟體方法
a.Multi-Process
b.Multi-Thread
c.OpenMP
d.Erlang
e.OpenCL、CUDA
f.VHDL、Verilog
3.平行計算的使用場合
a.電腦模擬及預測
天氣預報
電磁波
機構
電子
b.電腦影像處理
照片
影片
3D-Game
c.感測器矩陣Sensor Array
天文望遠鏡
大型強子對撞器
CCD
d.特殊應用
非破壞性檢測
醫療領域
4.即時平行計算
a.應用領域
醫療
視覺檢測
On-line-Game Server
電腦影像處理應用:大型印表機
b.因成本降低,現在可以採用
a.Multicore
1.成本低
2.軟體變動小,可以套用在原有程式上
3.效率提升和核心數成比例
4.仍受限於其它資源的效能
b.GPGPU
1.成本低
2.軟體變動中等,但寫法不同會有很大的效能差異
要了解GPGPU內部結構
3.只有資料無緊密關係時才有加速力
矩陣運算
影像處理
可達100-250倍CPU運算量
4.高資料流頻寬
5.有回傳問題
GPGPU記憶體是獨立的
c.FPGA
1.成本中低,需電子能力
2.獨立於PC運作,使用PC界面連接
3.除錯變成和電子系統混合,難度較高
4.即時性極高,但運算格式受限
整數系統很好,浮點數不好
5.結論
人類慾望無止盡。
硬體成本下降。
電腦應用的普及化。
原先的先進技術,將會平民化。
舊技術因成本下降,會造就新市場。
=======================
剛好學了FPGA加上現在的CUDA,所以實現有望了。