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.
| In[1]:= |
This checks if OpenCLLink is supported. If it returns True, as shown below, then OpenCLLink will work.
| In[2]:= |
| 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.
- Incompatible graphics driver—A recent NVIDIA or ATI driver is needed for OpenCLLink to operate properly. Drivers for your operating system are available from the NVIDIA driver download website or the AMD/ATI driver download 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.
- Missing OpenCL ATI Stream SDK—For ATI hardware not supported by the APP driver, or if planning on using the CPU, the AMD/ATI Stream SDK is needed. The Stream SDK can be downloaded from the AMD/ATI OpenCL website.
The rest of this section describes steps you can carry out to try and enable OpenCLLink.
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:
- AMD/ATI Radeon
HD: AMD Radeon
HD 7000 Series, AMD Radeon
HD 6000 Series, 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
- AMD/ATI FirePro
: AMD FirePro
W9000, AMD FirePro
W8000, AMD FirePro
W7000, AMD FirePro
W5000, ATI FirePro
V9800, ATI FirePro
V8800, ATI FirePro
V8750, ATI FirePro
V8700, AMD FirePro
V7750, ATI FirePro
V7800, ATI FirePro
V7750, AMD FirePro
V5900, ATI FirePro
V5700, ATI FirePro
V3750, or AMD FirePro
APU
- AMD/ATI Mobility Radeon
HD: AMD Mobility Radeon
HD 7000 Series, AMD Mobility Radeon
HD 6000 Series, ATI Mobility Radeon
HD 5000 Series (5400 or higher), 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
- AMD/ATI Mobility FirePro
: AMD Mobility FirePro
M6000, AMD Mobility FirePro
M4000, AMD Mobility FirePro
M2000, AMD Mobility FirePro
M8900, AMD Mobility FirePro
M5950, AMD Mobility FirePro
M3900, ATI Mobility FirePro
M7820, ATI Mobility FirePro
M7740, or ATI Mobility FirePro
M5800
The ATI OpenCL implementation also registers x86 CPUs with SEE 2.x or later support as OpenCL devices. The CPUs can be used with OpenCLLink by specifying the appropriate
and
options.
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.
| In[1]:= |
| Out[1]= |
After detection, the result is stored in
.
Error Messages
The error messages returned by OpenCLInformation are the same as CUDAInformation; refer to CUDALink detection failure error codes.
