3.1 Available OpenCL Environments

This section will introduce the available OpenCL environment as of March, 2010.

FOXC (Fixstars OpenCL Cross Compiler)

FOXC, an OpenCL compiler, along with FOXC runtime, which is the OpenCL runtime implementation, are softwares currently being developed by the Fixstars Corporation. It is still a beta-release as of this writing (March, 2010).

OpenCL users can use the FOXC and FOXC runtime to compile and execute a multi-core x86 program.

Although OpenCL is a framework that allows for parallel programming of heterogeneous systems, it can also be used for homogeneous systems. Therefore, to run program compiled using FOXC, an additional accelerator is unnecessary. Also, since multi-threading using POSIX threads are supported, multiple devices can be running in parallel on a multi-core system.

FOXC is a source-to-source compiler that generates readable C code that uses embedded SSE functions from an OpenCL C code, giving the user a chance to verify the generated code.

Hardware Multi-core x86 CPU, x86 server
Tested Environment Yellow Dog Enterprise Linux (x86, 64-bit)
Cent OS 5.3 (32-bit, 64-bit)

Further testing will be performed in the future. For the latest information, visit the FOXC website: http://www.fixstars.com/en/foxc/

NVIDIA OpenCL

NVIDIA has released their OpenCL implementation for their GPU. NVIDIA also has a GPGPU development environment known as CUDA, but their OpenCL implementation allows the user to choose either environment.

Hardware CUDA-enabled graphics board;
NVIDIA GeForce 8,9,200 Series
NVIDIA Tesla
NVIDIA Quadro series
Tested Environment Windows XP (32-bit, 64-bit)
Windows Vista (32-bit, 64-bit)
Windows 7 (32-bit, 64-bit)
Yellow Dog Enterprise Linux 6.3 (32-bit, 64-bit)
Red Had Enterprise Linux 5.3 (32-bit, 64-bit)
Ubuntu 8.10 (32-bit, 64-bit)
Fedora 8 (32-bit, 64-bit)

The latest CUDA-enabled graphics boards are listed on NVIDIA's website: http://www.nvidia.com/object/cuda_learn_products.html.
The latest supported environments are listed at http://developer.nvidia.com/

AMD (ATI) OpenCL

ATI used to be a reputable graphic-chip vendor like NVIDIA, but was bought out by AMD in 2006. Some graphics products from AMD still have the ATI brand name.

AMD has a GPGPU development environment called "ATI Stream SDK", which started to officially support OpenCL with their v2.01 release. (March 2010).

AMD's OpenCL environment supports both multi-core x86 CPU, as well as their graphics boards.

Hardware Graphics boards by AMD;
ATI Radeon HD 58xx/57xx/48xx
ATI FirePro V8750/8700/7750/5700/3750
AMD FireStream 9270/9250
ATI Mobility Radeon HD 48xx
ATI Mobility FirePro M7740
ATI Radeon Embedded E4690 Discrete GPU
Tested Environment Windows XP SP3 (32-bit)/SP2(64-bit)
Windows Vista SP1 (32-bit, 64-bit)
Windows 7 (32-bit, 64-bit)
OpenSUSE 11.0 (32-bit, 64-bit)
Ubuntu 9.04 (32-bit, 64-bit)

The latest list of supported hardware is listed on AMD's website: http://developer.amd.com/gpu/ATIStreamSDKBetaProgram/Pages/default.aspx.
The latest supported environments are listed on: http://developer.amd.com/gpu/ATIStreamSDKBetaProgram/Pages/default.aspx

Apple OpenCL

One of the main features included in MacOS X 10.6 (Snow Leopard) was the Apple OpenCL, which was the first world-wide OpenCL release. The default support of OpenCL in the operating system, which allows developers the access to OpenCL at their fingertips, may help spread the use of OpenCL as a means to accelerate programs via GPGPU. Xcode, which is Apple's development environment, must be installed prior to the use of OpenCL.

Hardware Any Mac with an Intel CPU
Tested Environment Mac OS X 10.6 (Snow Leopard)

Apple's OpenCL compiler supports both GPUs and x86 CPUs.

IBM OpenCL

IBM has released the alpha version of OpenCL Development Kit for their BladeCenter QS22 and JS23, which can be downloaded from IBM Alpha Works: http://www.alphaworks.ibm.com/tech/opencl/. QS22 is a blade server featuring two IBM PowerXCell 8i processors, offering five times the double precision performance of the previous Cell/B.E. processor. JS23 is another blade server, made up of two POWER6+ processors, which is IBM's traditional RISC processor.

IBM's OpenCL includes compilers for both POWER processors, as well as for Cell/B.E.

As of this writing (March 2010), they are still alpha releases, which have yet to pass the OpenCL Spec test.

Hardware, OS IBM BladeCenter QS22 running Fedora 9
IBM BladeCenter JS23 running Red
Had Enterprise Linus 5.3