Open Computing Language

Preview:

DESCRIPTION

Open Computing Language. (OpenCL). Domagoj Stanković Voditelj: Prof. dr. sc. Domagoj Jakobović. Prošlost. Ubrzanje izvođenja => brži procesor 2004. Intelov procesor 4 GHz – gornja granica Višejezgreni procesori – paralelni programi Različite platforme – različiti programi. OpenCL. - PowerPoint PPT Presentation

Citation preview

Open Computing Language

(OpenCL)

Domagoj Stanković

Voditelj: Prof. dr. sc. Domagoj Jakobović

ProšlostUbrzanje izvođenja => brži procesor

2004. Intelov procesor 4 GHz – gornja

granica

Višejezgreni procesori – paralelni programi

Različite platforme – različiti programi

2/11

OpenCLOkvir za pisanje programa koji se izvršavaju

paralelno na heterogenim platformama - CPU, GPU, DSP

CPU (central processing unit) – procesor opće namjene, mali broj jezgri

GPU (graphics processing unit) – procesor za grafičko računanje, veliki broj jezgri

DSP (digital signal processor) – procesor za obradu digitalnog signala 3/11

OpenCLPrenosivostKhronos Group – standardizacija

4/11

Host & Device

5/11

Osnovni tok OpenCL programa

6/11

OpenCL program

__kernel void vector_add(__global int *A, __global int *B, __global int *C) { // Nađi indeks trenutnog elementa int i = get_global_id(0);  // Obavi operaciju C[i] = A[i] + B[i];

}

7/11

Usporedba brzina izvođenja

Paralelno brže od slijednog

• Množenje matrica

Slijedno brže od paralelnog• Zbrajanje vektora

8/11

Množenje matrica

256 320 384 448 512 640 768 896 1024 1280 1536 1792 2048 25600

10

20

30

40

50

60

70

80

90

100

0.29 0.48 0.83 1.26 2.34 3.44

12.9

29.27

39.41

54.41

62.3

70.05

80.28

93.8

Broj ulaznih podataka

Brz

ina

izvo

đenj

a (p

aral

elno

/ sl

ijedn

o)

9/11

Zbrajanje vektora

8000000 28000000 48000000 68000000 880000000

1

2

3

4

5

6

7

8

2.08

6.77.07

5.43

4.694.1

3.64

2.41

Broj ulaznih podataka

Brz

ina

izvo

đenj

a (s

lijed

no /

para

leln

o)

10/11

Hvala na pažnji!

11/11

Model memorijeGlobalna memorija

Konstantna

memorija

Lokalna memorija

Privatna memorija

12/11

Modeli paralelnih programa

Programski model paralelnih podataka (data

parallel)

Programski model paralelnih zadataka (task

parallel)

13/11

Brzine prijenosa

14/11

Recommended