yonseicasl / NeuroSpector

NeuroSpector: Dataflow and Mapping Optimization of Deep Neural Network Accelerators
https://casl.yonsei.ac.kr/neurospector
Other
17 stars 3 forks source link

Support for separation of local buffers to input/weight/output #4

Open xchen87 opened 3 weeks ago

xchen87 commented 3 weeks ago

Hello,

Looking at the accelerator parsing, neurospector seems to not be able to support separation expression of "LOCAL_BUFFER" if an accelerator maintains separate local buffers to contain input, weight, and output, respectively. Is my understanding correct? if so do you have plan to support, or advise how to express such an architecture?

Thanks in advance.

pch0561 commented 2 weeks ago

Hi,

NeuroSpector supports separate buffers by specifying multiple buffer sizes. For instance, you can define separate local buffers for input, weight, and output data by specifying multiple values for BUFFER_SIZE (e.g., BUFFER_SIZE=24,448,48). With this configuration, 24 bytes would be allocated for the input buffer, 448 bytes for the weight buffer, and 48 bytes for the output buffer. You can find a specific example of this implementation in the Eyeriss configuration file at configs/accelerators/eyeriss.cfg. Additionally, this separated buffer expression is not limited to LOCAL_BUFFER - it can be applied to any temporal component in the architecture.