Independently converting a CNN and RNN to FPGA firmware via hls4ml

23 views
Skip to first unread message

Emmanuel Olaiya

unread,
Nov 22, 2021, 11:34:52 AM11/22/21
to hls4m...@gmail.com

Hello

I am working on the CERN LHC experiment CMS. My task is to implement a neural network algorithm on an FPGA via hls4ml. I have two algorithms I would like to implement. One is a CNN and the other is an RNN. I was pointed to this branch on github for implementing a CNN by a colleague:

https://github.com/vloncar/hls4ml/tree/cnn_parallel 

Is this the best version to use for implementing a CNN? Also, is there any documentation available for converting a CNN to FPGA firmware?

Finally, are there any development hls4ml versions available that can be used to convert an RNN to FPGA firmware?

Any help would be really appreciated.

Thanks

Manny

This email and any attachments are intended solely for the use of the named recipients. If you are not the intended recipient you must not use, disclose, copy or distribute this email or any of its attachments and should notify the sender immediately and delete this email from your system. UK Research and Innovation (UKRI) has taken every reasonable precaution to minimise risk of this email or any attachments containing viruses or malware but the recipient should carry out its own virus and malware checks before opening the attachments. UKRI does not accept any liability for any losses or damages which the recipient may sustain due to presence of any viruses. 

Emmanuel Olaiya

unread,
Nov 23, 2021, 11:26:33 AM11/23/21
to Vladimir Loncar, hls4m...@gmail.com
Hi Vladimir

Thank you very much for this. This info is extremely helpful. Especially
as I am looking at larger CNNs (8-10K parameters)

Thanks again

Manny

On 22/11/2021 16:43, Vladimir Loncar wrote:
> Hi Manny,
>
> The quoted branch contains an experimental CNN implementation suited
> for the smallest CNN models (for example, where HxW of the input is
> not larger than let's say 100). The master branch or the newly
> released 0.6.0 version of hls4ml contain additional implementations
> that are better suited to the larger CNN models, so it really depends
> on what you need.
>
> For the usage of hls4ml the main documentation is a good starting place:
> https://fastmachinelearning.org/hls4ml/
> there's also a tutorial with a portion dedicated specifically to CNNs:
> https://github.com/fastmachinelearning/hls4ml-tutorial
>
> The documentation should still be valid for the cnn_parallel branch if
> you choose to use it.
>
> Regards,
> Vladimir
>> --
>> You received this message because you are subscribed to the Google
>> Groups "hls4ml help" group.
>> To unsubscribe from this group and stop receiving emails from it,
>> send an email to hls4mlhelp+...@googlegroups.com
>> <mailto:hls4mlhelp+...@googlegroups.com>.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/hls4mlhelp/ea638893-0986-0556-bfaa-47d0767fbdeb%40stfc.ac.uk
>> <https://groups.google.com/d/msgid/hls4mlhelp/ea638893-0986-0556-bfaa-47d0767fbdeb%40stfc.ac.uk?utm_medium=email&utm_source=footer>.
Reply all
Reply to author
Forward
0 new messages