Class NoDropPacketContext
java.lang.Object
uk.ac.manchester.spinnaker.front_end.NoDropPacketContext
- All Implemented Interfaces:
AutoCloseable
public class NoDropPacketContext extends Object implements AutoCloseable
A context class that can disable dropping of packets on the SpiNNaker on-chip
network. Use very carefully indeed! A network that can't drop
packets is a network that can deadlock. It is not believed safe to use this
class on more than one board at a time, and it is definitely not safe to do
anything else than data transfers while the context is set.
- Author:
- Donal Fellows, Alan Stokes
-
Constructor Summary
Constructors Constructor Description NoDropPacketContext(TransceiverInterface txrx, List<? extends uk.ac.manchester.spinnaker.machine.HasCoreLocation> monitorCoreLocations, Gather gatherer)
Create a no-drop-packets context for a single board.NoDropPacketContext(TransceiverInterface txrx, Stream<? extends uk.ac.manchester.spinnaker.machine.HasCoreLocation> monitorCoreLocations, Stream<Gather> gatherers)
Create a no-drop-packets context.NoDropPacketContext(TransceiverInterface txrx, uk.ac.manchester.spinnaker.machine.CoreSubsets monitorCoreLocations, Gather gatherer)
Create a no-drop-packets context for a single board.NoDropPacketContext(TransceiverInterface txrx, uk.ac.manchester.spinnaker.machine.CoreSubsets monitorCores, uk.ac.manchester.spinnaker.machine.CoreSubsets gatherers)
Create a no-drop-packets context. -
Method Summary
Modifier and Type Method Description void
close()
Restore the SpiNNaker board (or boards, for the brave) to its normal operating mode.
-
Constructor Details
-
NoDropPacketContext
@MustBeClosed public NoDropPacketContext(TransceiverInterface txrx, uk.ac.manchester.spinnaker.machine.CoreSubsets monitorCores, uk.ac.manchester.spinnaker.machine.CoreSubsets gatherers) throws IOException, ProcessException, InterruptedExceptionCreate a no-drop-packets context. This can manage multiple boards at once, but it is recommended that only a single board be handled by a context.- Parameters:
txrx
- The transceiver to use for talking to SpiNNaker.monitorCores
- The extra monitor cores on the SpiNNaker system that control the routers. These must be on the same board as one of the gatherers; this is not checked.gatherers
- The gatherer cores on the SpiNNaker system that supports the multicast router control API.- Throws:
IOException
- If communications fail.ProcessException
- If SCAMP or an extra monitor rejects a message.InterruptedException
- If communications are interrupted.
-
NoDropPacketContext
@MustBeClosed public NoDropPacketContext(TransceiverInterface txrx, uk.ac.manchester.spinnaker.machine.CoreSubsets monitorCoreLocations, Gather gatherer) throws IOException, ProcessException, InterruptedExceptionCreate a no-drop-packets context for a single board.- Parameters:
txrx
- The transceiver to use for talking to SpiNNaker.monitorCoreLocations
- The extra monitor cores on the SpiNNaker system that control the routers. These must be on the same board as the gatherer; this is not checked.gatherer
- The gatherer for this context and linked to these extra monitor cores.- Throws:
IOException
- If communications fail.ProcessException
- If SCAMP or an extra monitor rejects a message.InterruptedException
- If communications are interrupted.
-
NoDropPacketContext
@MustBeClosed public NoDropPacketContext(TransceiverInterface txrx, List<? extends uk.ac.manchester.spinnaker.machine.HasCoreLocation> monitorCoreLocations, Gather gatherer) throws IOException, ProcessException, InterruptedExceptionCreate a no-drop-packets context for a single board.- Parameters:
txrx
- The transceiver to use for talking to SpiNNaker.monitorCoreLocations
- The extra monitor cores on the SpiNNaker system that control the routers. These must be on the same board as the gatherer; this is not checked.gatherer
- The gatherer for this context and linked to these extra monitor cores.- Throws:
IOException
- If communications fail.ProcessException
- If SCAMP or an extra monitor rejects a message.InterruptedException
- If communications are interrupted.
-
NoDropPacketContext
@MustBeClosed public NoDropPacketContext(TransceiverInterface txrx, Stream<? extends uk.ac.manchester.spinnaker.machine.HasCoreLocation> monitorCoreLocations, Stream<Gather> gatherers) throws IOException, ProcessException, InterruptedExceptionCreate a no-drop-packets context.- Parameters:
txrx
- The transceiver to use for talking to SpiNNaker.monitorCoreLocations
- The extra monitor cores on the SpiNNaker system that control the routers. These must be on the same board as one of the gatherers; this is not checked.gatherers
- The gatherer for this context and linked to these extra monitor cores.- Throws:
IOException
- If communications fail.ProcessException
- If SCAMP or an extra monitor rejects a message.InterruptedException
- If communications are interrupted.
-
-
Method Details
-
close
Restore the SpiNNaker board (or boards, for the brave) to its normal operating mode.- Specified by:
close
in interfaceAutoCloseable
- Throws:
IOException
- If communications fail.ProcessException
- If SCAMP or an extra monitor rejects a message.InterruptedException
- If communications are interrupted.
-