Using fpgas to supplement ray tracing computations on the cray xd 1
This presentation is the property of its rightful owner.
Sponsored Links
1 / 53

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


  • 49 Views
  • Uploaded on
  • Presentation posted in: General

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:

Download Presentation

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

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

  • Ray tracing

  • Conventional parallel processing

  • Modulo scheduling

  • Coordination of sequential and parallel processing

  • Expected Performance


Ray tracing

Ray tracing

  • MODIS

    • Moderate-resolution Imaging Spectroradiometer

  • The Intersection Problem

  • Finding the Perpendicular

  • Refraction

  • Reflection


Modis optical system moderate resolution imaging spectroradiometer

MODIS Optical System (Moderate-resolution Imaging Spectroradiometer)


Modis optical system

MODIS Optical System

  • 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

  • MODIS

    • Moderate-resolution Imaging Spectroradiometer

  • The Intersection Problem

  • Finding the Perpendicular

  • Refraction

  • Reflection

  • Coordinate Transformation


Calculate the intercept point

Calculate the Intercept Point

  • MODIS

    • Moderate-resolution Imaging Spectroradiometer

  • The Intersection Problem

  • Finding the Perpendicular

  • Refraction

  • Reflection

  • Coordinate Transformation


Find the normal

Find the Normal

  • MODIS

    • Moderate-resolution Imaging Spectroradiometer

  • The Intersection Problem

  • Finding the Perpendicular

  • Refraction

  • Reflection

  • Coordinate Transformation


Find the refracted ray

Find the Refracted Ray

  • MODIS

    • Moderate-resolution Imaging Spectroradiometer

  • The Intersection Problem

  • Finding the Perpendicular

  • Refraction

  • Reflection

  • Coordinate Transformation


Find the reflected ray

Find the Reflected Ray

  • MODIS

    • Moderate-resolution Imaging Spectroradiometer

  • The Intersection Problem

  • Finding the Perpendicular

  • Refraction

  • Reflection

  • Coordinate Transformation


Coordinate transformation

Coordinate Transformation

  • MODIS

    • Moderate-resolution Imaging Spectroradiometer

  • The Intersection Problem

  • Finding the Perpendicular

  • Refraction

  • Reflection

  • Coordinate Transformation

    (Hard to visualize this!)


Topics1

Topics

  • Ray tracing

  • Conventional parallel processing

  • Modulo scheduling

  • Coordination of sequential and parallel processing

  • Expected Performance


Parallelism

Parallelism


Performance 5 66 10 9 rays

Performance (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 (5.66 ´ 109 rays)


Efficiency

Efficiency


Topics2

Topics

  • 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

Latency

Critical Path

(Data-Flow Limit)

88 cycles


Modulo scheduling one multiplier

Modulo Scheduling:One Multiplier


Modulo scheduling one multiplier1

Modulo Scheduling:One Multiplier


Modulo scheduling one multiplier2

Modulo Scheduling:One Multiplier


Modulo scheduling one multiplier3

Modulo Scheduling:One Multiplier


Modulo scheduling one multiplier4

Modulo Scheduling:One Multiplier


Modulo scheduling one multiplier5

Modulo Scheduling:One Multiplier


Modulo scheduling one multiplier6

Modulo Scheduling:One Multiplier


Modulo scheduling one multiplier7

Modulo Scheduling:One Multiplier

Equal to the Data-Flow Limit


Modulo scheduling filling the pipeline

Modulo Scheduling:Filling the Pipeline

One collective computation


Modulo scheduling filling the pipeline1

Modulo Scheduling:Filling the Pipeline


Modulo scheduling filling the pipeline2

Modulo Scheduling:Filling the Pipeline

Multipliers are 100 % utilized

No schedule conflicts


Modulo scheduling two multipliers

Modulo Scheduling:Two Multipliers

Two multipliers with two multiplications each


Modulo scheduling two multipliers1

Modulo Scheduling:Two Multipliers

One adder with two additions

Two cycles

Maximum efficiency


Modulo scheduling two multipliers2

Modulo Scheduling:Two Multipliers

Improved efficiency:

Up from 25 %


Modulo scheduling two multipliers3

Modulo Scheduling:Two Multipliers


Modulo scheduling two multipliers4

Modulo Scheduling:Two Multipliers


Modulo scheduling two multipliers5

Modulo Scheduling:Two Multipliers

Less than the Data-Flow Limit


Modulo scheduling two multipliers6

Modulo Scheduling:Two Multipliers

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


Topics3

Topics

  • Ray tracing

  • Conventional parallel processing

  • Modulo scheduling

  • Coordination of sequential and parallel processing

  • Expected Performance


Cray xd 1

Cray XD-1

  • 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

  • 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

  • Ray tracing

  • Conventional parallel processing

  • Modulo scheduling

  • Coordination of sequential and parallel processing

  • Expected Performance


Performance

Performance


Performance1

Performance


Performance2

Performance


Performance3

Performance


Summary

Summary

  • 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

  • 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

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

Initial direction

Final point

Initial point

List of equations


Intersection of a ray with a conicoid

Intersection of a Ray with a Conicoid

Final point

Initial point

Initial direction

List of equations


Finding the perpendicular

Finding the Perpendicular

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

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

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


  • Login