Using fpgas to supplement ray tracing computations on the cray xd 1
Download
1 / 53

Using FPGAs to Supplement Ray-Tracing Computations on the Cray XD-1 - PowerPoint PPT Presentation


  • 86 Views
  • Uploaded on

Using FPGAs to Supplement Ray-Tracing Computations on the Cray XD-1. Charles B. Cameron. United States Naval Academy Department of Electrical Engineering United States Naval Academy 105 Maryland Avenue, Stop 14B Annapolis, Maryland 21402-5025. Research supported by:

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

PowerPoint Slideshow about 'Using FPGAs to Supplement Ray-Tracing Computations on the Cray XD-1' - logan-lott


An Image/Link below is provided (as is) to download presentation

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
Using fpgas to supplement ray tracing computations on the cray xd 1
Using FPGAs to Supplement Ray-Tracing Computations on the Cray XD-1

Charles B. Cameron

United States Naval Academy

Department of Electrical Engineering

United States Naval Academy

105 Maryland Avenue, Stop 14B

Annapolis, Maryland 21402-5025

  • Research supported by:

  • NASA Goddard Space Flight Center (Code 586)

  • NRL Applied Optics Branch (Code 5630)

  • DoD High Performance Computing Modernization Program at NRL (Code 5593)

  • United States Naval Academy

  • Xilinx, Inc.


Topics
Topics Cray XD-1

  • Ray tracing

  • Conventional parallel processing

  • Modulo scheduling

  • Coordination of sequential and parallel processing

  • Expected Performance


Ray tracing
Ray tracing Cray XD-1

  • MODIS

    • Moderate-resolution Imaging Spectroradiometer

  • The Intersection Problem

  • Finding the Perpendicular

  • Refraction

  • Reflection


Modis optical system moderate resolution imaging spectroradiometer
MODIS Optical System Cray XD-1 (Moderate-resolution Imaging Spectroradiometer)


Modis optical system
MODIS Optical System Cray XD-1

  • 485 pinholes

  • 400 rays per pinhole

  • 241 ´ 121 rays reflected from the diffuser

  • 5.66 ´ 109 rays


Ray directed to a surface
Ray Directed to a Surface Cray XD-1

  • MODIS

    • Moderate-resolution Imaging Spectroradiometer

  • The Intersection Problem

  • Finding the Perpendicular

  • Refraction

  • Reflection

  • Coordinate Transformation


Calculate the intercept point
Calculate the Intercept Point Cray XD-1

  • MODIS

    • Moderate-resolution Imaging Spectroradiometer

  • The Intersection Problem

  • Finding the Perpendicular

  • Refraction

  • Reflection

  • Coordinate Transformation


Find the normal
Find the Normal Cray XD-1

  • MODIS

    • Moderate-resolution Imaging Spectroradiometer

  • The Intersection Problem

  • Finding the Perpendicular

  • Refraction

  • Reflection

  • Coordinate Transformation


Find the refracted ray
Find the Refracted Ray Cray XD-1

  • MODIS

    • Moderate-resolution Imaging Spectroradiometer

  • The Intersection Problem

  • Finding the Perpendicular

  • Refraction

  • Reflection

  • Coordinate Transformation


Find the reflected ray
Find the Reflected Ray Cray XD-1

  • MODIS

    • Moderate-resolution Imaging Spectroradiometer

  • The Intersection Problem

  • Finding the Perpendicular

  • Refraction

  • Reflection

  • Coordinate Transformation


Coordinate transformation
Coordinate Transformation Cray XD-1

  • MODIS

    • Moderate-resolution Imaging Spectroradiometer

  • The Intersection Problem

  • Finding the Perpendicular

  • Refraction

  • Reflection

  • Coordinate Transformation

    (Hard to visualize this!)


Topics1
Topics Cray XD-1

  • Ray tracing

  • Conventional parallel processing

  • Modulo scheduling

  • Coordination of sequential and parallel processing

  • Expected Performance


Parallelism
Parallelism Cray XD-1


Performance 5 66 10 9 rays
Performance Cray XD-1 (5.66 ´ 109 rays)

*

99.998 %

5,857 %

* Rate based on a linear regression of results obtained using a varying numbers of processors.


Performance 5 66 10 9 rays1
Performance Cray XD-1 (5.66 ´ 109 rays)


Efficiency
Efficiency Cray XD-1


Topics2
Topics Cray XD-1

  • Ray tracing

  • Conventional parallel processing

  • Modulo scheduling

  • Coordination of sequential and parallel processing

  • Expected Performance


Operations required as a function of surface aperture and interaction types
Operations Required as a Function of Surface, Aperture, and Interaction Types

Not too many of these

Lots of these


Quadratic equation
Quadratic Equation Interaction Types

Latency

Critical Path

(Data-Flow Limit)

88 cycles


Modulo scheduling one multiplier
Modulo Scheduling: Interaction TypesOne Multiplier


