Skip to content

Commit

Permalink
Merge f615888 into 261750c
Browse files Browse the repository at this point in the history
  • Loading branch information
Christian-B committed Aug 29, 2019
2 parents 261750c + f615888 commit ddc93fd
Show file tree
Hide file tree
Showing 16 changed files with 80 additions and 113 deletions.
18 changes: 0 additions & 18 deletions pacman/model/constraints/router_constraints/__init__.py

This file was deleted.

This file was deleted.

12 changes: 6 additions & 6 deletions pacman/model/graphs/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.

from .abstract_edge import AbstractEdge
from .abstract_fpga_vertex import AbstractFPGAVertex
from .abstract_fpga import AbstractFPGA
from .abstract_graph import AbstractGraph
from .abstract_outgoing_edge_partition import AbstractOutgoingEdgePartition
from .abstract_spinnaker_link_vertex import AbstractSpiNNakerLinkVertex
from .abstract_spinnaker_link import AbstractSpiNNakerLink
from .abstract_vertex import AbstractVertex
from .abstract_virtual_vertex import AbstractVirtualVertex
from .abstract_virtual import AbstractVirtual

__all__ = ["AbstractEdge", "AbstractFPGAVertex", "AbstractGraph",
"AbstractOutgoingEdgePartition", "AbstractSpiNNakerLinkVertex",
"AbstractVertex", "AbstractVirtualVertex"]
__all__ = ["AbstractEdge", "AbstractFPGA", "AbstractGraph",
"AbstractOutgoingEdgePartition", "AbstractSpiNNakerLink",
"AbstractVertex", "AbstractVirtual"]
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,15 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.

from spinn_utilities.abstract_base import abstractproperty
from .abstract_virtual_vertex import AbstractVirtualVertex
from .abstract_virtual import AbstractVirtual


class AbstractFPGAVertex(AbstractVirtualVertex):
""" A vertex connected to an FPGA.
class AbstractFPGA(AbstractVirtual):
""" A An Object (most likely a vertex) connected to an FPGA.
Note: It is expected that everything that is an instance of
AbstractFPGA is also an instance of AbstractVertex,
This is not enforced to avoid diamond inheritance.
"""

__slots__ = ()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,15 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.

from spinn_utilities.abstract_base import abstractproperty
from .abstract_virtual_vertex import AbstractVirtualVertex
from .abstract_virtual import AbstractVirtual


class AbstractSpiNNakerLinkVertex(AbstractVirtualVertex):
""" A vertex connected to a SpiNNaker Link.
class AbstractSpiNNakerLink(AbstractVirtual):
""" A An Object (most likely a vertex) connected to a SpiNNaker Link.
Note: It is expected that everything that is an instance of
AbstractSpiNNakerLink is also an instance of AbstractVertex,
This is not enforced to avoid diamond inheritance.
"""

__slots__ = ()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,15 @@

from spinn_utilities.abstract_base import (
abstractmethod, abstractproperty)
from .abstract_vertex import AbstractVertex


