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 the Wolfram System 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.
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 several possible reasons for getting False from OpenCLQ:
- Unsupported operating system—OpenCLLink is not supported on 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.
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.
The AMD Catalyst™ driver can be downloaded from the AMD/ATI Driver 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 "Device" and "Platform" 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 ATISTREAMSDKROOT 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 ATISTREAMSDKROOT is not defined.
The variable can be checked in the Wolfram Language using the following.
After detection, the result is stored in GPUTools`Internal`$ATISTREAMSDKROOT.
Error Messages
The error messages returned by OpenCLInformation are the same as CUDAInformation; refer to CUDALink detection failure error codes.