Skip navigation links
Tools
SDKs
Libraries
Samples & Demos
Docs
Zones
Community
Support
Samples & Demos
Skip Navigation LinksHome > SDKs > AMD Accelerated Parallel Processing (APP) SDK > Samples & Demos
AMD APP SDK

The following are OpenCL™ code samples that demonstrate what can be done using OpenCL™ and the AMD Accelerated Parallel Processing (APP) SDK. These samples are provided in addition to the examples included in the AMD APP SDK package. The SDK samples are also included here as individually downloadable samples.

Catalyst 12.4 or more recent drivers and AMD APP SDK v2.7 are required to compile and run these code samples. Please download the latest SDK from the AMD APP SDK downloads page, Download AMD Catalyst Drivers here. For more information about OpenCL™, visit the OpenCL™ Zone.

Samples

Rendering

This sample renders a 3D volume box from a data file using ray casting. This example is provided for Windows® and Linux®.

Open Video Decode

This sample uses the new Open Video Decode API to read in compressed H.264 and MPEG2 elementary stream frames of video (provided) and decodes and displays them. Gaussian Blur Filter has also been implemented as a post-processing step before displaying.

Samples included in the SDK

Windows® Samples Linux® Samples Description
AESEncryptDecrypt AESEncryptDecrypt Demonstrates an implementation of AES encrypt and decrypt algorithms.
AtomicsCounter AtomicsCounter Demonstrates the atomics counter feature and compares performance with global atomics by finding the number of occurences of a number in a array.
BinarySearch BinarySearch Demonstrates an implementation of Binary search algorithm.
BinomialOption BinomialOption Demonstrates an implementation of the Binomial Option pricing for European Options.
BinomialOptionMultiGPU BinomialOptionMultiGPU Demonstrates an implementation of the Binomial Option pricing for European Options in a multigpu environment.
BitonicSort BitonicSort Demonstrates an implementation of Bitonic Sort algorithm.
BlackScholes BlackScholes Demonstrates an implementation of the Black-Scholes model for European Options.
BlackScholesDP BlackScholesDP Demonstrates an implementation of the Black-Scholes model for European Options using double precision.
BoxFilter BoxFilter Demonstrates an implementation of Box filter separable algorithm and Box filter with pre-computed summed area tables.
BoxFilterGL BoxFilterGL Demonstrates an implementation of Box filter separable algorithm and Box filter with pre-computed summed area tables using GL interoperability..
BufferBandwidth BufferBandwidth Demonstrates the usage of all OpenCL buffer types and shows the performances.
ConstantBandwidth ConstantBandwidth Measures the peak bandwidth of constant buffer using the different access patterns.
DCT DCT Demonstrates an implementation of Discrete Cosine Transform (DCT).
DeviceFission DeviceFission Demonstrates a simple usage of Device fission extension. In this sample, the root device is partitioned into sub-devices using OpenCL™ 1.2 device fission functionality.
DeviceFission11Ext DeviceFission11Ext Demonstrates a simple usage of Device fission extension. In this sample, the root device is partitioned into sub-devices by using CL_DEVICE_PARTITION_EQUALLY_EXT.
DwtHaar1D DwtHaar1D Demonstrates an implementation of one dimensional Haar Wavelet Transform
DwtHaar1DCPPKernel DwtHaar1DCPPKernel Demonstrates an implementation of one dimensional Haar Wavelet Transform using C++ Kernel Language
EigenValues EigenValues Calculates the eigenvalues of a tridiagonal symmetric matrix.
FastWalshTransform FastWalshTransform Demonstrates an implementation of Fast Walsh Transform
FFT FFT Simple FFT sample.This sample uses C++ Kernel Language
FloydWarshall FloydWarshall Demonstrates an implementation of Floyd-Warshall algorithm
FluidSimulation2D FluidSimulation2D Lattice Boltzmann based 2DFluid simulation. .
GlobalMemoryBandwidth GlobalMemoryBandwidth Measures peak-bandwidth of global buffer using different access patterns.
GaussianNoise GaussianNoise Show an implementation of Gaussian noise using OpenCL™ C++ bindings.
GaussianNoiseGL GaussianNoiseGL Show an implementation of Gaussian noise using OpenGL interoperability. This sample uses OpenCL™ C++ bindings and OpenCL™ 1.2 functionality.
HDRToneMapping HDRToneMapping Performs tone mapping from a High Dynamic Range image to a normal dynamic range image.
HelloCL HelloCL Demonstrates the simple C++ sample using OpenCL C++ bindings.
Histogram Histogram Demonstrates an implementation of histogram algorithm.
HistogramAtomics HistogramAtomics Demonstrates an implementation of histogram algorithm using atomic extensions.This sample uses the C++ wrapper API.
ImageBandwidth ImageBandwidth Measures the peak bandwidth of images using the different access patterns.
ImageOverlap ImageOverlap Uses the OpenCL™ 1.2 clEnqeueFillImage API to overlap two images.
KernelLaunch KernelLaunch This sample demonstrates the least possible launch time of a kernel.
LDSBandwidth LDSBandwidth Measures the peak bandwidth of local memory using different access patterns.
LUDecomposition LUDecomposition Demonstrates an implementation of LUDecomposition problem using double precision.
Mandelbrot Mandelbrot Demonstrates an implementation of Mandelbrot. The Mandelbrot set is a set of points in the complex plane, the boundary of which forms a fractal.
MatrixMulDouble MatrixMulDouble Demonstrates an implementation of Matrix Multiplication using Double precision.
MatrixMulImage MatrixMulImage Demonstrates an implementation of Matrix multiplication using images
MatrixMultiplication MatrixMultiplication Demonstrates an implementation of Matrix multiplication.
MatrixMultiplicationCPPKernel MatrixMultiplicationCPPKernel Demonstrates an implementation of Matrix multiplication using templates in the C++ kernel language. Supports int and float matrices.
MatrixTranspose MatrixTranspose Demonstrates an implementation of Matrix transpose.
MemoryOptimizations MemoryOptimizations Demonstrates some memory optimization techniques.
MersenneTwister MersenneTwister Demonstrates an implementation of SIMD-oriented Fast Mersenne Twister (SFMT) algorithm to generate random numbers.This sample uses the C++ Kernel Language.
MonteCarloAsian MonteCarloAsian Demonstrates an implementation of Monte Carlo simulation for Asian Option pricing.
MonteCarloAsianDP MonteCarloAsianDP Demonstrates an implementation of Monte Carlo simulation for Asian Option pricing using double precision.
MonteCarloAsianMultiGPU MonteCarloAsianMultiGPU Demonstrates an implementation of Monte Carlo simulation for Asian Option pricing in a multigpu configuration.
NBody NBody Demonstrates an implementation of N-body simulation.
OpenCLService NA Demonstrates using an OpenCL Executable as a Windows Service.
PrefixSum PrefixSum Demonstrates an implementation of simple prefix sum algorithm.
QuasiRandomSequence QuasiRandomSequence Demonstrates an implementation of Sobel's quasirandom sequence generator algorithm.
RadixSort RadixSort Demonstrates an implementation of Radix-sort algorithm.
RecursiveGaussian RecursiveGaussian Demonstrates an implementation of recursive Gaussian algorithm. .
Reduction Reduction Demonstrates an implementation of reduction algorithm.
ScanLargeArrays ScanLargeArrays Demonstrates an implementation of scan algorithm for large arrays..
SimpleConvolution SimpleConvolution Demonstrates an implementation of simple convolution algorithm.
SimpleDX10 N/A Demonstrates DX10 interoperability.
SimpleGL SimpleGL Demonstrates GL interoperability
SimpleImage SimpleImage Demonstrates images.
SimpleMultiDevice SimpleMultiDevice Demonstrates simple multi device sample.
SobelFilter SobelFilter Demonstrates an implementation of Sobel edge detection filter algorithm.
SobelFilterImage SobelFilterImage Demonstrates an implementation of Sobel edge detection filter algorithm using images and OpenCL C++ bindings.
Template Template Demonstrates a simple C++ sample using OpenCL C API.
TemplateC TemplateC Demonstrates a simple C sample using OpenCL C API.
TransferOverlap TransferOverlap Demonstrates an implementation of overlap of buffer transfer and computation.
TransferOverlapCPP TransferOverlapCPP Demonstrates an implementation of overlap of buffer transfer and computation. This sample uses the C++ Wrapper API.
URNG URNG Demonstrates an implementation of uniform random number generator algorithm.
URNGNoiseGL URNGNoiseGL Demonstrates an implementation of uniform random number generator algorithm using GL interoperability.This sample uses the C++ Wrapper API.

Demos

For notable applications and demos created by customers and technology partners, see the AMD APP Developer Showcase.

OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.