Professional Documents
Culture Documents
Report 2
Report 2
Bo co Project 1
Tng quan v GPGPU v OpenCL
Trn Tun Mnh
9/29/2011
Mc lc
Phn I Tng quan v GPGPU ....................................................................................................................... 2
I.1.Gii thiu s qua v GPU ......................................................................................................................... 2
I.1.1. Kin trc GPU ...................................................................................................................................... 2
I.1.1.1. Cc khi nim v hnh nh 3D ................................................................................................... 2
I.1.1.2. Graphics Pipeline ........................................................................................................................... 3
I.2.GPGPU ............................................................................................................................................................. 4
Phn II: OpenCL ..................................................................................................................................................... 7
II.1.Vi nt v lch s........................................................................................................................................ 7
II.2.Cc c im ca OpenCL ...................................................................................................................... 7
II.3.Kin trc OpenCL ...................................................................................................................................... 7
II.3.1.Platform Model .................................................................................................................................. 8
II.3.2.Execution Model ................................................................................................................................ 8
II.3.3. Memory Model .................................................................................................................................. 9
II.3.4.Programming Model ..................................................................................................................... 10
II.3.5.OpenCL Framework ...................................................................................................................... 11
II.4.Pht trin chng trnh OpenCL ...................................................................................................... 11
Hnh : 3D scene
3D scene: l mt tp hp cc i tng 3D v lights.
3D Objects: l cc i tng 3D trong khng gian, cc khi hnh hc c bn, thng l cc
khi tam gic. Cc khi tam gic ny bao gm cc vertices.
Vertex: l mt im c ta trong khng gian, ngoi ra cn c cc thng tin khc nh mu
sc, ta texture.
Mt vi thng s:
C th thy rng, c bng thng b nh v kh nng tnh ton php ton du phy ng ca
GPU u tt hn CPU, thm ch l vt tri so vi CPU.
Mt khc, do thit k, CPU t hiu nng cao trn cc on m tun t, cn GPU th li lm
vic hiu qu trn cc on m song song.
GPGPU c tnh mm do cao. GPU h tr tt cho tnh ton du phy ng vi chnh xc
n. GPU cn h tr lp trnh vi API ca ngn ng bc cao.
C th thy rng, vic chuyn sang GPGPU i vi tnh ton song song l hp l. V khi ,
chng ta khai thc c th mnh ca GPU, khng ch n thun l x l hnh nh 3D.
I.2.2.M hnh lp trnh trn GPU
Cc n v lp trnh trn GPU h tr m hnh lp trnh SPMD. Nh ni phn trn, GPU
s x l rt nhiu yu t song song bng cch s dng nhiu chng trnh ging nhau. Mi
phn t c lp vi phn t khc. Tt c chng trnh GPU phi c t chc theo cch:
song song nhiu thnh phn, mi thnh phn c x l song song bi mt chng trnh.
Cc thnh phn c th c ghi d liu ln vng nh ca ring n hoc ghi ln global
memory. M hnh ny rt ph hp vi chng trnh c vit theo cch SIMD.
I.2.3.GPGPU
II.2.Cc c im ca OpenCL
OpenCL l mt chun m nn c cc nh sn xut phn cng rt ng h.
OpenCL c pht trin theo hng cross-platform (khng ph thuc vo nn tng
h thng, bao gm c phn cng v phn mm).
OpenCL c pht trin tn dng c tt c thit b tnh ton c th thc thi
song song, bao gm c CPUs, GPUs.
OpenCL h tr song song tc v v song song d liu.
OpenCL bao gm mt ngn ng (chun C99) vit kernels (chy trn cc OpenCL
devices) v cc hm APIs xc nh v iu khin platform.
II.3.Kin trc OpenCL
m t cc tng ct li ca OpenCL, chng ta s s dng mt h thng cc m hnh
phn cp:
Platform Model
Memory Model
Execution Model
Programming Model
II.3.1.Platform Model
OpenCL xy dng cho mnh mt platform tru tng, c lp vi h tng phn cng ca
thit b tnh ton.
OpenCL platform bao gm mt Host kt ni n mt hoc nhiu OpenCL devices (dng lm
thit b tnh ton). Mt OpenCL device l mt hoc nhiu Compute Units (CUs). Mi CU li
c phn chia thnh cc Processing elements (PEs). Vic tnh ton c thc hin trn
PEs.
OpenCL Platform layer: platform layer cho php host program tm hiu OpenCL
devices, nng lc tnh ton ca cc devices v to contexts.
OpenCL Runtime: cho php host program thao tc vi context to ra.
OpenCL Compiler: to chng trnh thc thi.