gpu-accelerated computing and case-based reasoning yanzhi ren, jiadi yu, yingying chen department of...
TRANSCRIPT
GPU-Accelerated Computing and Case-Based Reasoning
Yanzhi Ren, Jiadi Yu, Yingying ChenDepartment of Electrical and Computer Engineering,
Stevens Institute of Technology, Castle Point on Hudson, Hoboken, NJ, 073030, USA
Presenter: Yanzhi RenSeptember 02, 2010
1
Part I: GPU-Accelerated ComputingGPU and CUDAGPULibApplication of GPULibFuture work
Part II: Case-Based Reasoning (CBR)Fundamental of CBRApplication of CBRFuture work
2
Outline
GPUs are massively multithreaded many core chips. Hundreds of scalar processors. Tens of thousands of concurrent threads.Fine-grained data-parallel computation
Users across science & engineering disciplines are achieving tenfold and higher speedups on GPU.
3
GPU
CUDA is the acronym for Compute Unified Device Architecture.A parallel computing architecture developed by NVIDIA.CUDA can be accessible to software developers throug
h industry standard programming languages. CUDA gives developers access to the instruction
set and memory of the parallel computation elements in GPUs.
4
CUDA
The CUDA library consists of: A minimal set of extensions to the C language that allo
w the programmer to target portions of the source code for execution.
CUDA library includes:CUBLAS: BLAS implementationCUFFT: FFT implementationGPULib: Math implementation
5
CUDA Library
GPULib is built on top of NVIDIA’s Compute Unified Device Architecture (CUDA) platform.
GPULib provides a library of functions that facilitate the use of high performance computing resources.
GPULib provides accelerated computations and high performance computing in technical computing.
6
GPULib
GPULib provides a library of mathematical functions: Basic functions:
addition, subtraction, multiplication, and division, sin(), cos(), gamma(), and exp() and so on.
Other functions:
Interpolation, array reshaping, array slicing, and reduction operations.
7
GPULib
Utilize these advantages of the GPULib and replacing some of the existing codes with the functions from the GPULib.
Analyze the operations of the existing codes and then transfer them into the corresponding functions from the GPULib.
8
Application of GPULib
The QPSK codes can be transferred into some existing functions in GPULib:
9
Example
Implementations of common operations such as addition, subtraction, multiplication, and division, sin(), cos(), gamma(), and exp().
We will see five-fold, or even forty-fold, speedup:
10
Example
In implementations of some more operations we will also see the speedup:
11
Example
Consider how to write some simple CUDA codes by utilizing the GPULib for the signal processing on communications, such as BPSK, QPSK and so on.
Try to expand the existing GPULib and write some more useful functions.
12
CUDA: Future Work
Part I: GPU-Accelerated ComputingGPU and CUDAGPULibApplication of GPULibFuture work
Part II: Case-Based Reasoning (CBR)Fundamental of CBRApplication of CBRFuture work
13
Outline
By remembering how we solved a similar problem in the past.
Experts often find it easier to relate stories about past cases than to formulate rules.
This is the basic idea of Case Based Reasoning (CBR). Memory-based problem-solving Re-using past experiences
14
The Basic Idea of Case Based Reasoning
What is Case-based Reasoning (CBR) ? CBR is the process of solving new problems based on
the solutions of similar past problems.
Medicine Doctor remembers previous patients especially for rare
combinations of symptoms.
LawCase histories are consulted.
15
Fundamentals of Case Based Reasoning
Distances between values of individual featuresProblem and case have values p and c for feature f:Numeric features: f(problem,case) = |p - c|/(max difference)Symbolic features: f(problem,case)= 0 if p = c
= 1 otherwise
Distance is (problem,case)Weighted sum of f(problem,case) for all features
Similarity (problem, case) = 1/(1+(problem,case))
16
Similarity Between Problems
Retrieve (Step 1): Given a target problem, retrieve case
which is its nearest neighbor from the memory to solving it.
Reuse (Step 2): Map the solution from the previous
case to the target problem. Revise (Step 3): Test the new solution in the real
world (or a simulation) and, if necessary, revise.
Retain (Step 4): After the solution has been
successfully adapted to the target problem, store the resulting experience as a new case in memory. :
17
Steps of Case Based Reasoning
The recognition of the operations in QPSK: AddMultipleDividesin() and cos()
18
Application of CBR to Signal Processing and Software Defined Radio
Case BasedReasoning
gpumult.pro
gpudiv.pro
19
CBR: Future Work
Consider how to use CBR to recognize the features in signal processing primitives.
Consider writing programs which utilize the case based reasoning to recognize the operations in the existing code of Signal Processing and Software Defined Radio.
Thank You
Comments & Questions?
20