0% found this document useful (0 votes)
50 views

AMD APP SDK Release Notes Developer1

amd

Uploaded by

Ajverson
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views

AMD APP SDK Release Notes Developer1

amd

Uploaded by

Ajverson
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

AMD APP SDK v2.8.

Developer Release Notes

1 Whats New in AMD APP SDK v2.8.1

1.1 New features in AMD APP SDK v2.8.1


AMD APP SDK v2.8.1 includes the following new features:

Bolt: With the launch of Bolt 1.0, several new samples have been added to demonstrate the
use of the features of Bolt 1.0. These features showcase the use of valuable Bolt APIs such
as scan, sort, reduce and transform. Other new samples highlight the ease of porting from
STL and the performance benefits achieved over equivalent STL implementations. Other
samples demonstrate the different fallback options in Bolt 1.0 when no GPU is available.
These options include a fallback to multicore-CPU if TBB libraries are installed, or falling all
the way back to serial-CPU if needed to ensure your code runs correctly on any platform.
OpenCV: AMD has been working closely with the OpenCV open source community to add
heterogeneous acceleration capability to the worlds most popular computer vision library.
These changes are already integrated into OpenCV and are readily available for developers
who want to improve the performance and efficiency of their computer vision applications. The
new samples illustrate these improvements and highlight how simple it is to include them in
your application. For information on the latest OpenCV enhancements, see Harris blog.
GCN: AMD recently launched a new Graphics Core Next (GCN) Architecture on several AMD
products. GCN is based on a scalar architecture versus the VLIW vector architecture of prior
generations, so carefully hand-tuned vectorization to optimize hardware utilization is no longer
needed. Several samples in AMD APP SDK 2.8.1 have been modified to show the ease of
writing scalar code as compared to vectorization.
AMD APP SDK 2.8.1 also includes new OpenCL samples:
StringSearch: An optimized string searching sample that demonstrates how to
reduce divergence through workload re-balancing with a queue.
UnsharpMask: A image processing sample that implements an Unsharp mask filter.
Optimized samples: NBody: performance optimized through loop unrolling.

1.2 Key features supported in the Catalyst 13.6 Beta2 driver


New platforms supported
Richland
Kabini
Bonaire
New OS support

Developer Release Notes 1 of 5


Ubuntu 12.10
RHEL 6.4
IP blocks supported
VCE 2.0
UVD 4.2
ACP 1.1
SAMU 2.1 (Kabini)

1.3 Key features supported in Bolt 1.0


Bolt functions can be executed with four code paths (OpenCL, C++ AMP, Multicore TBB,
and Serial CPU). The default mode is "Automatic": the GPU paths are first, then Multicore
TBB, then Serial CPU. The control goes to the other paths only if the selected path is not
found. Forcing the mode to any code path will run the function with that code path. All Bolt
functions have OpenCL and Serial path implementations. However, for some functions,
Multicore TBB path is not implemented yet. So calling those functions with the MultiCoreCpu
flag will actually call the Serial code path.
The following Bolt functions and code paths are supported for Bolt 1.0:
API OpenCL GPU AMP Multicore TBB Serial
constant_iterator YES NO YES YES
copy YES NO Calling Serial YES
copy_n YES NO Calling Serial YES
count YES YES YES YES
count_if YES YES YES YES
counting_iterator YES NO YES YES
device_vector YES YES YES YES
exclusive_scan YES YES YES YES
exclusive_scan_by_key YES NO YES YES
fill YES NO Calling Serial YES
fill_n YES NO Calling Serial YES
generate YES NO Calling Serial YES
generate_n YES NO Calling Serial YES
inclusive_scan YES YES YES YES
inclusive_scan_by_key YES NO YES YES
inner_product YES NO Calling Serial YES
max_element YES NO Calling Serial YES
min_element YES NO Calling Serial YES
reduce YES YES YES YES
reduce_by_key YES NO Calling Serial YES
sort YES YES YES YES
sort_by_key YES NO Calling Serial YES
stable_sort YES NO Calling Serial YES
stable_sort_by_key YES NO Calling Serial YES
transform YES YES YES YES
transform_exclusive_scan YES NO Calling Serial YES
transform_inclusive_scan YES NO Calling Serial YES
transform_reduce YES YES YES YES

2 of 5 Developer Release Notes


1.4 New features for AMD CodeXL Version 1.2
The following new features for AMD CodeXL Version 1.2 expand platform support and provide
improvements to the developer experience:

The CPU Profiler includes a number of improved capabilities including:


A new user interface design to help ease navigation and use of key features
Support for profiling of Java/CLR applications
Support for Time-Based Profiling on Intel Win8 platforms
Support for for AMD's recently announced Kabini APU public registers
The Kernel Analyzer now includes a new analysis module for Southern Islands devices and
supports the emulation of kernel workloads
The AMD CodeXL tutorial has been updated

