GPU Based Polyphase Filter Banks for VLBI · 2020. 11. 30. · I Perform Polyphase Filter Bank...
Transcript of GPU Based Polyphase Filter Banks for VLBI · 2020. 11. 30. · I Perform Polyphase Filter Bank...
Introduction Implemenation Results Future Work Conclusions
GPU Based Polyphase Filter Banksfor VLBI
Mark McCurryChristopher Beaudoin & Geoff Crew
MIT Haystack REU Program 2011
GPU Based Polyphase Filter Banks for VLBI
Introduction Implemenation Results Future Work Conclusions
Outline
IntroductionWhat is being done?PFBHardware
ImplemenationCUDA
ResultsQualityQuantity
Future Work
Conclusions
GPU Based Polyphase Filter Banks for VLBI
Introduction Implemenation Results Future Work Conclusions
What is being done?
DSP
I Input of Analog values from data source near 4 Gb/s
I Perform Polyphase Filter Bank (PFB) on a Nvidia GPU
I Output of channelized frequency spectrum
I All of this done in realtime
GPU Based Polyphase Filter Banks for VLBI
Introduction Implemenation Results Future Work Conclusions
What is being done?
DSP
I Input of Analog values from data source near 4 Gb/s
I Perform Polyphase Filter Bank (PFB) on a Nvidia GPU
I Output of channelized frequency spectrum
I All of this done in realtime
GPU Based Polyphase Filter Banks for VLBI
Introduction Implemenation Results Future Work Conclusions
What is being done?
DSP
I Input of Analog values from data source near 4 Gb/s
I Perform Polyphase Filter Bank (PFB) on a Nvidia GPU
I Output of channelized frequency spectrum
I All of this done in realtime
GPU Based Polyphase Filter Banks for VLBI
Introduction Implemenation Results Future Work Conclusions
What is being done?
DSP
I Input of Analog values from data source near 4 Gb/s
I Perform Polyphase Filter Bank (PFB) on a Nvidia GPU
I Output of channelized frequency spectrum
I All of this done in realtime
GPU Based Polyphase Filter Banks for VLBI
Introduction Implemenation Results Future Work Conclusions
PFB
Polyphase Filter Bank
Two Channel Polyphase Filter Bank
x [n] r
z−1
↓2
↓2
E0(z)
E1(z)
FFT
f1[n]
f2[n]
b
b
GPU Based Polyphase Filter Banks for VLBI
Introduction Implemenation Results Future Work Conclusions
Hardware
Roach Digital Backend (RDBE)
GPU Based Polyphase Filter Banks for VLBI
Introduction Implemenation Results Future Work Conclusions
Hardware
Nvidia GPUs
GPU Based Polyphase Filter Banks for VLBI
Introduction Implemenation Results Future Work Conclusions
CUDA
What is CUDA?
GPU Based Polyphase Filter Banks for VLBI
Introduction Implemenation Results Future Work Conclusions
CUDA
CUDA
g l o b a l voidc u u n q u a n t i z e ( f l o a t ∗ dest , const i n t 8 t ∗ s r c ,
s i z e t N){
const s i z e t i = blockDim . x∗ b l o c k I d x . x +t h r e a d I d x . x ;
i f ( i <N)d e s t [ i ] = s t a t i c ca s t <f l oa t >( s r c [ i ] ) ;
}
GPU Based Polyphase Filter Banks for VLBI
Introduction Implemenation Results Future Work Conclusions
CUDA
CUDA 2
// Setup v i a cudaMemcpy
// i npu t and output a r e on the GPUc u u n q u a n t i z e <<<10,10>>>(output , i n p u t , 1 0 0 ) ;
// Return v i a cudaMemcpy
GPU Based Polyphase Filter Banks for VLBI
Introduction Implemenation Results Future Work Conclusions
Quality
Quality of output: Actual
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Frequency (half−cycles/second)
Nor
mal
ized
Gai
nMagnitude response of 256 tap FIR, 32 tap FFT based PFB
GPU Based Polyphase Filter Banks for VLBI
Introduction Implemenation Results Future Work Conclusions
Quality
Quality of output: Matlab
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Frequency (half−cycles/second)
Nor
mal
ized
Gai
nMatlab Prototype PFB
GPU Based Polyphase Filter Banks for VLBI
Introduction Implemenation Results Future Work Conclusions
Quantity
Speed
Table: Performance of GPU Code1
Performance Metrics Data Input Rate
Reference Implementaiton 744 MB/sNo extra channels 540 MB/sHardcoding FIR size 756 MB/sHardcoded FIR, Hand Tuned Block Size 890 MB/sUsing 1/10 cost 470GTX 637 MB/s
1As of August 1stGPU Based Polyphase Filter Banks for VLBI
Introduction Implemenation Results Future Work Conclusions
Increasing Speeds
How to proceed:
I Profiling, and extensive testing
I Effective use of CUDA resources
I Waiting for new cards
GPU Based Polyphase Filter Banks for VLBI
Introduction Implemenation Results Future Work Conclusions
Increasing Speeds
How to proceed:
I Profiling, and extensive testing
I Effective use of CUDA resources
I Waiting for new cards
GPU Based Polyphase Filter Banks for VLBI
Introduction Implemenation Results Future Work Conclusions
Increasing Speeds
How to proceed:
I Profiling, and extensive testing
I Effective use of CUDA resources
I Waiting for new cards
GPU Based Polyphase Filter Banks for VLBI
Introduction Implemenation Results Future Work Conclusions
Conclusions
I CUDA makes heavyweight software processing possible
I Real time processing is possible at lower rates
I GPU processing is applicable to Astronomy and scientificcomputation
GPU Based Polyphase Filter Banks for VLBI
Introduction Implemenation Results Future Work Conclusions
Conclusions
I CUDA makes heavyweight software processing possible
I Real time processing is possible at lower rates
I GPU processing is applicable to Astronomy and scientificcomputation
GPU Based Polyphase Filter Banks for VLBI
Introduction Implemenation Results Future Work Conclusions
Conclusions
I CUDA makes heavyweight software processing possible
I Real time processing is possible at lower rates
I GPU processing is applicable to Astronomy and scientificcomputation
GPU Based Polyphase Filter Banks for VLBI