ucb-bar/onnxruntime-riscv

Don't require full rebuild when doing --for_firesim

Aperta

#30 aperta il 21 mar 2021

 (2 commenti) (0 reazioni) (0 assegnatari)C++ (37 fork)auto 404
good first issue

Metriche repository

Star
 (93 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

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.

Guida contributor