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]:=
Click for copyable input

This checks if OpenCLLink is supported. If it returns True, as shown below, then OpenCLLink will work.

In[2]:=
Click for copyable input
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.
    • 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
  • ATI FireStream: ATI FireStream 9270 or ATI FireStream 9250
  • 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]:=
Click for copyable input
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.

New to Mathematica? Find your learning path »
Have a question? Ask support »