Is it possible to speed up hls_model.build() in hls4ml? Vivado HLS seems to run single-threaded

15 views
Skip to first unread message

Dinali Assylbek

unread,
May 23, 2025, 5:58:08 AMMay 23
to hls4ml help

Hi everyone,

I'm using hls4ml to convert a small TensorFlow model into Verilog to run on a ZedBoard (Zynq-7000, xc7z020clg484-1). Here's the issue I'm running into:

When I call hls_model.build(...) in my script, the process takes a very long time to complete. From what I can tell, Vivado HLS synthesis seems to run entirely on a single thread. This significantly slows down the build process, even for relatively small models.

Is there any way to speed this up? Specifically:

  • Can Vivado HLS be configured to use multiple threads?

  • Is there a way to pass flags (e.g., -threads) through hls4ml?

  • Are there best practices for reducing build time without sacrificing too much accuracy or performance?

  • Would increasing the reuse_factor help reduce synthesis time?

  • Is it better to run synthesis locally instead of on a shared server?

I’d appreciate any tips or experience from others who’ve managed to optimize build time when using hls4ml with Vivado.

Thanks!
— Dinali

Reply all
Reply to author
Forward
0 new messages