ATI Stream SDK Getting Started Guide v2.2
ATI Stream SDK Getting Started Guide v2.2
1 Overview
For Microsoft® Windows® platforms, the ATI Stream SDK installer installs the following packages
on your system by default (unless you choose to customize the install):
For Linux® platforms, the ATI Stream SDK consists of one package. To ensure proper installation,
be sure to follow the instructions provided in the ATI Stream SDK Installation Notes.
The ATI Stream SDK Developer installation includes the following folders:
• bin - This includes tools for compiling OpenCL applications, as well as the OpenCL dynamic
library for running them.
• lib - This contains the base OpenCL runtime library to which the applications link on
Windows systems, as well as import libraries to author CAL applications.
• include - This contains the header files for the OpenCL and CAL runtimes.
• docs - This contains developer documentation for the ATI Stream SDK. Additional developer
documentation is available online at:
http://developer.amd.com/gpu/ATIStreamSDK/pages/Documentation.aspx
The ATI Stream SDK Developer installation for Windows adds the variable ATISTREAMSDKROOT to
your environment. This points to the location where you have installed the SDK development
package. The Windows installer also adds the locations of the OpenCL dynamic libraries to your
system PATH variable, so applications know where to find it. For Linux, you must set up the paths
and environment manually. This is explained in Section 2.2, “On Linux.”
The ATI Stream SDK Samples installation includes the following folders:
• bin - This includes pre-built binaries and dynamic libraries for running ATI Stream samples.
The ATI Stream SDK Samples installer for Windows adds the variable
ATISTREAMSDKSAMPLESROOT to your environment. This points to the location where you have
installed the SDK Samples package.
The ATI Stream SDK Samples installation includes the following folders:
• tools - This contains the ATI Stream Profile and ancillary programs.
2.1 On Windows
2.1.1 OpenCL
The samples installation contains a Microsoft Visual Studio 2008 solution file, called
OpenCLSamples.sln, located at $(ATISTREAMSDKSAMPLESROOT)\samples\opencl\. This solution
file contains the entire sample project. To build a sample:
1. Open the OpenCLSamples.sln file with Microsoft Visual Studio 2008 Professional Edition.
2. Select Build > Build Solution to build all solutions.
3. Select the individual project file in the Solutions Explorer.
4. Right-click on the project file, and select Build to build a particular sample.
2.1.2 CAL
The samples installation contains a Microsoft Visual Studio 2008 solution file, called
samples.sln, located at $(ATISTREAMSDKSAMPLESROOT)\samples\cal\. This solution file
contains the entire sample project. To build a sample:
1. Open the samples.sln file with Microsoft Visual Studio 2008 Professional Edition.
2. Select Build > Build Solution to build all solutions.
3. Select the individual project file in the Solutions Explorer.
4. Right-click on the project file, and select Build to build a particular sample.
2.2.1 OpenCL
1. Ensure the library path is set to find libOpenCL.so. If it is not set, follow the instructions in
the ATI Stream SDK Installation Notes, section 2.2, step 4.
2. Go to the samples directory if you want to build all the samples, or go to a particular sample
directory, and type make. If no options are specified, make builds for the native platform in
debug configuration. To select release configuration, add the option release = 1. To force
a 32-bit build on a 64-bit platform, add the option bitness=32
3. Executables are generated in the bin directory at the samples installation root, as well as
inside the bin directory of the samples (ATISTREAMSDKSAMPLESROOT/samples/opencl/bin).
2.2.2 CAL
1. Ensure the library path is set to find libaticalrt.so and libaticalcl.so (these are
shipped as part of the display driver). If it is not set, use export (in bash shells) to set it.
2. Go to the samples directory if you want to build all the samples, or go to a particular sample
directory, and type make.
3. Executables are generated in the bin directory of the samples
(ATISTREAMSDKSAMPLESROOT/samples/cal/bin).
3.1 On Windows
3.1.1 OpenCL
There are two ways to run the application: by using Microsoft Visual Studio 2008 Professional
Edition, or by using the command line.
3.1.2 CAL
There are two ways to run the application: by using Microsoft Visual Studio 2008 Professional
Edition, or by using the command line.
3.2 On Linux
3.2.1 OpenCL
1. Ensure the path is set to include the location of libOpenCL.so.
2. Open a terminal window.
3. Go to the $(ATISTREAMSDKSAMPLESROOT)/samples/opencl/bin/ directory.
4. Go into the appropriate architecture directory (x86 or x86_64).
5. Run the samples by typing the name of their executables. You may have to prepend the
executable name with ./ . See the individual sample documents for their respective
command line arguments.
3.2.2 CAL
1. Ensure the path is set to include the location of libaticalrt.so and libaticalcl.so (these
are shipped as part of the display driver).
2. Open a terminal window.
3. Go to the $(ATISTREAMSDKSAMPLESROOT)/samples/cal/bin/ directory.
4. Go into the appropriate architecture directory (x86 or x86_64).
5. Run the samples by typing the name of their executables. You may have to prepend the
executable name with ./ . See the individual sample documents for their respective
command line arguments.
3.3.1 OpenCL
The simplest OpenCL sample in the SDK is the Template sample. It is for developers that are
new to OpenCL programming. See the Template sample documentation (in
$(ATISTREAMSDKSAMPLESROOT)/samples/opencl/cl/app/Template/docs), which explains the
workflow for setting up a basic ATI Stream application using OpenCL. The Template sample is
included for instructional purposes.
There are two kinds of OpenCL samples in the ATI Stream SDK. One is written using native
OpenCL calls (in $(ATISTREAMSDKSAMPLESROOT)/samples/opencl/cl); the other is written using
the AMD C++ bindings to OpenCL (in $(ATISTREAMSDKSAMPLESROOT)/samples/opencl/cpp_cl).
Most of the OpenCL samples make use of a utility library called the ATI Stream SDK Utility
Library (SDKUtil). This library provides commonly used routines, such as parsing command line
options, loading and writing bitmap images, printing formatted output, comparing results, and
reading files. This is an object-oriented library that is structured as a set of classes. The SDKUtil
cpp files are available in the $(ATISTREAMSDKSAMPLESROOT)\samples\opencl\SDKUtil folder.
The headers are available in the $(ATISTREAMSDKSAMPLESROOT)\include\SDKUtil folder.
3.3.2 CAL
To learn more about the CAL samples, see the HelloCAL and Tutorial samples.
4 Supported Devices
The following table shows the devices supported by the current version of the ATI Stream SDK,
as well as the computing features they support.
* = beta only.
We are constantly qualifying additional devices. For an up-to-date list of supported devices,
please visit: http://developer.amd.com/stream
The contents of this document are provided in connection with Advanced AMD’s products are not designed, intended, authorized or warranted for use as
Micro Devices, Inc. (“AMD”) products. AMD makes no representations or components in systems intended for surgical implant into the body, or in other
warranties with respect to the accuracy or completeness of the contents of applications intended to support or sustain life, or in any other application in
this publication and reserves the right to make changes to specifications and which the failure of AMD’s product could create a situation where personal injury,
product descriptions at any time without notice. The information contained death, or severe property or environmental damage may occur. AMD reserves
herein may be of a preliminary or advance nature and is subject to change the right to discontinue or make changes to its products at any time without
without notice. No license, whether express, implied, arising by estoppel or notice.
otherwise, to any intellectual property rights is granted by this publication. Copyright and Trademarks
Except as set forth in AMD’s Standard Terms and Conditions of Sale, AMD © 2010 Advanced Micro Devices, Inc. All rights reserved. AMD, the AMD Arrow
assumes no liability whatsoever, and disclaims any express or implied war- logo, ATI, the ATI logo, Radeon, FireStream, and combinations thereof are trade-
ranty, relating to its products including, but not limited to, the implied war- marks of Advanced Micro Devices, Inc. OpenCL and the OpenCL logo are trade-
ranty of merchantability, fitness for a particular purpose, or infringement of marks of Apple Inc. used by permission by Khronos.Other names are for infor-
any intellectual property right. mational purposes only and may be trademarks of their respective owners.