|
A variety of tools and libraries exists today for developers interested into writing OpenCL™ applications.
Software Development Kit
For the majority of OpenCL™ developers, all they will need is:
This contains all of the development tools you need to build an OpenCL™ program and analyze performance bottlenecks.
The AMD APP SDK v2.6 also includes almost 60 OpenCL™ sample applications to show you how to implement various popular algorithms in OpenCL™. These, and some additional samples can also be downloaded here
Aparapi – for Java developers
Aparapi is an API for expressing data parallel workloads in Java and running those workloads on a compatible GPU if possible. Using the AMD APP SDK with a compatible GPU, if your Java parallel code avoids any constructs that would make it untranslatable to OpenCL™, Aparapi will translate your workload to OpenCL™ and will run your workload on the GPU.
Performance Analysis Tools
AMD APP Profiler
Included with the AMD APP SDK v2 release, but also available as a separate download, is the AMD APP Profiler. The AMD APP Profiler is a Microsoft® Visual Studio® integrated runtime profiler that gathers performance data from the GPU as your application runs. This information can then be used by developers to discover where the bottlenecks are in their OpenCL™ application and find ways to optimize their application’s performance.

Updates to the AMD APP Profiler (already packaged with the AMD APP SDK v2) are available from:
AMD APP KernelAnalyzer
Also available for download is the AMD APP KernelAnalyzer (SKA for short) which is a tool for statically analyzing the performance of OpenCL™ C kernels. SKA will compile down your OpenCL™ C kernels into the actual instructions used to program the GPU. It then performs a static analysis of the instruction stream and is able to report back to the developer a variety of information, including register usage, ALU utilization and memory contention, all without having to run the application on actual hardware.

The AMD APP KernelAnalyzer is currently available as a separate download from:
AMD CodeAnalyst Performance Analyzer with OpenCL Support
AMD CodeAnalyst for Windows now has OpenCL support. Collect and analyze the OpenCL™ API execution performance from both CPUs and GPUs. Use the detailed lists to find calls of interest and use the timeline to understand the entire execution or drill down to the smallest API call details. Learn more on the AMD CodeAnalyst product page.

Debugging Tools
The recommended approach for developing your OpenCL™ application is to start off by targeting an x86 CPU. By debugging functionality initially on the CPU, you can take advantage of the flexible debugging facilities available on the CPU. Once your application is working properly under OpenCL™, you can easily retarget your application to take advantage of the available GPUs in your system.
gDEBugger
gDEBugger is an OpenCL™ and OpenGL debugger and memory analyzer integrated into Microsoft® Visual Studio®. gDEBugger offers real-time OpenCL kernel debugging, which allows developers to step into the kernel execution directly from the API call that issues it, debug inside the kernel, view all variable values across the different work groups and work items - and all this on a single computer with a single GPU.

|