Open Computing Language

14
Open Computing Language (OpenCL) Domagoj Stanković Voditelj: Prof. dr. sc. Domagoj Jakobović

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

Transcript of Open Computing Language

Page 1: Open Computing Language

Open Computing Language

(OpenCL)

Domagoj Stanković

Voditelj: Prof. dr. sc. Domagoj Jakobović

Page 2: Open Computing Language

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

Page 3: Open Computing Language

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

Page 4: Open Computing Language

OpenCLPrenosivostKhronos Group – standardizacija

4/11

Page 5: Open Computing Language

Host & Device

5/11

Page 6: Open Computing Language

Osnovni tok OpenCL programa

6/11

Page 7: Open Computing Language

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

Page 8: Open Computing Language

Usporedba brzina izvođenja

Paralelno brže od slijednog

• Množenje matrica

Slijedno brže od paralelnog• Zbrajanje vektora

8/11

Page 9: Open Computing Language

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

Page 10: Open Computing Language

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

Page 11: Open Computing Language

Hvala na pažnji!

11/11

Page 12: Open Computing Language

Model memorijeGlobalna memorija

Konstantna

memorija

Lokalna memorija

Privatna memorija

12/11

Page 13: Open Computing Language

Modeli paralelnih programa

Programski model paralelnih podataka (data

parallel)

Programski model paralelnih zadataka (task

parallel)

13/11

Page 14: Open Computing Language

Brzine prijenosa

14/11