vaughnbetz / COFFE

38 stars 25 forks source link

Question about whether COFFE supports energy_per_toggle in the architecture description file required for VTR #49

Open jdzhu19 opened 1 year ago

jdzhu19 commented 1 year ago

If wanting to do power estimation in VTR, it needs to have a power description with energy_per_toggle in the architecture description file, for example, energy_per_toggle of memory in various modes, I would like to ask if COFFE supports to calculate this value?

vaughnbetz commented 1 year ago

I don't see an output line for that in the code, although I only did a quick look. It should be possible to add if it isn't there though (although you might have to do it). Stephen & Sadegh: does COFFE include power data in the vpr output file?

We should also add a regtest for vpr output; I don't see any golden test results for a vpr file output which makes it harder to check the answer to this question.

Vaughn

On Sat, May 20, 2023 at 4:56 AM jdzhu19 @.***> wrote:

If wanting to do power estimation in VTR, it needs to have a power description with energy_per_toggle in the architecture description file, for example, energy_per_toggle of memory in various modes, I would like to ask if COFFE supports to calculate this value?

— Reply to this email directly, view it on GitHub https://github.com/vaughnbetz/COFFE/issues/49, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNDPJ2K5A2NTUYTQ37K6QLXHCBM3ANCNFSM6AAAAAAYITPP3A . You are receiving this because you are subscribed to this thread.Message ID: @.***>

jdzhu19 commented 1 year ago

I don't see an output line for that in the code, although I only did a quick look. It should be possible to add if it isn't there though (although you might have to do it). Stephen & Sadegh: does COFFE include power data in the vpr output file? We should also add a regtest for vpr output; I don't see any golden test results for a vpr file output which makes it harder to check the answer to this question. Vaughn On Sat, May 20, 2023 at 4:56 AM jdzhu19 @.> wrote: If wanting to do power estimation in VTR, it needs to have a power description with energy_per_toggle in the architecture description file, for example, energy_per_toggle of memory in various modes, I would like to ask if COFFE supports to calculate this value? — Reply to this email directly, view it on GitHub <#49>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNDPJ2K5A2NTUYTQ37K6QLXHCBM3ANCNFSM6AAAAAAYITPP3A . You are receiving this because you are subscribed to this thread.Message ID: @.>

I was doing some custom coding on the vpr output file of COFFE some time ago, and I am sure that there is no information related to power in the original vpr output file, and there seems to be a lack of information like energy_per_toggle in the final report formed by COFFE, how should I go about getting this information?

vaughnbetz commented 1 year ago

We compute energy per toggle by putting current monitors on the power supply and toggling an input, integrating the current drawn over a rise + a fall, and than taking Vdd * integral(curent) / 2 (since we performed two toggles). For memory it's a bit different; it's the energy per read or write (it's tied to the read or write access, not how many inputs are toggling). White we've done analyses like that many times, I am not sure how far into the output it is integrated, vs. what was done by hand in a spice deck after transistor sizing. Hopefully Stephen or Sadegh can comment.

Vaughn

On Sun, May 21, 2023 at 2:59 AM jdzhu19 @.***> wrote:

I don't see an output line for that in the code, although I only did a quick look. It should be possible to add if it isn't there though (although you might have to do it). Stephen & Sadegh: does COFFE include power data in the vpr output file? We should also add a regtest for vpr output; I don't see any golden test results for a vpr file output which makes it harder to check the answer to this question. Vaughn … <#m5115552837161745900> On Sat, May 20, 2023 at 4:56 AM jdzhu19 @.> wrote: If wanting to do power estimation in VTR, it needs to have a power description with energy_per_toggle in the architecture description file, for example, energy_per_toggle of memory in various modes, I would like to ask if COFFE supports to calculate this value? — Reply to this email directly, view it on GitHub <#49 https://github.com/vaughnbetz/COFFE/issues/49>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNDPJ2K5A2NTUYTQ37K6QLXHCBM3ANCNFSM6AAAAAAYITPP3A https://github.com/notifications/unsubscribe-auth/ABNDPJ2K5A2NTUYTQ37K6QLXHCBM3ANCNFSM6AAAAAAYITPP3A . You are receiving this because you are subscribed to this thread.Message ID: @.>

I was doing some custom coding on the vpr output file of COFFE some time ago, and I am sure that there is no information related to power in the original vpr output file, and there seems to be a lack of information like energy_per_toggle in the final report formed by COFFE, how should I go about getting this information?

— Reply to this email directly, view it on GitHub https://github.com/vaughnbetz/COFFE/issues/49#issuecomment-1556101378, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNDPJ6XXGHC5XAAXJBXEH3XHG4MZANCNFSM6AAAAAAYITPP3A . You are receiving this because you commented.Message ID: @.***>

vaughnbetz commented 1 year ago

Hello Vaughn,

Although we compute energy in fpga.py, we don't dump it in the architecture file. Since that info is available in fpga.py, it shouldn't be too hard to dump it.

Best, Sadegh

On Sun., May 21, 2023, 2:35 p.m. Vaughn Betz, @.***> wrote:

We compute energy per toggle by putting current monitors on the power supply and toggling an input, integrating the current drawn over a rise + a fall, and than taking Vdd * integral(curent) / 2 (since we performed two toggles). For memory it's a bit different; it's the energy per read or write (it's tied to the read or write access, not how many inputs are toggling). White we've done analyses like that many times, I am not sure how far into the output it is integrated, vs. what was done by hand in a spice deck after transistor sizing. Hopefully Stephen or Sadegh can comment.

Vaughn

On Sun, May 21, 2023 at 2:59 AM jdzhu19 @.***> wrote:

I don't see an output line for that in the code, although I only did a quick look. It should be possible to add if it isn't there though (although you might have to do it). Stephen & Sadegh: does COFFE include power data in the vpr output file? We should also add a regtest for vpr output; I don't see any golden test results for a vpr file output which makes it harder to check the answer to this question. Vaughn … <#m_8575709623566467143_m5115552837161745900> On Sat, May 20, 2023 at 4:56 AM jdzhu19 @.> wrote: If wanting to do power estimation in VTR, it needs to have a power description with energy_per_toggle in the architecture description file, for example, energy_per_toggle of memory in various modes, I would like to ask if COFFE supports to calculate this value? — Reply to this email directly, view it on GitHub <#49 https://github.com/vaughnbetz/COFFE/issues/49>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNDPJ2K5A2NTUYTQ37K6QLXHCBM3ANCNFSM6AAAAAAYITPP3A https://github.com/notifications/unsubscribe-auth/ABNDPJ2K5A2NTUYTQ37K6QLXHCBM3ANCNFSM6AAAAAAYITPP3A . You are receiving this because you are subscribed to this thread.Message ID: @.>

I was doing some custom coding on the vpr output file of COFFE some time ago, and I am sure that there is no information related to power in the original vpr output file, and there seems to be a lack of information like energy_per_toggle in the final report formed by COFFE, how should I go about getting this information?

— Reply to this email directly, view it on GitHub https://github.com/vaughnbetz/COFFE/issues/49#issuecomment-1556101378, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNDPJ6XXGHC5XAAXJBXEH3XHG4MZANCNFSM6AAAAAAYITPP3A . You are receiving this because you commented.Message ID: @.***>

vaughnbetz commented 1 year ago

Great, thanks Sadegh.