Skip to content

Commit

Permalink
Use chips when boards are 0
Browse files Browse the repository at this point in the history
  • Loading branch information
rowleya committed Nov 11, 2024
1 parent bff7d9e commit 4377b62
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 5 deletions.
7 changes: 4 additions & 3 deletions spinn_machine/version/version_3.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,10 @@ def get_idle_energy(
raise SpinnMachineException(
"A version 3 SpiNNaker 1 board has exactly one board!")

# We allow n_boards to be 0 to discount the cost of the board,
# so we multiply by n_boards in case it is 0!
return n_boards * self.WATTS_FOR_4_CHIP_BOARD_IDLE_COST * time_s
# We allow n_boards to be 0 to discount the cost of the board
if n_boards == 0:
return n_chips * self.WATTS_PER_IDLE_CHIP * time_s
return self.WATTS_FOR_4_CHIP_BOARD_IDLE_COST * time_s

@overrides(VersionSpin1.get_active_energy)
def get_active_energy(
Expand Down
7 changes: 5 additions & 2 deletions spinn_machine/version/version_5.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,11 @@ def get_idle_energy(
self, time_s: float, n_frames: int, n_boards: int,
n_chips: int) -> float:

# The board idle energy
energy = n_boards * self.WATTS_FOR_48_CHIP_BOARD_IDLE_COST * time_s
# We allow n_boards to be 0 to discount the cost of the board
if n_boards == 0:
energy = n_chips * self.WATTS_PER_IDLE_CHIP * time_s
else:
energy = n_boards * self.WATTS_FOR_48_CHIP_BOARD_IDLE_COST * time_s

# The container of the boards idle energy
if n_frames != 0:
Expand Down
5 changes: 5 additions & 0 deletions spinn_machine/version/version_spin1.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@ class VersionSpin1(AbstractVersion, metaclass=AbstractBase):
Shared code for all Spin1 board versions
"""

#: From Optimising the overall power usage on the SpiNNaker neuromimetic
#: platform - all chips on a 48-chip board together use 5.23 + 5.17 + 5.52W
#: + SDRAM of 0.90W = 16.82W when idle, so each chip use 0.35W
WATTS_PER_IDLE_CHIP: Final = 0.35

#: From measuring the power of all 48 chips on a boxed board with all cores
#: idle for 1 hour and 806 cores active for 1 hour we get 31.88W idle and
#: 59.38W active, so 27.50W active overhead, which is 0.034W per core
Expand Down

0 comments on commit 4377b62

Please sign in to comment.