Difference between revisions of "OpenCL on CPU and GPU"

From Gridkaschool
Line 10: Line 10:
   
 
====Assigned exercise machines====
 
====Assigned exercise machines====
UID Host name IP address
+
UID Host name IP address
068 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
+
068 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
074 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
+
074 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
075 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
+
075 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
077 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
+
077 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
082 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
+
082 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
084 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
+
084 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
085 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
+
085 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
088 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
+
088 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
089 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
+
089 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
090 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
+
090 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
102 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
+
102 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
103 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
+
103 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
104 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
+
104 rz-tesla0.rz.uni-karlsruhe.de 172.21.94.100
110 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
+
110 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
113 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
+
113 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
117 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
+
117 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
121 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
+
121 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
123 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
+
123 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
125 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
+
125 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
128 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
+
128 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
012 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
+
012 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
132 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
+
132 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
134 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
+
134 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
137 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
+
137 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
139 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
+
139 rz-tesla2.rz.uni-karlsruhe.de 172.21.94.102
   
 
= Reference Material =
 
= Reference Material =

Revision as of 03:56, 30 August 2012

Introduction

OpenCL is a standard which defines a framework, an API and a programming language for parallel computation on heterogeneous systems like desktop computers, high-performance computing servers as well as hand-held devices.

The standard is maintained by the Khronos Group and supported by a large consortium of industry leaders including Apple, Intel, AMD, NVIDIA and ARM. Influenced by NVIDIA’s CUDA from the GPU side and by OpenMP which originates from the classical CPU side, the open OpenCL standard is characterized by a formulation which is abstract enough to support both CPU and GPU computing resources.

This is an ambitious goal, since providing an abstract interface together with a peak performance is a challenging task. OpenCL employs a strict isolation of the computation work into fundamental units, the kernels. These kernels can be developed in the OpenCL C programming language, a subset of the C99 language, with some additional OpenCL specific keywords.

In general, these kernels are hardware independent and compiled by the OpenCL runtime when they are loaded. To be able to fully exploit the parallel execution of the kernel code, several kernel instances, the work items, are started to process a set of input values. The actual number of concurrently running work items is determined by the OpenCL system. How a concrete algorithm can be partitioned into work items has to be decided by the programmer.

Assigned exercise machines

UID               Host name                              IP address
068		rz-tesla0.rz.uni-karlsruhe.de	172.21.94.100
074		rz-tesla0.rz.uni-karlsruhe.de	172.21.94.100
075		rz-tesla0.rz.uni-karlsruhe.de	172.21.94.100
077		rz-tesla0.rz.uni-karlsruhe.de	172.21.94.100
082		rz-tesla0.rz.uni-karlsruhe.de	172.21.94.100
084		rz-tesla0.rz.uni-karlsruhe.de	172.21.94.100
085		rz-tesla0.rz.uni-karlsruhe.de	172.21.94.100
088		rz-tesla0.rz.uni-karlsruhe.de	172.21.94.100
089		rz-tesla0.rz.uni-karlsruhe.de	172.21.94.100
090		rz-tesla0.rz.uni-karlsruhe.de	172.21.94.100
102		rz-tesla0.rz.uni-karlsruhe.de	172.21.94.100
103		rz-tesla0.rz.uni-karlsruhe.de	172.21.94.100
104		rz-tesla0.rz.uni-karlsruhe.de	172.21.94.100
110		rz-tesla2.rz.uni-karlsruhe.de	172.21.94.102
113		rz-tesla2.rz.uni-karlsruhe.de	172.21.94.102
117		rz-tesla2.rz.uni-karlsruhe.de	172.21.94.102
121		rz-tesla2.rz.uni-karlsruhe.de	172.21.94.102
123		rz-tesla2.rz.uni-karlsruhe.de	172.21.94.102
125		rz-tesla2.rz.uni-karlsruhe.de	172.21.94.102
128		rz-tesla2.rz.uni-karlsruhe.de	172.21.94.102
012		rz-tesla2.rz.uni-karlsruhe.de	172.21.94.102
132		rz-tesla2.rz.uni-karlsruhe.de	172.21.94.102
134		rz-tesla2.rz.uni-karlsruhe.de	172.21.94.102
137		rz-tesla2.rz.uni-karlsruhe.de	172.21.94.102
139		rz-tesla2.rz.uni-karlsruhe.de	172.21.94.102

Reference Material