UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Contributor
Contributor
354 Views
Registered: ‎09-30-2019

Using HBM with HLS/C++

Jump to solution

I am a software developer with no FPGA experience.

Because of its HBM memory, I am considering buy an Alveo U280 card.

I would like to understand the complexity of using HBM banks for my workloads, but I have found almost no example other than this one.

The documentation seems to be tailored for hardware folks, and I find difficult to understand.

I downloaded a free trial of Vivado HLS and I am trying to play with C++ and HBM with no luck.

Thanks,

0 Kudos
1 Solution

Accepted Solutions
Xilinx Employee
Xilinx Employee
271 Views
Registered: ‎08-17-2011

Re: Using HBM with HLS/C++

Jump to solution

Hello @benedetto73 

There are actually 2 HBM examples on the SDAccel Examples github, but yes you may find that little. Have you checked the other examples? Most other examples are directly transposable to HBM.
Also have you read U280 and/or HBM documents, for example UG1314?

I think that before making a purchase decision you should understand the performance that you want to achieve and what is the bottleneck in your current design. I appreciate that your answer might be "the best performance" but please give details.. As you might know, some applications are not memory limited but datapath limited and in those situations having a larger FPGA is actually better (allows you to replicate the datapath).

Regards, Hervé

- Hervé

SIGNATURE:
* New Dedicated Vivado HLS forums* http://forums.xilinx.com/t5/High-Level-Synthesis-HLS/bd-p/hls
* Readme/Guidance* http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

* Please mark the Answer as "Accept as solution" if information provided is helpful.
* Give Kudos to a post which you think is helpful and reply oriented.
2 Replies
Xilinx Employee
Xilinx Employee
272 Views
Registered: ‎08-17-2011

Re: Using HBM with HLS/C++

Jump to solution

Hello @benedetto73 

There are actually 2 HBM examples on the SDAccel Examples github, but yes you may find that little. Have you checked the other examples? Most other examples are directly transposable to HBM.
Also have you read U280 and/or HBM documents, for example UG1314?

I think that before making a purchase decision you should understand the performance that you want to achieve and what is the bottleneck in your current design. I appreciate that your answer might be "the best performance" but please give details.. As you might know, some applications are not memory limited but datapath limited and in those situations having a larger FPGA is actually better (allows you to replicate the datapath).

Regards, Hervé

- Hervé

SIGNATURE:
* New Dedicated Vivado HLS forums* http://forums.xilinx.com/t5/High-Level-Synthesis-HLS/bd-p/hls
* Readme/Guidance* http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

* Please mark the Answer as "Accept as solution" if information provided is helpful.
* Give Kudos to a post which you think is helpful and reply oriented.
Contributor
Contributor
260 Views
Registered: ‎09-30-2019

Re: Using HBM with HLS/C++

Jump to solution

Thanks @herver for your reply!

Yes I look at the other examples, and also it transpires that, as you say, they are directly transposable to HBM.... I am very new to this world (I come from software development).

I can write my algos with HLS C++ and make them work. I even learnt to optimize them.

What I don't know is how to have my algo kernels read data from HBM.  I have no idea.
I just need to study more I guess.

As far as performance requirements, I am doing several algos in HBM... and most of them require 20-30% of the alleged bandwidth.
They all are massively parallelizable, and I am writing them to utilize all AXI channels simultaneuosly.

0 Kudos