2 Important Notes
If you are using Windows, verify that the AMDAPPSDKROOT environment variable is present. If
the variable is not present, add it and set its value to one of the following:
C:\Program Files\AMD APP\ (for 32-bit OS)
C:\Program Files (x86)\AMD APP\ (for 64-bit OS)
The following values are returned when querying strings from OpenCL:
CL_PLATFORM_VERSION: OpenCL 1.2 AMD-APP (build #).
CL_PLATFORM_NAME: AMD Accelerated Parallel Processing.
CL_PLATFORM_VENDOR: Advanced Micro Devices, Inc.
Check the Platform Vendor string, not the Platform Name, to determine AMD hardware. For
example code that shows how to check and use the CL_PLATFORM_VENDOR string, see the
AMD APP v 2.8.1 Samples.
Driver support for 7xx generation GPUs is EOL. AMD drivers no longer support 7xx
generation GPUs; this includes support for ATI Radeon HD and ATI Mobility Radeon HD
4000 series devices, ATI FirePro V8750, V8700, V7750, V5700, V2750, ATI Mobility
FirePro M7740, and AMD FireStream 9270, 9250.
To develop applications using deprecated OpenCL API calls, #define
CL_USE_DEPRECATED_OPENCL_1_1_APIS.
When parsing #include directives, the OpenCL compiler resolves relative paths using the
current working directory of the application through the -I compiler option.
It is necessary to install the Catalyst 13.6 Beta2 graphics driver prior to installation of SDK
2.8.1. Vital components of AMD's OpenCL solution are now contained within the drivers.
Under Windows, making OpenCL runtime calls from dllMain can result in undefined behavior.
The binary clinfo.exe is located in the \Windows\System32 directory.
On Linux and Windows platforms, every GPU is assigned an ordinal number. To expose only
a subset of GPUs to a specific application, make the following environmental variable
definition: GPU_DEVICE_ORDINAL=0,1,2 .

Developer Release Notes 3 of 5


Support for Microsoft Visual Studio 2008 is deprecated.
HD4XXX device support is EOL. Catalyst drivers no longer include support for these devices.
See the OpenCL SDK driver and compatibility page for more details.
Aparapi is available from http://http:code.google.com/p/aparapi/
See the APP SDK 2.8.1 Samples Release Notes for known issues and important notes for
the SDK samples.
The AMD APP Profiler and APP Kernel Analyzer are now provided as part of CodeXL, which
is available as a separate download from
http://developer.amd.com/tools/hc/CodeXL/Pages/default.aspx#download+B34
See the CodeXL release notes for known issues and important notes for the SDK samples.

3 Naming Convention
For Windows:

The __stdcall calling convention is used for all Windows platforms.


Function names are undecorated.
It is not possible to use this OpenCL DLL on Windows with an application that was linked
against a library using the __cdecl calling convention.

For Linux:

The calling convention is __cdecl.

4 Resolved Issues
For the latest information about the resolved issues in AMD APP SDK v2.8.1, see the AMD APP
SDK documentation page.

5 Known Issues
For the latest information about the known issues in AMD APP SDK v2.8.1, see the AMD APP
SDK documentation page.

5.1 Compiler
The compiler may accept illegal cast-to-union (GNU GCC Extension) cases. In such cases, a
warning is issued. This may be fixed in a future release.
If an argument to an OpenCL kernel function is optimized away late in the compilation
process, the compiler may fail to build or produce undefined results. This occurs when either
an argument gets entirely optimized away or when part of an argument gets optimized away.
Part of an argument can get optimized away if two (for 64-bit data types) or four (for all other
types) consecutive components of an argument are not used where the first unused
component is a multiple of 2 or 4.
The string class in the C++ Wrapper API has been deprecated and its usage is not
recommended.

4 of 5 Developer Release Notes


5.2 Runtime
The OpenCL runtime currently does not validate handles to OpenCL memory objects.
Under Windows Vista, to prevent long programs from causing a dialog to be displayed
indicating that the display driver has stopped responding, disable the Vista Timeout Detection
and Recovery (TDR) feature, which is trying to detect hangs in graphics hardware. To do this,
use regedit.exe to create the following REG_DWORD entry in the registry, and set its value to 0:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\TdrLevel
This avoids the constant polling by the driver and the kernel to prevent long work units from
monopolizing the device. (To restore default functionality, set the TdrLevel to 3.)
Note that Microsoft strongly discourages disabling this feature, and only recommends doing
so for debugging purposes. Do so at your own risk.
On Linux platforms, if a kernel deadlocks the GPU, the system becomes unresponsive for a
few minutes, and both the X-window server and the application become defunct processes.
The system must be rebooted in order to use the GPU again.
If the clGetPlatformIDs() failed error is issued with a properly installed ICD while running
32-bit code on a 64-bit system, ensure that all necessary 32-bit libraries are installed. The
specifics of this vary between Linux distributions; consult your OS documentation for more
information. The libGLU.so library is known to trigger this problem, but there may be others,
depending on the specific installation.
In Linux for non-Southern_Islands platforms, the OpenCL runtime currently exposes less than
the total amount of memory physically available on the card. In Windows and on Linux or
Southern-Islands-based platforms, the OpenCL runtime reports the total amount of physical
memory for boards with up to 2 GB.

Contact Advanced Micro Devices, Inc. For AMD Accelerated Parallel Processing:
One AMD Place
P.O. Box 3453 URL: developer.amd.com/appsdk
Sunnyvale, CA, 94088-3453 Developing: developer.amd.com/
Phone: +1.408.749.4000 Forum: developer.amd.com/openclforum

The contents of this document are provided in connection with Advanced AMDs 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 AMDs 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 AMDs Standard Terms and Conditions of Sale, AMD 2013 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.

5 of 5 Developer Release Notes

You might also like