Altera published their OpenCL-on-FPGA optimization guide

Reading Time: 1 minute

Altera-doc

Altera has just released their optimisation guide for OpenCL-on-FPGAs. It does not go into the howto’s of OpenCL, but assumes you have knowledge of the technology. Niether does it provide any information on the basics of Altera’s Stratix V or other FPGA.

It is the first public optimisation document, so it is appreciated to send feedback directly. Not aware what OpenCL can do on an FPGA? Watch the below video.

Subjects

The following subjects and optimisation tricks are discussed:

  • FPGA Overview
  • Pipelines
  • Good Design Practices
  • Avoid Pointer Aliasing
  • Avoid Expensive Functions
  • Avoid Work-Item ID-Dependent Backward Branching
  • Aligned Memory Allocation
  • Ensure 4-Byte Alignment for All Data Structures
  • Maintain Similar Structures for Vector Type Elements
  • Optimization of Data Processing Efficiency
  • Specify a Maximum Work-Group Size or a Required Work-Group Size
  • Loop Unrolling
  • Resource Sharing
  • Kernel Vectorization
  • Multiple Compute Units
  • Combination of Compute Unit Replication and Kernel SIMD Vectorization
  • Resource-Driven Optimization
  • Floating-Point Operations
  • Optimization of Memory Access Efficiency
  • General Guidelines on Optimizing Memory Accesses
  • Optimize Global Memory Accesses
  • Perform Kernel Computations Using Constant, Local or Private Memory
  • Single Work-Item Execution

Carefully compare these with CPU and GPU optimisation guides to be able to write more generic OpenCL code.

Download

You can download the document here.

If you have any question on OpenCL-on-FPGAs, OpenCL, generic optimisations or Altera FPGAs, feel welcomed to contact us.

 

Related Posts

opencl-logo

OpenCL Basics: Running multiple kernels in OpenCL

...  learn a lot if you make it work. When applying this to OpenCL, you quickly get to a situation that you want to run one.cl file ...

<!--:en-->AMD_GPU<!--:-->

Start your GPU-career here

...  on fully understanding recent GPU-architectures, CUDA and OpenCL. It will consist of lectures, workshops, discussions, paper reading ...

Amsterdam houses near canal

What does it mean to work at Stream HPC?

...  our open job positions:GPU library developer CUDA/OpenCL GPU developer LLVM compiler developer for GPUs (opens soon)If ...

ISS-34_Night_image_of_the_Bay_Area_of_California

Meet Vincent in Bay Area between 11 and 16 August

Our managing director, Vincent Hindriksen, is in San Francisco's Bay Area from Saturday 11th up to Thursday 16th of August 2018. He'll be visiting exi ...