Hardware Acceleration of Electromagnetic Field Profile Computation:
A Case Study Using the PO-SBR Method
Eric Dunn and Nathan Smith, Science Applications International Corporation
Ray Hoare, Concurrent EDA
Huan-Ting Meng and Jianming Jin, University of Illinois at Urbana-Champaign
About SAIC
www.saic.com
SAIC is a FORTUNE 500® scientific, engineering, and technology applications company that
uses its deep domain knowledge to solve problems of vital importance to the nation and the
world, in national security, energy and the environment, critical infrastructure, and health.
Our Core Values and Purpose
Our Successes
40 years of continuous growth

$10.8 billion in annual revenues for fiscal year 2010

FORTUNE 500 company – No. 215
Superb staff of qualified professionals

Approximately 45,000 personnel worldwide

10,000 employees with advanced degrees

19,000 employees with security clearances
Work on initiatives of national importance

Green energy

Global health

Cybersecurity
Leading provider of contracted R&D services
All figures are current as of April 2010.
FORTUNE 500 is a registered trademark of Time, Inc. in the U.S. and/or other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
2
SAIC Business Overview
Business Areas
•
•
•
•
•
Energy
Environment
National security
Health
Critical infrastructure
9% Commercial and
International
73% National
Security
18% Civil and Other
U.S. Government
Competitive Strengths
• Innovative applications of research and development
• Customer focus that leads to in-depth understanding
of customer missions
• Platform independence
• Reputation for succeeding on the tough jobs
• Breadth and depth of technology and domain expertise
• Proven management track record
• Proven best practices, technologies and systems
$10.8 billion
(Fiscal Year 2010)
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
3
Demographics
Degrees (82%)
Advanced Research and Development Division
195 Team Members
Ann Arbor – 11
Arlington – 59
Boulder – 5
Champaign – 31
Chantilly – 8
Dayton – 16
Denver – 8
Greenbelt – 9
Manassas – 10
McLean – 4
New Jersey – 2
Tucson – 32
PhD (28%)
Bachelors (32%)
Masters (39%)
Clearances (73%)
TS (34%)
TS/SCI (50%)
S (17%)
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
4
Demographics
Advanced Research and Development Division
195 Team Members
Ann Arbor – 11
Arlington – 59
Boulder – 5
Champaign – 31
Chantilly – 8
Dayton – 16
Denver – 8
Greenbelt – 9
Manassas – 10
McLean – 4
New Jersey – 2
Tucson – 32
We develop products and
algorithms for electromagnetic
simulations of radar scattering
and antenna radiation.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
5
About Concurrent EDA
www.ConcurrentEDA.com
Sequential Software
Executable
Proprietary Design
Automation Tools
Analytics
in 24 hours
Parallel FPGA
Cores
Integrated Cores
We transform compiled sequential software into parallel FPGA cores.
Concurrent Analytics:
Xilinx, Inc., FPGA cores:
Quantifies FPGA performance in 24 hours
FPGA cores from software, pre-built or custom
Performance:
High data rates:
Extreme processing:
High clock rate:
Fast time-to-market:
1 to 25 Gb/s data rates (video/image, signal, crypto)
1 to 100 giga-operations per second
200 to 350 MHz performance
One to three weeks per core
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
6
About CCEML
www.cceml.illinois.edu
•
Center for Computational Electromagnetics and
Electromagnetics Laboratory (CCEML)
– University of Illinois
– Department of Electrical and Computer Engineering
•
Seven faculty members and about 50 researchers
•
Research activities cover many aspects in theoretical, computational, and
experimental electromagnetics
– Design of smart, reconfigurable antennas
– Fast algorithms for large-scale electromagnetic simulations
– Finite element methods for scattering, antenna, high-frequency circuit analysis,
bioelectromagnetics, electromagnetic compatibility, high-speed interconnection
modeling and electronic packaging
– Inverse scattering and remote sensing
– Optoelectronics and integrated optics
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
7
Overview
Field profiles have many applications
• Field profiles are color plots showing the electric field strength for
many observation points in a scene
Source
• Defense and commercial communication system applications rely
on field profiles
– Prediction of system coverage can help ensure communication links are
maintained
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
8
Overview
• Calculating field profiles for large scenes requires long simulation
times
• Physical Optics - Shooting and Bouncing Ray (PO-SBR) is one of
the fastest techniques for generating accurate results
– Full-wave techniques like Method of Moments (MoM) are generally
more accurate, but suffer from intractable memory/run-times
• Geometric Optics - Shooting and Bouncing Ray (GO-SBR) is an
alternative
– Arguably the fastest technique, but suffers from reduced accuracy and
discontinuous predictions
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
9
Background
Introduction to the PO-SBR method
• Physical optics - shooting and bouncing ray (PO-SBR)
– Method for finding the electromagnetic field at an observation point due
to a source in the presence of a scene
– Step 1: Incident field
• Radiate from source to the observation point as if in free-space
What is the field I see?
Incident field
Total field is incident + scattered
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
10
Background
Introduction to the PO-SBR method
• Physical optics - shooting and bouncing ray (PO-SBR)
– Method for finding the electromagnetic field at an observation point due
to a source in the presence of a scene
– Step 2: SBR
• Launch a burst of rays and trace them through the scene
What is the field I see?
Total field is incident + scattered
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
11
Background
Introduction to the PO-SBR method
• Physical optics - shooting and bouncing ray (PO-SBR)
– Method for finding the electromagnetic field at an observation point due
to a source in the presence of a scene
– Step 3: PO
• Radiate from equivalent surface currents to produce scattered field
What is the field I see?
Scattered field
Total field is incident + scattered
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
12
Overview
Two versions under development: GPU and FPGA
• Repetitive process of finding and radiating hit points makes PO-SBR
a natural candidate for parallelization
• This study investigated two forms of parallelization to see if PO-SBR
could be improved for field profile applications
– GPU implementation
• Quadro® FX 5800
• 4 GB
• 240 cores (30 multiprocessors)
– FPGA estimation
PO = physical optics
SBR = shooting and bouncing ray
The NVIDIA logo and Quadro are registered trademarks of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
13
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
Identify Volley
of Rays
CPU
central processing unit
Parallelize
Rays
(OptiXTM)
Parallelize
Frequencies / Observations
(CUDATM)
PO-
GPU
physical optics
graphics processing unit
GPU
graphics processing unit
-SBR
shooting and bouncing ray
(loops over all rays in volley)
Quadro, CUDA, and OptiX are trademarks and/or registered trademarks of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
14
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
Calculate Incident
Field
Parallelize Across
Frequencies and
Observations
CPU = central processing unit GPU = graphics processing unit PO = physical optics SBR = shooting and bouncing ray
Quadro is a registered trademark of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
15
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
First of Two Ray Shoot
Sections
Identify First Volley
of Rays
CPU = central processing unit GPU = graphics processing unit PO = physical optics SBR = shooting and bouncing ray
Quadro is a registered trademark of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
16
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
Calculate Hit Points
Parallelize Across
Rays
CPU = central processing unit GPU = graphics processing unit PO = physical optics SBR = shooting and bouncing ray
Quadro is a registered trademark of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
17
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
Parallelize Across
Frequencies and
Observations
(loops over all rays in volley)
CPU = central processing unit GPU = graphics processing unit PO = physical optics SBR = shooting and bouncing ray
Quadro is a registered trademark of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
18
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
Parallelize Across
Frequencies and
Observations
(loops over all rays in volley)
CPU = central processing unit GPU = graphics processing unit PO = physical optics SBR = shooting and bouncing ray
Quadro is a registered trademark of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
19
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
Calculate Scattered
Field
Parallelize Across
Frequencies and
Observations
(loops over all rays in volley)
CPU = central processing unit GPU = graphics processing unit PO = physical optics SBR = shooting and bouncing ray
Quadro is a registered trademark of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
20
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
Calculate Scattered
Field
Parallelize Across
Frequencies and
Observations
(loops over all rays in volley)
CPU = central processing unit GPU = graphics processing unit PO = physical optics SBR = shooting and bouncing ray
Quadro is a registered trademark of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
21
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
Calculate Scattered
Field
Parallelize Across
Frequencies and
Observations
(loops over all rays in volley)
CPU = central processing unit GPU = graphics processing unit PO = physical optics SBR = shooting and bouncing ray
Quadro is a registered trademark of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
22
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
Identify Second Volley
of Rays
CPU = central processing unit GPU = graphics processing unit PO = physical optics SBR = shooting and bouncing ray
Quadro is a registered trademark of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
23
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
Calculate Hit Points
Parallelize Across
Rays
CPU = central processing unit GPU = graphics processing unit PO = physical optics SBR = shooting and bouncing ray
Quadro is a registered trademark of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
24
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
Parallelize Across
Frequencies and
Observations
(loops over all rays in volley)
CPU = central processing unit GPU = graphics processing unit PO = physical optics SBR = shooting and bouncing ray
Quadro is a registered trademark of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
25
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
Calculate Scattered
Field
Parallelize Across
Frequencies and
Observations
(loops over all rays in volley)
CPU = central processing unit GPU = graphics processing unit PO = physical optics SBR = shooting and bouncing ray
Quadro is a registered trademark of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
26
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
Parallelize Across
Frequencies and
Observations
(loops over all rays in volley)
CPU = central processing unit GPU = graphics processing unit PO = physical optics SBR = shooting and bouncing ray
Quadro is a registered trademark of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
27
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
Identify Third Volley
of Rays
CPU = central processing unit GPU = graphics processing unit PO = physical optics SBR = shooting and bouncing ray
Quadro is a registered trademark of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
28
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
Parallelize Across
Rays
CPU = central processing unit GPU = graphics processing unit PO = physical optics SBR = shooting and bouncing ray
Quadro is a registered trademark of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
29
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
Parallelize Across
Frequencies and
Observations
(loops over all rays in volley)
CPU = central processing unit GPU = graphics processing unit PO = physical optics SBR = shooting and bouncing ray
Quadro is a registered trademark of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
30
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
Second of Two Ray
Shoot Sections
Identify Fourth Volley
of Rays
CPU = central processing unit GPU = graphics processing unit PO = physical optics SBR = shooting and bouncing ray
Quadro is a registered trademark of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
31
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
Parallelize Across
Rays
CPU = central processing unit GPU = graphics processing unit PO = physical optics SBR = shooting and bouncing ray
Quadro is a registered trademark of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
32
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
Parallelize Across
Frequencies &
Observations
(loops over all rays in volley)
CPU = central processing unit GPU = graphics processing unit PO = physical optics SBR = shooting and bouncing ray
Quadro is a registered trademark of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
33
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
Visualization of
Field Profile
CPU = central processing unit GPU = graphics processing unit PO = physical optics SBR = shooting and bouncing ray
Quadro is a registered trademark of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
34
GPU Implementation
Iterative ray-tracing simulation with Quadro® FX 5800
Identify Volley
of Rays
CPU
central processing unit
Parallelize
Rays
(OptiXTM)
Parallelize
Frequencies / Observations
(CUDATM)
PO-
GPU
physical optics
graphics processing unit
GPU
graphics processing unit
-SBR
shooting and bouncing ray
(loops over all rays in volley)
Quadro, CUDA, and OptiX are trademarks and/or registered trademarks of NVIDIA Corporation in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
35
FPGA Estimation
Concurrent AnalyticsTM tool used to quantify performance
Compiled code
(sequential single core)
Estimation of FPGA
speed and area
Extracts parallelism
(transforms loops into
hardware pipelines)
Concurrent Analytics is a trademark of Concurrent EDA LLC in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
36
FPGA Estimation
Concurrent AnalyticsTM tool used to quantify performance
Formula
(millions of sets of a1,1 ... a3,3 )
(example from imagery edge extraction
NOT electromagnetic simulation)
r0=a1,1
r1=r0*m11
r2= r2 + r1
r0=a1,2
r1=r0*m12
r2= r2 + r1
r0=a1,3
r1=r0*m13
r2= r2 + r1
r0=a2,1
r1=r0*m21
r2= r2 + r1
r0=a2,2
r1=r0*m22
r2= r2 + r1
r0=a2,3
r1=r0*m23
r2= r2 + r1
r0=a3,1
r1=r0*m31
r2= r2 + r1
r0=a3,2
r1=r0*m32
r2= r2 + r1
r0=a3,3
r1=r0*m33
r2= r2 + r1
B2,2=r2
Compiled code
Hardware pipeline
28 steps
Nine stages
Concurrent Analytics is a trademark of Concurrent EDA LLC in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
37
FPGA Estimation
Concurrent AnalyticsTM tool used to quantify performance
FPGA Implementation
a1,1
.
.
.
a3,3
Set N
...
a1,1
.
.
.
a3,3
a1,1
.
.
.
a3,3
Set 2
Set 1
CPU
Implementation
CPU = central processing unit
a1,1
.
.
.
a3,3
FPGA = field programmable gate array
Hardware pipeline
Once pipeline filled,
new result returned
every 5 ns
Nine stages executing concurrently
(200 MHz)
Process must be
repeated N times
28 steps executing sequentially
(2.4 GHz)
Concurrent Analytics is a trademark of Concurrent EDA LLC in the U.S. and other countries.
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
38
Examples
Evaluating the run time speed-up of GPU / FPGA to CPU
• There are three main parameters that influence the performance
– The number of observation points (Nobs)
– The number of frequencies (Nfreq)
– The number of hit points (Nhit)
Run Time
• Three examples investigated different "N”
– Urban Scene
N
• Focuses on shooting and bouncing ray
(SBR) aspect of code (Nhit)
– Four Plate
Heavier "N" means longer run time
• Focuses on physical optics (PO) aspect of code (Nobs)
– Fun Car
• Focuses on PO-SBR aspect of code (Nobs, Nhit)
• CPU version uses PBRT (www.pbrt.org) code for ray tracing
CPU = central processing unit GPU = graphics processing unit FPGA = field programmable gate array
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
39
FPGA Estimation
• Each cycle will generate a result for a single combination of hit point,
observation point, and frequency
Compiled CPU code
for PO calculation
Run time estimate between
5*Nhit*Nobs*Nfreq
Hardware pipeline
(350 cycles to fill)
and
20*Nhit*Nobs*Nfreq
nanoseconds
Triple nested loop
Nhit, Nobs, Nfreq
CPU = central processing unit PO = physical optics FPGA = field programmable gate array
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
40
Example 1: Urban Scene
Computational emphasis in tracing the rays (SBR)
• Single frequency and single observation point
Raytrace (SBR)
Improvement
GPU vs. CPU
– Maximum number of bounces = 10
– Burst interval size = 0.1 degrees
– Rays launched = 6.4 million
25x
Scene contains 116,193
triangular surfaces
9x
CPU = central processing unit GPU = graphics processing unit SBR = shooting and bouncing ray
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
41
Example 1: Urban Scene
Computational emphasis in tracing the rays (SBR)
• Trend of longer total run time for small numbers of sections
– GPU must check for intersections at each bounce before radiating
Loop over thousands
Loop over millions
CPU = central processing unit GPU = graphics processing unit SBR = shooting and bouncing ray
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
42
Example 2: Four Plate
Computational emphasis in evaluating the fields (PO)
• Single frequency and multiple observation points
– Frequency = 10 GHz
– Burst interval size = 0.25 degrees
– Ray surface intersections = 12,746
• Compare simulation times for field profiles
–
–
–
–
–
100 observation points
2,500
10,000
40,000
250,000
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
43
Example 2: Four Plate
Computational emphasis in evaluating the fields (PO)
77x
Radiation (PO)
Improvement
GPU vs. CPU
62x
0.8x
22x
44x
dB
CPU = central processing unit GPU = graphics processing unit PO = physical optics
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
44
Example 2: Four Plate
Computational emphasis in evaluating the fields (PO)
All times are PO time (does not include SBR time)
PO = physical optics
SBR = shooting and bouncing ray
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
45
Example 3: Fun Car
• Single frequency and multiple observation points
–
–
–
–
Maximum number of bounces = 1
Burst interval size = 0.25 degrees
Scene contains 10,461
triangular surfaces
Ray shoot sections = 1
Ray surface intersections = 485,406 per source
• Compare simulation times for field profiles
–
–
–
–
–
15 cm resolution (1 point per wavelength)
6 cm (2.5 points per wavelength)
3 cm (5 points per wavelength)
15 mm (10 points per wavelength)
7.5 mm (20 points per wavelength)
Series of 41 point sources
at 2 GHz used to model 12 inch
cell phone car antenna
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
46
Example 3: Fun Car
15 cm resolution (737 observation points), 3.1 min (GPU version)
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
dB
47
Example 3: Fun Car
6 cm resolution (4,483 observation points), 4.4 min (GPU version)
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
dB
48
Example 3: Fun Car
3 cm resolution (17,741 observation points), 15.3 min (GPU version)
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
dB
49
Example 3: Fun Car
15 mm resolution (70,754 observation points), 0.95 hrs (GPU version)
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
dB
50
Example 3: Fun Car
7.5 mm resolution (282,242 observation points), 3.6 hrs (GPU version)
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
dB
51
Example 3: Fun Car
15 cm
3 cm
7.5 mm
CPU / FPGA times are PO time (does not include SBR time)
GPU times are total execution time (PO+SBR)
CPU time measured for single source and scaled by 41
PO = physical optics SBR = shooting and bouncing ray
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
52
Conclusions
• Parallel hardware like GPUs have been shown to accelerate
electromagnetic simulation algorithms
– Greater than 150x for fun car cell phone antenna field profile
• The ability to compute high resolution field profiles has many
applications
– Communications planning
– Signal exploitation
• Pushing simulation algorithms closer to real time will allow deployed
systems to maintain operability while being more easily reconfigured
based on changes in the environment
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
53
Future Studies
The fun has only just begun ...
• Exploit multiple FPGA pipelines / GPU cards
• Implement the FPGA version
– Estimation is fun, but implementation is truth
• Research ways to combine FPGA, GPU, and multi-core processors
– Results suggest that in some domains one may perform better than
another
• Continue to bring other electromagnetic simulation algorithms closer
to real time
– Acceleration of other methodologies and hybrid techniques
Thank You!
Energy | Environment | National Security | Health | Critical Infrastructure
© Science Applications International Corporation. All rights reserved. SAIC and the SAIC logo are registered trademarks of
Science Applications International Corporation in the U.S. and other countries.
54