Modulo scheduling one multiplier1
Modulo Scheduling: Interaction TypesOne Multiplier


Modulo scheduling one multiplier2
Modulo Scheduling: Interaction TypesOne Multiplier


Modulo scheduling one multiplier3
Modulo Scheduling: Interaction TypesOne Multiplier


Modulo scheduling one multiplier4
Modulo Scheduling: Interaction TypesOne Multiplier


Modulo scheduling one multiplier5
Modulo Scheduling: Interaction TypesOne Multiplier


Modulo scheduling one multiplier6
Modulo Scheduling: Interaction TypesOne Multiplier


Modulo scheduling one multiplier7
Modulo Scheduling: Interaction TypesOne Multiplier

Equal to the Data-Flow Limit


Modulo scheduling filling the pipeline
Modulo Scheduling: Interaction TypesFilling the Pipeline

One collective computation


Modulo scheduling filling the pipeline1
Modulo Scheduling: Interaction TypesFilling the Pipeline


Modulo scheduling filling the pipeline2
Modulo Scheduling: Interaction TypesFilling the Pipeline

Multipliers are 100 % utilized

No schedule conflicts


Modulo scheduling two multipliers
Modulo Scheduling: Interaction TypesTwo Multipliers

Two multipliers with two multiplications each


Modulo scheduling two multipliers1
Modulo Scheduling: Interaction TypesTwo Multipliers

One adder with two additions

Two cycles

Maximum efficiency


Modulo scheduling two multipliers2
Modulo Scheduling: Interaction TypesTwo Multipliers

Improved efficiency:

Up from 25 %


Modulo scheduling two multipliers3
Modulo Scheduling: Interaction TypesTwo Multipliers


Modulo scheduling two multipliers4
Modulo Scheduling: Interaction TypesTwo Multipliers


Modulo scheduling two multipliers5
Modulo Scheduling: Interaction TypesTwo Multipliers

Less than the Data-Flow Limit


Modulo scheduling two multipliers6
Modulo Scheduling: Interaction TypesTwo Multipliers

Less than the Data-Flow Limit, but double the throughput.


Topics3
Topics Interaction Types

  • Ray tracing

  • Conventional parallel processing

  • Modulo scheduling

  • Coordination of sequential and parallel processing

  • Expected Performance


Cray xd 1
Cray XD-1 Interaction Types

  • MPI (Message Passing Interface)

  • Master node

    • Reads file

    • Distributes file

    • Collates results


One node of the cray xd 1
One Node of the Cray XD-1 Interaction Types

  • Open MP (Multi Processing)

  • 144 of 220 nodes have a Xilinx Virtex II Pro FPGA

  • Opteron processors

    • Sequential program

    • Depth first

  • FPGA

    • Pipelined hardware

    • Breadth first


Topics4
Topics Interaction Types

  • Ray tracing

  • Conventional parallel processing

  • Modulo scheduling

  • Coordination of sequential and parallel processing

  • Expected Performance


Performance
Performance Interaction Types


Performance1
Performance Interaction Types


Performance2
Performance Interaction Types


Performance3
Performance Interaction Types


Summary
Summary Interaction Types

  • Modulo scheduling produces 100 % efficiency of critical resources.

  • Sequential processors get a boost from supplemental FPGA processing.

  • Deep pipelines are efficient only if filled much of the time.

  • FPGAs beat ASICs only if they can take advantage of special problem knowledge.

  • Opteron uses 55 W.

  • Virtex II Pro FPGA uses 4 W to 45 W.


Equations
Equations Interaction Types

  • Intersection of a Ray with a Plane

  • Intersection of a Ray with a Sphere

  • Intersection of a Ray with a Conicoid

  • Finding the Perpendicular

  • Interaction of a Ray with an Optical Surface

  • Coordinate Transformations


Intersection of a ray with a plane
Intersection of a Ray with a Plane Interaction Types

Point in the plane

Initial direction

Final point

Initial point

Normal to the plane

List of equations


Intersection of a ray with a sphere
Intersection of a Ray with a Sphere Interaction Types

Initial direction

Final point

Initial point

List of equations


Intersection of a ray with a conicoid
Intersection of a Ray with a Conicoid Interaction Types

Final point

Initial point

Initial direction

List of equations


Finding the perpendicular
Finding the Perpendicular Interaction Types

Unit Vector Normal to a Sphere

Unit Vector Normal to a Conicoid

List of equations


Interaction of a ray with an optical surface
Interaction of a Ray with an Optical Surface Interaction Types

Refraction

Reflection

Initial index of refraction

Final index of refraction

Normal to the plane

Initial direction

Final direction

List of equations


Coordinate transformations
Coordinate Transformations Interaction Types

Position in Frame of Reference k

Positionin Frame of Reference k+1

Rotation and Translation

Rotation

Direction in Frame of Reference k+1

Rotation Matrix

Direction in Frame of Reference k

Translation Vector

List of equations