class AbstractVirtualVertex(AbstractVertex):
""" A vertex which exists outside of the machine, allowing a graph to\
formally participate in I/O.
class AbstractVirtual(object):
""" An Object (most likely a vertex) which exists outside of the machine,
allowing a graph to formally participate in I/O.
Note: It is expected that everything that is an instance of
AbstractVirtual is also an instance of AbstractVertex,
This is not enforced to avoid diamond inheritance.
"""

__slots__ = ()
Expand Down
16 changes: 8 additions & 8 deletions pacman/model/graphs/application/application_fpga_vertex.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@
from pacman.model.constraints.placer_constraints import (
ChipAndCoreConstraint)
from .application_vertex import ApplicationVertex
from pacman.model.graphs import AbstractFPGAVertex, AbstractVirtualVertex
from pacman.model.graphs import AbstractFPGA, AbstractVirtual
from pacman.model.graphs.machine import MachineFPGAVertex
from pacman.model.resources import ResourceContainer


class ApplicationFPGAVertex(ApplicationVertex, AbstractFPGAVertex):
class ApplicationFPGAVertex(ApplicationVertex, AbstractFPGA):
""" A virtual vertex on an FPGA link.
"""

Expand All @@ -50,31 +50,31 @@ def __init__(
self._virtual_chip_y = None

@property
@overrides(AbstractFPGAVertex.fpga_id)
@overrides(AbstractFPGA.fpga_id)
def fpga_id(self):
return self._fpga_id

@property
@overrides(AbstractFPGAVertex.fpga_link_id)
@overrides(AbstractFPGA.fpga_link_id)
def fpga_link_id(self):
return self._fpga_link_id

@property
@overrides(AbstractVirtualVertex.board_address)
@overrides(AbstractVirtual.board_address)
def board_address(self):
return self._board_address

@property
@overrides(AbstractVirtualVertex.virtual_chip_x)
@overrides(AbstractVirtual.virtual_chip_x)
def virtual_chip_x(self):
return self._virtual_chip_x

@property
@overrides(AbstractVirtualVertex.virtual_chip_y)
@overrides(AbstractVirtual.virtual_chip_y)
def virtual_chip_y(self):
return self._virtual_chip_y

@overrides(AbstractVirtualVertex.set_virtual_chip_coordinates)
@overrides(AbstractVirtual.set_virtual_chip_coordinates)
def set_virtual_chip_coordinates(self, virtual_chip_x, virtual_chip_y):
self._virtual_chip_x = virtual_chip_x
self._virtual_chip_y = virtual_chip_y
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@
from .application_vertex import ApplicationVertex
from pacman.model.resources import ResourceContainer
from pacman.model.graphs import (
AbstractVirtualVertex, AbstractSpiNNakerLinkVertex)
AbstractVirtual, AbstractSpiNNakerLink)
from pacman.model.graphs.machine import MachineSpiNNakerLinkVertex


class ApplicationSpiNNakerLinkVertex(
ApplicationVertex, AbstractSpiNNakerLinkVertex):
ApplicationVertex, AbstractSpiNNakerLink):
""" A virtual vertex on a SpiNNaker Link.
"""

Expand All @@ -49,26 +49,26 @@ def __init__(
self._virtual_chip_y = None

@property
@overrides(AbstractSpiNNakerLinkVertex.spinnaker_link_id)
@overrides(AbstractSpiNNakerLink.spinnaker_link_id)
def spinnaker_link_id(self):
return self._spinnaker_link_id

@property
@overrides(AbstractVirtualVertex.board_address)
@overrides(AbstractVirtual.board_address)
def board_address(self):
return self._board_address

@property
@overrides(AbstractVirtualVertex.virtual_chip_x)
@overrides(AbstractVirtual.virtual_chip_x)
def virtual_chip_x(self):
return self._virtual_chip_x

@property
@overrides(AbstractVirtualVertex.virtual_chip_y)
@overrides(AbstractVirtual.virtual_chip_y)
def virtual_chip_y(self):
return self._virtual_chip_y

@overrides(AbstractVirtualVertex.set_virtual_chip_coordinates)
@overrides(AbstractVirtual.set_virtual_chip_coordinates)
def set_virtual_chip_coordinates(self, virtual_chip_x, virtual_chip_y):
self._virtual_chip_x = virtual_chip_x
self._virtual_chip_y = virtual_chip_y
Expand Down
16 changes: 8 additions & 8 deletions pacman/model/graphs/machine/machine_fpga_vertex.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.

from spinn_utilities.overrides import overrides
from pacman.model.graphs import AbstractFPGAVertex, AbstractVirtualVertex
from pacman.model.graphs import AbstractFPGA, AbstractVirtual
from pacman.model.resources import ResourceContainer
from .machine_vertex import MachineVertex


class MachineFPGAVertex(MachineVertex, AbstractFPGAVertex):
class MachineFPGAVertex(MachineVertex, AbstractFPGA):
""" A virtual vertex on an FPGA link.
"""

Expand Down Expand Up @@ -48,31 +48,31 @@ def resources_required(self):
return ResourceContainer()

@property
@overrides(AbstractFPGAVertex.fpga_id)
@overrides(AbstractFPGA.fpga_id)
def fpga_id(self):
return self._fpga_id

@property
@overrides(AbstractFPGAVertex.fpga_link_id)
@overrides(AbstractFPGA.fpga_link_id)
def fpga_link_id(self):
return self._fpga_link_id

@property
@overrides(AbstractVirtualVertex.board_address)
@overrides(AbstractVirtual.board_address)
def board_address(self):
return self._board_address

@property
@overrides(AbstractVirtualVertex.virtual_chip_x)
@overrides(AbstractVirtual.virtual_chip_x)
def virtual_chip_x(self):
return self._virtual_chip_x

@property
@overrides(AbstractVirtualVertex.virtual_chip_y)
@overrides(AbstractVirtual.virtual_chip_y)
def virtual_chip_y(self):
return self._virtual_chip_y

@overrides(AbstractVirtualVertex.set_virtual_chip_coordinates)
@overrides(AbstractVirtual.set_virtual_chip_coordinates)
def set_virtual_chip_coordinates(self, virtual_chip_x, virtual_chip_y):
self._virtual_chip_x = virtual_chip_x
self._virtual_chip_y = virtual_chip_y
14 changes: 7 additions & 7 deletions pacman/model/graphs/machine/machine_spinnaker_link_vertex.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@
from pacman.model.resources import ResourceContainer
from .machine_vertex import MachineVertex
from pacman.model.graphs import (
AbstractVirtualVertex, AbstractSpiNNakerLinkVertex)
AbstractVirtual, AbstractSpiNNakerLink)
from pacman.model.constraints.placer_constraints import ChipAndCoreConstraint


class MachineSpiNNakerLinkVertex(MachineVertex, AbstractSpiNNakerLinkVertex):
class MachineSpiNNakerLinkVertex(MachineVertex, AbstractSpiNNakerLink):
""" A virtual vertex on a SpiNNaker Link.
"""

Expand All @@ -47,26 +47,26 @@ def resources_required(self):
return ResourceContainer()

@property
@overrides(AbstractSpiNNakerLinkVertex.spinnaker_link_id)
@overrides(AbstractSpiNNakerLink.spinnaker_link_id)
def spinnaker_link_id(self):
return self._spinnaker_link_id

@property
@overrides(AbstractVirtualVertex.board_address)
@overrides(AbstractVirtual.board_address)
def board_address(self):
return self._board_address

@property
@overrides(AbstractVirtualVertex.virtual_chip_x)
@overrides(AbstractVirtual.virtual_chip_x)
def virtual_chip_x(self):
return self._virtual_chip_x

@property
@overrides(AbstractVirtualVertex.virtual_chip_y)
@overrides(AbstractVirtual.virtual_chip_y)
def virtual_chip_y(self):
return self._virtual_chip_y

@overrides(AbstractVirtualVertex.set_virtual_chip_coordinates)
@overrides(AbstractVirtual.set_virtual_chip_coordinates)
def set_virtual_chip_coordinates(self, virtual_chip_x, virtual_chip_y):
self._virtual_chip_x = virtual_chip_x
self._virtual_chip_y = virtual_chip_y
Expand Down
6 changes: 3 additions & 3 deletions pacman/operations/algorithm_reports/reports.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
from spinn_utilities.log import FormatAdapter
from spinn_machine import Router
from pacman import exceptions
from pacman.model.graphs import AbstractSpiNNakerLinkVertex, AbstractFPGAVertex
from pacman.model.graphs import AbstractSpiNNakerLink, AbstractFPGA
from pacman.model.graphs.common import EdgeTrafficType

logger = FormatAdapter(logging.getLogger(__name__))
Expand Down Expand Up @@ -836,9 +836,9 @@ def _search_route(
# Create text for starting point
source_vertex = source_placement.vertex
text = ""
if isinstance(source_vertex, AbstractSpiNNakerLinkVertex):
if isinstance(source_vertex, AbstractSpiNNakerLink):
text += "Virtual SpiNNaker Link "
if isinstance(source_vertex, AbstractFPGAVertex):
if isinstance(source_vertex, AbstractFPGA):
text += "Virtual FPGA Link "
text += "{}:{}:{} -> ".format(
source_placement.x, source_placement.y, source_placement.p)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
from spinn_utilities.progress_bar import ProgressBar
from pacman.exceptions import PacmanConfigurationException
from pacman.model.graphs import (
AbstractFPGAVertex, AbstractSpiNNakerLinkVertex, AbstractVirtualVertex)
AbstractFPGA, AbstractSpiNNakerLink, AbstractVirtual)
from pacman.utilities.algorithm_utilities import (
machine_algorithm_utilities, ElementAllocatorAlgorithm)

Expand Down Expand Up @@ -76,20 +76,20 @@ def allocate_chip_ids(self, machine, graph):

# allocate IDs for virtual chips
for vertex in progress.over(graph.vertices):
if isinstance(vertex, AbstractVirtualVertex):
if isinstance(vertex, AbstractVirtual):
x, y = self._assign_virtual_chip_info(
machine, self._get_link_data(machine, vertex))
vertex.set_virtual_chip_coordinates(x, y)

@staticmethod
def _get_link_data(machine, vertex):
if isinstance(vertex, AbstractFPGAVertex):
if isinstance(vertex, AbstractFPGA):
link_data = machine.get_fpga_link_with_id(
vertex.fpga_id, vertex.fpga_link_id, vertex.board_address)
if link_data is None:
raise NoFPGALink(vertex)
return link_data
elif isinstance(vertex, AbstractSpiNNakerLinkVertex):
elif isinstance(vertex, AbstractSpiNNakerLink):
link_data = machine.get_spinnaker_link_with_id(
vertex.spinnaker_link_id, vertex.board_address)
if link_data is None:
Expand Down
Loading

0 comments on commit ddc93fd

Please sign in to comment.