blob: 13cd55e898b246241ef0059ba98658b08b96ced2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
Cactus Code Thorn OpenCL
Author(s) : Erik Schnetter
Maintainer(s): Cactus team
Licence : GPL, public domain
--------------------------------------------------------------------------
1. Purpose
Configure with OpenCL; see <http://www.khronos.org/opencl/>.
From the web site:
OpenCL - The open standard for parallel programming of heterogeneous
systems
OpenCL(TM) is the first open, royalty-free standard for
cross-platform, parallel programming of modern processors found in
personal computers, servers and handheld/embedded devices. OpenCL
(Open Computing Language) greatly improves speed and responsiveness
for a wide spectrum of applications in numerous market categories from
gaming and entertainment to scientific and medical software.
There seem to be four OpenCL implementations available at this time.
Unfortunately, they each have their drawbacks:
- AMD: Available at
<http://developer.amd.com/zones/openclzone/pages/default.aspx>. This
supports both CPUs and ATI GPUs. Unfortunately, the OpenCL compiler
seems to produce code with a low quality.
- Apple: Included with the operating system, available by default.
This supports both CPU and GPU. The compiler is based on LLVM.
Unfortunately, there seem to be serious bugs -- I can't get the cos
function to provide correct results.
- Intel: Available at
<http://software.intel.com/en-us/articles/opencl-sdk/>. This
supports only (Intel?) CPUs. The compiler is based on LLVM, and the
implementation is also based on Intel's TBB (Threading Building
Blocks). I don't know how to disassemble the generated code, except
when there is a segfault.
- NVidia: Available at <http://developer.nvidia.com/opencl>, included
in their CUDA distribution. This supports only GPUs.
In addition, Wikipedia <http://en.wikipedia.org/wiki/OpenCL> lists two
IBM implementations for their Power processor and for Intel compatible
CPUs, respectively. The latter may be identical with or similar to
AMD's implementation.
|