Energy benchmarks on Nengo SpiNNaker

Hi everyone,

I have ran some SpiNNaker models through PyNN and there is the option of generating an energy report by modifying the .spynnaker.cfg file to enable the energy report like this:

[Reports]
write_energy_report = True

However, when running SpiNNaker through nengo_spinnaker the energy report is not produced. Is there a way to enable it?

Thanks a lot for your response.

Best,
Manos

Hi @manosangelidis!

I took a quick glance at the NengoSpinnaker codebase and didn’t find any references or ways to enable energy reporting on the SpiNNaker board. However, the code’s co-author @tcstewar may have some ideas.

As for sPyNNaker, I took a look at their code too (on github), and I also didn’t find any reference to the write_energy_report flag in the configuration file, nor in the source files. Can you point me to the code that does the energy reporting? If I have some reference code from the sPyNNaker codebase, I could do a more detailed search in the NengoSpinnaker codebase to see if similar energy reporting code exists.

Hi @xchoo,

Thanks for the quick answer. I actually had already discussed that with Terry and he was also unaware of such an option in nengo_spinnaker, right @tcstewar?

I also took a look at the sPyNNaker codebase and indeed there is no such reference. However the option that I mentioned in my previous post was pointed out to me by Andrew Rowley from the Spinnaker team, which I quote:

" To enable this, you simply have to add the following to your .spynnaker.cfg file (you only need to add [Reports] if it doesn’t already exist):

[Reports]

write_energy_report = True

This tells the software to add additional “provenance items” regarding the energy consumption estimates. These items will be in the provenance subfolder of the reports for the last run; this might be in an XML file called power_provenance.xml, or, in more recent git versions of the software, in a provenance database with “power_provenance” as the source_name in the provenance_view."

Is that heplful somehow? Thanks again for looking into it.

Best,
Manos

Hi,

For documentation purposes, the link to the code where the write_energy_report variable is used is this one https://github.com/SpiNNakerManchester/SpiNNFrontEndCommon/blob/master/spinn_front_end_common/interface/abstract_spinnaker_base.py#L2742

It was difficult to find cause it is part of the SpiNNFrontEndCommon repo and not the sPyNNaker repo. I am not sure how it relates to PyNN and how, and whether nengo_spinnaker makes use of this code. If someone if the future decides to implement the feature in nengo_spinnaker I think this is a good starting point.

Best,
Manos

Thanks for the updates @manosangelidis! :smiley: