Analysis SLOT TECHNOLOGY
operating system) connected to one or more OpenCL Compute Devices (e.g. a GPU). Each OpenCL device is divided into several Compute Units which are further divided into a number of Processing Elements. Computations on a Compute Device occur within the processing elements, after identification of the most efficient element to execute a particular calculation. The current generation of GPUs may contain several hundred processing elements, all capable of performing operations in parallel.
Execution of an OpenCL program occurs in two parts: kernels that execute on one or more OpenCL Compute Devices and a host program that executes on the central processor host. The host program defines the context for the kernels and manages their execution.
The core of the OpenCL execution model is defined by how the kernels execute. Kernels are similar to a C language function which can be data- or task- parallel. The principle behind the execution model is to break a large computation down into several smaller, more straightforward so called work-items
which can be executed in parallel. These work-items are distributed to different processing elements in the Compute Devices under the control of the host. Such an execution model is remarkably similar to the way many CPU architectures have traditionally executed instructions, but the ability of the OpenCL architecture to access all processing elements in the system (regardless of whether they are housed in a CPU, GPU or APU) is where the power of OpenCL can be harnessed.
So what does this all mean? Well the key benefits can be adequately summarised into efficiency, flexibility and cost savings.
By taking maximum advantage of all the various processing resources available in an enabled computer platform, OpenCL allows the same rich visual and audio experience to be achieved, but on a platform which uses less power, generates less heat and in some cases can be operated without the use of fans. All of these should lead to improved reliability.
A typical OpenCL platform.
“To take maximum advantage of the
APU approach, in which software
code is executed via the most
efficient processing element in the system, requires
software engineers to revise their
approach to game development.
ANDRES GARCIA, Senior Embedded
Software Engineer, Quixant
OpenCL also gives developers the flexibility to write games which are portable between manufacturers of different OpenCL hardware and to the next generation of OpenCL platforms. This maximises the return on investment into game development by prolonging the useful life of the game code.
These key advantages translate into cost savings both in terms of the ability to select lower cost hardware without jeopardising the player experience and in terms of the price of on-going game code development.
To top it off, all these benefits are facilitated by an open and royalty-free development framework. So it seems you really can have your cake and eat it.
February 2013 PAGE 49
Page 1 |
Page 2 |
Page 3 |
Page 4 |
Page 5 |
Page 6 |
Page 7 |
Page 8 |
Page 9 |
Page 10 |
Page 11 |
Page 12 |
Page 13 |
Page 14 |
Page 15 |
Page 16 |
Page 17 |
Page 18 |
Page 19 |
Page 20 |
Page 21 |
Page 22 |
Page 23 |
Page 24 |
Page 25 |
Page 26 |
Page 27 |
Page 28 |
Page 29 |
Page 30 |
Page 31 |
Page 32 |
Page 33 |
Page 34 |
Page 35 |
Page 36 |
Page 37 |
Page 38 |
Page 39 |
Page 40 |
Page 41 |
Page 42 |
Page 43 |
Page 44 |
Page 45 |
Page 46 |
Page 47 |
Page 48 |
Page 49 |
Page 50 |
Page 51 |
Page 52 |
Page 53 |
Page 54 |
Page 55 |
Page 56 |
Page 57 |
Page 58 |
Page 59 |
Page 60 |
Page 61 |
Page 62 |
Page 63 |
Page 64 |
Page 65 |
Page 66 |
Page 67 |
Page 68 |
Page 69 |
Page 70 |
Page 71 |
Page 72 |
Page 73 |
Page 74 |
Page 75 |
Page 76 |
Page 77 |
Page 78 |
Page 79 |
Page 80 |
Page 81 |
Page 82 |
Page 83 |
Page 84 |
Page 85 |
Page 86 |
Page 87 |
Page 88 |
Page 89 |
Page 90 |
Page 91 |
Page 92 |
Page 93 |
Page 94 |
Page 95 |
Page 96 |
Page 97 |
Page 98 |
Page 99 |
Page 100 |
Page 101 |
Page 102 |
Page 103 |
Page 104 |
Page 105 |
Page 106 |
Page 107 |
Page 108 |
Page 109 |
Page 110 |
Page 111 |
Page 112 |
Page 113 |
Page 114 |
Page 115 |
Page 116 |
Page 117 |
Page 118 |
Page 119 |
Page 120 |
Page 121 |
Page 122 |
Page 123 |
Page 124 |
Page 125 |
Page 126 |
Page 127 |
Page 128 |
Page 129 |
Page 130 |
Page 131 |
Page 132 |
Page 133 |
Page 134 |
Page 135 |
Page 136 |
Page 137 |
Page 138 |
Page 139 |
Page 140