1 / 12

# Simulation of Microwave Induced Thermoacoustic Imaging Model using GPU - PowerPoint PPT Presentation

Simulation of Microwave Induced Thermoacoustic Imaging Model using GPU. Nilangshu Bidyanta Ramaprasad Kulkarni ECE 562 Term Project. Project Overview. Introduction

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' Simulation of Microwave Induced Thermoacoustic Imaging Model using GPU' - erich-brady

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Simulation of Microwave Induced Thermoacoustic Imaging Model using GPU

NilangshuBidyanta

ECE 562 Term Project

• Introduction

Figure: Schematic model (a) side view (the longer transverse dimension of the waveguide lies on the x-axis.) and (b) top view. Figure taken from reference [1].

• Motivation

• Hypothesis

• Project goals

• Implementation of PSTD paper [Ref 1]

• Existing Matlab code, wrote C++ code using CUDA

• Code analysis: A simplified version of the PSTD implementation can be written as follows:

for(i=0; i<2000; i++)

{

Bx[i] = a*(Bx[i-1] + Bx[i-2] + Bx[i-3]) – b*myFunc(Cx[i-1], Cx[i-2], Cx[i-3]);

Bx[i-3] = Bx[i-2]; Bx[i-2] = Bx[i-1]; Bx[i-1] = Bx[i];

.

.

Cx[i] = a*(Cx[i-1] + Cx[i-2] + Cx[i-3]) – b*myFunc(Bx[i-1], Bx[i-2], Bx[i-3]);

Cx[i-3] = Cx[i-2]; Cx[i-2] = Cx[i-1]; Cx[i-1] = Cx[i];

.

.

}

• In each iteration, the set of four equations for Bx is repeated for By and Bz and similarly for Cy and Cz. Also, the function ‘myFunc’ has FFT and IFFT computations.

• Observed speedup w.r.t Matlab code

• 11.84x speedup for GPU vs Matlab (2 core)

• 2.68x speedup for GPU vs Matlab (6 core)

• Due to significant amount of data transfers, the GPU speedup vsMutlicore machine is not significant.

• Matlab was run on a 6-core Intel i7 machine and 2-core Intel Core 2 Duo machine runningWindows 7, 64-bit OS.

• GPU code was run on a 4-core Intel Xeon machine running Linux 64-bit OS.

• Limitation for further speedup is

• Loop-carried dependency

• Data intensive rather than computation intensive

• Memory requirement increases exponentially

• For 320x320x320 matrix, out of 3000ms for each iteration, around 2000ms is taken for data transfer

• Data transfer time is significant compared to computation time.