ucb-bar/onnxruntime-riscv

Don't require full rebuild when doing --for_firesim

Open

#30 opened on Mar 21, 2021

View on GitHub
 (2 comments) (0 reactions) (0 assignees)C++ (37 forks)auto 404
good first issue

Repository metrics

Stars
 (93 stars)
PR merge metrics
 (PR metrics pending)

Description

Whenever we add on --for_firesim this forces a full rebuild. It's very annoying and slows down development speed. This should not be required because all for_firesim on the ORT binary does is basically flush gemmini at process start (the flag for the runner does mlockall, but since runner builds in 1 min anyway that's not an issue).

I propose instead of controller whether flush happens via an ifdef, we just always flush on the first call to gemmini if the execution mode is WS. Basically have a global variable that stores whether flush has happened, and then on the very first call to one of the gemmini functions (conv/matmul) we flush if mode is WS. The get_matmul_type function is a good place for this because all calls go through that.

Contributor guide