Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add power profiling capabilities #170

Open
jeshraghian opened this issue Dec 14, 2022 · 1 comment · Fixed by #232
Open

Add power profiling capabilities #170

jeshraghian opened this issue Dec 14, 2022 · 1 comment · Fixed by #232
Assignees
Labels
enhancement New feature or request

Comments

@jeshraghian
Copy link
Owner

This seems to be a super popular feature request.
Making accurate estimates seems near impossible, but we can probably generate an order of magnitude guess here.

The user would construct a model, pass data in, and the power profiling function returns the number of Synaptic operations in the forward-pass (this could be averaged across batches).

Each synaptic op would be scaled by the energy cost for all selected devices; e.g., various GPUs & neuromorphic hardware.
The same number would be given for non-spiking networks too. This could be achieved by just removing the spiking modules.

SpikingKeras has a similar function that does it really nicely. However, it overstates the improvement given with spikes because it does not account for overhead (i.e., moving data to/from memory, or between multiple chips).

Including an argument that factors in overhead would by tricky, but useful.
The model would be parsed for number of neurons/synapses, and if either exceeds the bandwidth of a single chip, then we need to estimate how frequently data needs to be moved between chips & add that to the overall energy consumption.

A lot of coarse estimates would be made, but I think it could be helpful.

@jeshraghian jeshraghian added the enhancement New feature or request label Dec 14, 2022
@mlewandowski0
Copy link

Dear Sir,

Are there plans or work being done to implement it? Can I implement it or help with the implementation ?

Best Regards,

@ahenkes1 ahenkes1 linked a pull request Aug 14, 2023 that will close this issue
ahenkes1 added a commit that referenced this issue Aug 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants