Skip to content
0:00 / 0:00

#fpga#high-levelsynthesis#hls

[Tutorial] Productive Parallel Programming for FPGA with High Level Synthesis

Scalable Parallel Computing Lab, SPCL @ ETH Zurich

4.4K subscribers • 2 videos on Hallway

YouTube
  • Recommended by 3 people: 3 in engineering communities.
  • A classic. People kept recommending it from 2021 to 2026.
  • Presented by Torsten Hoefler and Johannes de Fine Licht
  • Linked in the descriptionspcl/hls_tutorial_examplesarXiv 1805.08288

Intermediate. Assumes working knowledge.

15K views5 years ago3 recommendations

HardwareSystems programmingEmbedded systemsPerformance and optimizationConcurrency and parallelism

Torsten Hoefler and Johannes de Fine Licht demonstrate how to use high-level synthesis to achieve scalable pipeline parallelism on FPGAs.

Speakers: Torsten Hoefler, Johannes de Fine Licht Venue: SC'20 Abstract: Energy efficiency has become a first class citizen in the design of large computing systems. While GPUs and custom processors show merit in this regard, reconfigurable architectures, such as FPGAs, promise another major improvement in energy efficiency, constituting a middle ground between fixed hardware architectures and custom-built ASICs. This tutorial shows how high-level synthesis (HLS) can be harnessed to productively achieve scalable pipeline parallelism on FPGAs. Attendees will learn how to target FPGA resources from high-level C++ or OpenCL code, guiding the mapping from imperative code to hardware, enabling them to develop massively parallel designs. We treat well-known examples from the software world, relating traditional code optimizations to hardware, building on existing knowledge when introducing new topics. By bridging the gap between software and hardware optimization, our tutorial aims to enable developers from a large set of backgrounds to start tapping into the potential of FPGAs for high performance codes. Find all the tutorial material on our website: spcl.inf.ethz.ch/Teaching/hls-tutorial/ Learn more about FPGA optimizations: arxiv.org/abs/1805.08288 The demonstrated code is available at: github.com/spcl/hls_tutorial_examples Part 0 (Introduction): Part 1 (Practical): - Example 0: - Example 1: - Example 2: - Example 3: - Example 4: - Example 5: - Example 6: - Example 7:

Why it's here

3 people recommend this

What people say. Recommended as a great tutorial on using C++ and OpenCL with high-level synthesis for FPGA programming.

u/jdefinelichtin r/FPGA • Recommends

Tutorial Productive Parallel Programming for FPGA with High-Level Synthesis

u/Felkinin r/FPGA • Recommends

On “How to start with HLS (High Level Synthesis)?”

link to this video Enjoy.

u/cougar618in r/FPGA • Recommends

On “Need help with Vitis HLS”

I think it helps to be proficient in an HDL. You need to be thinking about hardware, even when writing C++. See their GitHub they have all kinds of examples, though it can be over whelming. This video series by Dr. Choi was very helpful for me: YouTube link I think his lectures are based on this book Parallel programming for FPGAs This video by the SPCL is also really good at demonstrating how pragmas are used in HLS