AMD A10-7850K Kaveri APU im Test

Seite 10: OpenCL

OpenCL 2.0 und HSA

OpenCL ist seit jeher ein zentraler Bestandteil der Kombiprozessoren von AMD. Mit der im Vergleich deutlich höheren Performance der Grafikeinheit soll die Lücke zur Konkurrenz geschlossen werden, vor allem in Programmen abseits des Grafikbereichs.

Es passt also nur zu gut rein, dass AMD mit den Kaveri APUs den ersten Chip auf den Markt bringt, der mit OpenCL 2.0 kompatibel ist. OpenCL 2.0 hat eine ganze Palette an neuen Features, die den Programmierern neue Möglichkeiten bieten, Probleme zu beschleunigen die, bisher nur ineffizient oder gar nicht auf der Grafikeinheit ausgeführt werden konnten.

Ein großes Problem bei der Arbeit mit OpenCL ist das kopieren der Daten von und in den Grafikspeicher. Muss man hier zu oft kopieren, lohnt sich die schnellere Berechnung kaum noch und die Ausführung insgesamt kann sogar langsamer werden. Insbesondere bei APUs fällt es hier ins Gewicht, dass CPU und GPU nicht gleichzeitig auf den selben Daten arbeiten können, da die Daten direkt nebeneinander im Arbeitsspeicher liegen. Viele Kopiervorgänge sind hier prinzipiell also schon unnötig.

OpenCL 2.0 bietet nun die Möglichkeit, dass Prozessor und Grafikeinheit gleichzeitig, inklusive Synchronisation, auf den selben Daten arbeiten können und somit weniger Kopiervorgänge anfallen.


Ein weiteres Feature von OpenCL 2.0 und HSA sind CPU Callbacks. Sie bieten die Möglichkeit während das Programm auf der Grafikeinheit ausgeführt wird, Funktionen auf der CPU aufzurufen. Sind beispielsweise nur wenige Elemente einer großen Datenmenge von Berechnungn auf der CPU abhängig, müssen mit OpenCL 1.x die komplette Berechnung auf der GPU unterbrochen werden, dann für besagte Elemente Werte auf der CPU berechnet werden und anschließend das endgültige Ergebnis auf der GPU berechnet werden. In OpenCL 2.0 können dagegen Threads, welche nicht betroffen sind ungestört zuende rechnen.



PC Mark 8


PCMark 8 - Home
AMD A10-7850K, mit OpenCL, DDR3 2400, Dual-Rank
3619
Intel Core i7-4820K, ohne OpenCL
3580
AMD A10-7850K, mit OpenCL, DDR3 2400
3578
AMD A10-6800K, mit OpenCL, DDR3 2400, Dual-Rank
3274
AMD A10-7850K, ohne OpenCL
2899
 
0
4000
2000
Punkte


PCMark 8 - Creative
AMD A10-7850K, mit OpenCL, DDR3 2400, Dual-Rank
3854
AMD A10-7850K, mit OpenCL, DDR3 2400
3788
Intel Core i7-4820K, ohne OpenCL
3487
AMD A10-6800K, mit OpenCL, DDR3 2400, Dual-Rank
3318
AMD A10-7850K, ohne OpenCL
2543
 
0
4000
2000
Punkte


PCMark 8 - Work
AMD A10-7850K, mit OpenCL, DDR3 2400, Dual-Rank
4548
AMD A10-7850K, mit OpenCL, DDR3 2400
4509
Intel Core i7-4820K, ohne OpenCL
3406
AMD A10-7850K, ohne OpenCL
2877
 
0
5000
2500
Punkte



Basemark CL 1.1


Basemark CL 1.1 - Physics
AMD A10-7850K, mit OpenCL, DDR3 2400, Dual-Rank
65.31
AMD A10-7850K, mit OpenCL, DDR3 2400, Dual-Rank, XMP
64.53
AMD A10-7850K, mit OpenCL, DDR3 2400
60.5
AMD A10-7850K, mit OpenCL, DDR3 2133
59.25
AMD A10-6800K, mit OpenCL, DDR3 2400, Dual-Rank, XMP
36.67
 
0
70
35
Punkte


Basemark CL 1.1 - Fractal
AMD A10-7850K, mit OpenCL, DDR3 2400, Dual-Rank
271.46
AMD A10-7850K, mit OpenCL, DDR3 2400
270.25
AMD A10-7850K, mit OpenCL, DDR3 2133
269.93
AMD A10-7850K, mit OpenCL, DDR3 2400, Dual-Rank, XMP
268.25
AMD A10-6800K, mit OpenCL, DDR3 2400, Dual-Rank, XMP
143.35
 
0
275
137.5
Punkte


Basemark CL 1.1 - Image
AMD A10-7850K, mit OpenCL, DDR3 2400, Dual-Rank
71.7
AMD A10-7850K, mit OpenCL, DDR3 2400, Dual-Rank, XMP
70.91
AMD A10-7850K, mit OpenCL, DDR3 2400
70.15
AMD A10-7850K, mit OpenCL, DDR3 2133
69.16
AMD A10-6800K, mit OpenCL, DDR3 2400, Dual-Rank, XMP
55.7
 
0
75
37.5
Punkte


Basemark CL 1.1 - Video
AMD A10-7850K, mit OpenCL, DDR3 2400, Dual-Rank
133.99
AMD A10-7850K, mit OpenCL, DDR3 2133
126.44
AMD A10-7850K, mit OpenCL, DDR3 2400
120.98
AMD A10-7850K, mit OpenCL, DDR3 2400, Dual-Rank, XMP
119.34
AMD A10-6800K, mit OpenCL, DDR3 2400, Dual-Rank, XMP
104.36
 
0
135
67.5
Punkte


Basemark CL 1.1 - Complete
AMD A10-7850K, mit OpenCL, DDR3 2400, Dual-Rank
87.39
AMD A10-7850K, mit OpenCL, DDR3 2400, Dual-Rank, XMP
85.26
AMD A10-7850K, mit OpenCL, DDR3 2400
82.55
AMD A10-7850K, mit OpenCL, DDR3 2133
81.841
AMD A10-6800K, mit OpenCL, DDR3 2400, Dual-Rank, XMP
55.02
 
0
90
45
Punkte



AMD HSA JPEG Decoder


JPEG Decoder
AMD HSA JPG Decoder, AMD A10-7850K
11.87
Microsoft Builtin JPG Decoder, AMD A10-7850K
4.95
 
0
15
7.5
Punkte


Mit WinZip, dem x264 Encoder und Hanbrake gibt es aber auch einige Beispiele in denen OpenCL nicht von Vorteil oder gar von Nachteil sind, da sie die CPU ausbremsen. Dies zeigt sich meist unabhängig von der Grafikeinheit und tritt teils auch mit einer AMD Radeon HD 7970 auf. Es bleibt also noch viel Optimierungspotenzial auch bei bereits von OpenCL unterstützen Programmen, damit sich ein spütbarer Vorteil daraus ergibt. Mit OpenCL 2.0 und auch AMDs HSA Implementierung dürfte hier nochmals gehörig Schwung reinkommen, vor allem, da mit den neuen Features auch neue Algorithmen und Probleme von der massiv parallelen Ausführung von Grafikchips profitieren können.
Nächste Seite: IGP Performance