pacman.model.resources package¶
Module contents¶
- class pacman.model.resources.AbstractSDRAM[source]¶
Bases:
object
Represents an amount of SDRAM used on a chip in the machine.
- abstract property fixed¶
The fixed SDRAM cost.
- abstract get_total_sdram(n_timesteps)[source]¶
The total SDRAM.
- Parameters:
n_timesteps (int) – number of timesteps to cost for
- Returns:
- abstract property per_timestep¶
The extra SDRAM cost for each additional timestep.
Warning
May well be zero.
- abstract report(timesteps, indent='', preamble='', target=None)[source]¶
Writes a description of this SDRAM to the target.
- abstract sub_from(other)[source]¶
Creates a new SDRAM which is the other less this one.
- Parameters:
other (AbstractSDRAM) – another SDRAM resource
- Returns:
a New AbstractSDRAM
- Return type:
- class pacman.model.resources.ConstantSDRAM(sdram)[source]¶
Bases:
AbstractSDRAM
Represents an amount of SDRAM used on a chip in the machine.
This is used when the amount of SDRAM needed is not effected by runtime
- Parameters:
sdram (int or int64) – The amount of SDRAM in bytes
- property fixed¶
The fixed SDRAM cost.
- get_total_sdram(n_timesteps)[source]¶
The total SDRAM.
- Parameters:
n_timesteps (int) – number of timesteps to cost for
- Returns:
- property per_timestep¶
The extra SDRAM cost for each additional timestep.
Warning
May well be zero.
- report(timesteps, indent='', preamble='', target=None)[source]¶
Writes a description of this SDRAM to the target.
- sub_from(other)[source]¶
Creates a new SDRAM which is the other less this one.
- Parameters:
other (AbstractSDRAM) – another SDRAM resource
- Returns:
a New AbstractSDRAM
- Return type:
- class pacman.model.resources.IPtagResource(ip_address, port, strip_sdp, tag=None, traffic_identifier='DEFAULT')[source]¶
Bases:
object
Represents the ability to have a SpiNNaker machine send messages to you during execution.
- Parameters:
ip_address (str) – The IP address of the host that will receive data from this tag
port (int or None) – The port that will
strip_sdp (bool) – Whether the tag requires that SDP headers are stripped before transmission of data
tag (int or None) – A fixed tag ID to assign, or None if any tag is OK
traffic_identifier (str) – The traffic to be sent using this tag; traffic with the same traffic_identifier can be sent using the same tag
- property traffic_identifier¶
The traffic identifier for this IP tag.
- class pacman.model.resources.MultiRegionSDRAM[source]¶
Bases:
VariableSDRAM
A resource for SDRAM that comes in regions.
Note
Adding or subtracting two MultiRegionSDRAM objects will be assumed to be an operation over multiple cores/placements so these functions return a VariableSDRAM object without the regions data.
To add extra SDRAM costs for the same core/placement use the methods
add_cost()
andmerge()
- Parameters:
fixed_sdram – The amount of SDRAM (in bytes) that represents static overhead
per_timestep_sdram (float or numpy.float) – The amount of SDRAM (in bytes) required per timestep. Often represents the space to record a timestep.
- add_cost(region, fixed_sdram, per_timestep_sdram=0)[source]¶
Adds the cost for the specified region.
- Parameters:
fixed_sdram (int or numpy.integer) – The fixed cost for this region.
per_timestep_sdram (int or numpy.integer) – The variable cost for this region is any
- merge(other)[source]¶
Combines the other SDRAM costs keeping the region mappings.
Note
This method should only be called when combining cost for the same core/ placement. Use + to combine for different cores
- Parameters:
other (MultiRegionSDRAM) – Another mapping of costs by region
- nest(region, other)[source]¶
Combines the other SDRAM cost, in a nested fashion.
The totals for the new region are added to the total of this one. A new region is created summarising the cost of others. If other contains a regions which is the same as one in self they are not combined, but kept separate.
- Parameters:
region (int or str or enum) – Key to identify the summary region
other (AbstractSDRAM) – Another SDRAM model to make combine by nesting
- property regions¶
The map from region identifiers to the to the amount of SDRAM required.
- Return type:
dict(int or str or enum, AbstractSDRAM)
- class pacman.model.resources.ReverseIPtagResource(port=None, sdp_port=1, tag=None)[source]¶
Bases:
object
Represents the ability to talk to a SpiNNaker machine by sending UDP packets to it during execution.
- Parameters:
- property sdp_port¶
The SDP port to use when constructing the SDP message from the received UDP message.
- Return type:
- class pacman.model.resources.VariableSDRAM(fixed_sdram, per_timestep_sdram)[source]¶
Bases:
AbstractSDRAM
Represents an amount of SDRAM used on a chip in the machine.
This is where the usage increase as the run time increases
- Parameters:
fixed_sdram – The amount of SDRAM (in bytes) that represents static overhead
per_timestep_sdram (float or numpy.float) – The amount of SDRAM (in bytes) required per timestep. Often represents the space to record a timestep.
- property fixed¶
The fixed SDRAM cost.
- get_total_sdram(n_timesteps)[source]¶
The total SDRAM.
- Parameters:
n_timesteps (int) – number of timesteps to cost for
- Returns:
- property per_timestep¶
The extra SDRAM cost for each additional timestep.
Warning
May well be zero.
- report(timesteps, indent='', preamble='', target=None)[source]¶
Writes a description of this SDRAM to the target.
- sub_from(other)[source]¶
Creates a new SDRAM which is the other less this one.
- Parameters:
other (AbstractSDRAM) – another SDRAM resource
- Returns:
a New AbstractSDRAM
- Return type: