Accelergy-Project / timeloop-accelergy-exercises

Exercises for exploring the Fibertree, Timeloop and Accelergy tools
MIT License
85 stars 29 forks source link

Timeloop Help #43

Closed sgodey closed 6 months ago

sgodey commented 6 months ago

Hello Timeloop Team:

I am trying to create a model for my design and an using "compound_components" to create my building blocks. When I am instantiating the compound component in my architecture.yaml file, the component is not getting recognized. I am seeing the below message, which says it is recognizing only the standard classes.

_Unknown element class xyz. Accepted classes: {('DRAM', 'SRAM', 'regfile', 'smartbuffer', 'storage'): <class 'timeloopfe.v4.arch.Storage'>, ('mac', 'intmac', 'fpmac', 'compute'): <class 'timeloopfe.v4.arch.Compute'>, ('XYNoC', 'Legacy', 'ReductionTree', 'SimpleMulticast'): <class 'timeloopfe.v4.arch.Network'>, ('nothing',): <class 'timeloopfe.v4.arch.Nothing'>}.

Any ideas what I am doing wrong here?

thanks Sreekanth

tanner-andrulis commented 6 months ago

Make sure the class key is set to one of the types listed. You should set the subclass key (subclass: xyz) to instantiate xyz.

sgodey commented 6 months ago

Thanks Tanner for your response.

Few more questions:

  1. In problem.yaml, the key word is "data-spaces" or "data_spaces"? Both options are giving problems. The hack seems to be use data_spaces in problem.yaml and change it in parsed-processed-input.yaml to data-spaces. This way the Problem configuration is completing.
  2. Seeing the error "ERROR: key not found: arithmetic, at line: 0". I have seen such error in "data-spaces" case above as-well. What is the cause of this error? The error message is not informative. Is there a way to get more informative messages?

thanks Sreekanth

tanner-andrulis commented 6 months ago

Happy to help!

  1. Are you using the latest version of Timeloop? data-spaces is deprecated and in the old version of Timeloop.
  2. Do you have some kind of compute !Component at the bottom of your hierarchy? That's the thing I can think of off the top of my head. Other than that, I'd need to see the files you're running.
sgodey commented 6 months ago

I downloaded the source from https://github.com/NVlabs/timeloop/releases/tag/v2.0 and built the timeloop.

Is https://github.com/NVlabs/timeloop the latest version? Even here in gemm-ABZ.yaml file, I see the use of "data-spaces"

tanner-andrulis commented 6 months ago

Yes, that is the latest version. v2 is several years old now (we're on v4). I'm not seeing the file you're describing-- if you can find any data-spaces in the latest code, I'd love if you could share a link so we can fix them!