OpenCLLink Setup
This section is concerned with the way that
OpenCLLink is set up and configured for your machine. It will also help to track down and correct problems.
Setup and Testing
OpenCLLink is designed to work automatically after
Mathematica is installed with no special configuration. You can test this by using the
OpenCLQ function.
This loads the
OpenCLLink application.
This checks if
OpenCLLink is supported. If it returns
True, as shown below, then
OpenCLLink will work.
| Out[2]= |  |
If
OpenCLQ does not return
True, then
OpenCLLink will not work. However, you might be able to configure your machine to fix this.
There are five main reasons for getting
False from
OpenCLQ:
- Unsupported operating system—OpenCLLink is not supported on SUN's Solaris or versions of Apple's Mac OS X earlier than 10.6.
- Unsupported hardware—OpenCLLink only works on OpenCL-capable graphics cards and/or CPUs with SSE3 support. You can find out if your graphics card is supported on the NVIDIA CUDA website or the AMD/ATI OpenCL website.
- Wrong ATI Driver—Starting with version 10.10, ATI hardware has two versions of the driver, one supporting OpenCL and one not. The AMD Catalyst
Accelerated Parallel Processing (APP) Technology Edition of the driver is needed for OpenCL to function. The driver is only supported on certain cards and can be downloaded from the AMD/ATI Driver website.
Mac OS X
Apple Mac OS X Snow Leopard (10.6) includes OpenCL support as part of the operating system. OS X versions earlier than Snow Leopard are not supported.
NVIDIA
In general, if
CUDALink works then
OpenCLLink should work.
"CUDALink Setup" tells you how to test
CUDALink and make it operational; this should be sufficient to resolve problems with
OpenCLLink.
AMD/ATI
An OpenCL-capable video card (see next section) is required to use
OpenCLLink. The AMD Catalyst

driver is required as well. Some video cards have the AMD Catalyst

Accelerated Parallel Processing (APP) driver; in those cases, the driver is sufficient. If the APP driver is not supported, then the ATI Stream SDK is required to use
OpenCLLink.
The AMD Catalyst

driver can be downloaded from the
AMD/ATI Driver website while the ATI Stream SDK can be downloaded from the
AMD/ATI Stream website.
Supported AMD/ATI Video Hardware
The following AMD/ATI video hardware is supported by
OpenCLLink:
- ATI Radeon
HD: ATI Radeon
HD 5970, ATI Radeon
HD 5870, ATI Radeon
HD 5850, ATI Radeon
HD 5770, ATI Radeon
HD 5750, ATI Radeon
HD 5670, ATI Radeon
HD 5570, ATI Radeon
HD 4890, ATI Radeon
HD 4870 X2, ATI Radeon
HD 4870, ATI Radeon
HD 4850 X2, ATI Radeon
HD 4850, ATI Radeon
HD 4830, ATI Radeon
HD 4770, ATI Radeon
HD 4670, ATI Radeon
HD 4650, ATI Radeon
HD 4550, or ATI Radeon
HD 4350
- ATI FirePro
: ATI FirePro
V8800, ATI FirePro
V8750, ATI FirePro
V8700, ATI FirePro
V7750, ATI FirePro
V5700, or ATI FirePro
V3750
- ATI FireStream
: ATI FireStream
9270 or ATI FireStream
9250
- ATI Mobility Radeon
HD: ATI Mobility Radeon
HD 4870, ATI Mobility Radeon
HD 4860, ATI Mobility Radeon
HD 4850X2, ATI Mobility Radeon
HD 4850, ATI Mobility Radeon
HD 4830, ATI Mobility Radeon
HD 4670, ATI Mobility Radeon
HD 4650, ATI Mobility Radeon
HD 4500 Series, or ATI Mobility Radeon
HD 4300 Series
Environment
On Mac OS X,
OpenCLQ checks if OS X 10.6 (Snow Leopard) is installed. It would fail if not detected, since previous versions are not supported. On NVIDIA hardware,
OpenCLQ follows the same methods of detection as
CUDAQ in
CUDALink; refer to
"CUDALink Setup" for more information.
ATISTREAMSDKROOT
This section will only be applicable for systems with AMD/ATI GPU or a CPU used along with the AMD/ATI Stream SDK.
On both Linux and Windows, the

environment variable is used to determine the path to the AMD/ATI Stream SDK. If not detected, then the following paths are checked:
| "Windows" | "C:\\Program Files\\ATI Stream" |
| "Windows-x86-64" | "C:\\Program Files (x86)\\ATI Stream" |
| "Linux" | $Failed |
| "Linux-x86-64" | $Failed |
Default path to the AMD/ATI Stream SDK in case
is not defined.
The variable can be checked in
Mathematica using the following.
| Out[1]= |  |
After detection, the result is stored in

.
Error Messages