Class CommandLineInterface
java.lang.Object
uk.ac.manchester.spinnaker.front_end.CommandLineInterface
The main command line interface.
- Author:
- Donal Fellows
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Argument handler for the<dbFile>
parameter.static class
Argument handler for the<dsFile>
parameter.static class
Argument handler for the<gatherFile>
parameter.static class
Argument handler for the<iobufDir>
parameter.static class
Argument handler for the<iobufMapFile>
parameter.static class
Argument handler for the<logfile>
parameter.static class
Argument handler for the<machineFile>
parameter.static class
Argument handler for the<placementFile>
parameter. -
Method Summary
Modifier and TypeMethodDescriptionvoid
downloadRecordingChannelsViaClassicTransfer
(CommandLineInterface.PlacementsParam placements, CommandLineInterface.MachineParam machine, CommandLineInterface.DbFileParam dbFile, CommandLineInterface.LogfileParam logfile) Download data without using data gatherer cores.void
downloadRecordingChannelsViaMonitorStreaming
(CommandLineInterface.GatherersParam gatherers, CommandLineInterface.MachineParam machine, CommandLineInterface.DbFileParam dbFile, CommandLineInterface.LogfileParam logfile) Download data using data gatherer cores.static void
The main command line interface.void
retrieveIOBUFs
(CommandLineInterface.MachineParam machine, CommandLineInterface.IobufMapParam iobuf, CommandLineInterface.DbFileParam dbFile, CommandLineInterface.LogfileParam logfile, CommandLineInterface.IobufDirParam iobufDir) Retrieve IOBUFs in parallel.protected static int
void
runDSEForAppCoresUploadingViaMonitorStreaming
(CommandLineInterface.GatherersParam gatherers, CommandLineInterface.MachineParam machine, CommandLineInterface.DsFileParam dsFile, CommandLineInterface.LogfileParam logfile, Optional<File> reportFolder) Run the data specifications in parallel.void
runDSEUploadingViaClassicTransfer
(Machine machine, File dsFile, File logfile, Boolean filterSystemCores) Run the data specifications in parallel.
-
Method Details
-
run
-
main
The main command line interface. Dispatches to other classes based on the first argument, which is a command word.- Parameters:
args
- The command line arguments.
-
runDSEUploadingViaClassicTransfer
public void runDSEUploadingViaClassicTransfer(Machine machine, File dsFile, File logfile, Boolean filterSystemCores) throws IOException, SpinnmanException, StorageException, ExecutionException, InterruptedException, URISyntaxException Run the data specifications in parallel.- Parameters:
machine
- Description of overall machinedsFile
- Path to the dataspec databaselogfile
- The path where the log should write.filterSystemCores
- Iftrue
, only run the DSE for application vertices. Iffalse
, only run the DSE for system vertices. Ifnull
, run the DSE for all vertices.- Throws:
IOException
- If the communications fail.SpinnmanException
- If a BMP is uncontactable or SpiNNaker rejects a message.StorageException
- If the database is in an illegal state.ExecutionException
- If there was a problem in the parallel queue.InterruptedException
- If the wait for everything to complete is interrupted.URISyntaxException
- If the proxy URI is provided but not valid.
-
runDSEForAppCoresUploadingViaMonitorStreaming
public void runDSEForAppCoresUploadingViaMonitorStreaming(CommandLineInterface.GatherersParam gatherers, CommandLineInterface.MachineParam machine, CommandLineInterface.DsFileParam dsFile, CommandLineInterface.LogfileParam logfile, Optional<File> reportFolder) throws IOException, SpinnmanException, StorageException, ExecutionException, InterruptedException, URISyntaxException Run the data specifications in parallel.- Parameters:
gatherers
- List of descriptions of gatherers.machine
- Description of overall machine.dsFile
- Path to the dataspec databaselogfile
- The path where the log should write.reportFolder
- Directory containing reports. IfOptional.empty()
, no report will be written.- Throws:
IOException
- If the communications fail.SpinnmanException
- If a BMP is uncontactable or SpiNNaker rejects a message.StorageException
- If the database is in an illegal state.ExecutionException
- If there was a problem in the parallel queue.InterruptedException
- If the wait for everything to complete is interrupted.URISyntaxException
- If a proxy URI is provided but invalid.
-
retrieveIOBUFs
public void retrieveIOBUFs(CommandLineInterface.MachineParam machine, CommandLineInterface.IobufMapParam iobuf, CommandLineInterface.DbFileParam dbFile, CommandLineInterface.LogfileParam logfile, CommandLineInterface.IobufDirParam iobufDir) throws IOException, SpinnmanException, InterruptedException, StorageException, URISyntaxException Retrieve IOBUFs in parallel.- Parameters:
machine
- Description of overall machine.iobuf
- Mapping from APLX executable names (full paths) to what cores are running those executables, and which we will download IOBUFs for.dbFile
- The database that receives the output).logfile
- The path where the log should write.iobufDir
- The path to the directory where the iobuff would be written- Throws:
IOException
- If the communications fail.SpinnmanException
- If a BMP is uncontactable or SpiNNaker rejects a message.InterruptedException
- If interrupted (not expected).URISyntaxException
- If the proxy URI is invalidStorageException
- If there is an error reading the database
-
downloadRecordingChannelsViaClassicTransfer
public void downloadRecordingChannelsViaClassicTransfer(CommandLineInterface.PlacementsParam placements, CommandLineInterface.MachineParam machine, CommandLineInterface.DbFileParam dbFile, CommandLineInterface.LogfileParam logfile) throws IOException, SpinnmanException, StorageException, InterruptedException, URISyntaxException Download data without using data gatherer cores.- Parameters:
placements
- List of descriptions of binary placements.machine
- Description of overall machine.dbFile
- The database that receives the output).logfile
- The path where the log should write.- Throws:
IOException
- If the communications failSpinnmanException
- If a BMP is uncontactable or SpiNNaker rejects a messageStorageException
- If the database is in an illegal stateInterruptedException
- If communications are interrupted.URISyntaxException
- If the proxy URI is invalid
-
downloadRecordingChannelsViaMonitorStreaming
public void downloadRecordingChannelsViaMonitorStreaming(CommandLineInterface.GatherersParam gatherers, CommandLineInterface.MachineParam machine, CommandLineInterface.DbFileParam dbFile, CommandLineInterface.LogfileParam logfile) throws IOException, SpinnmanException, StorageException, InterruptedException, URISyntaxException Download data using data gatherer cores.- Parameters:
gatherers
- List of descriptions of gatherers.machine
- Description of overall machine.dbFile
- The database that receives the output).logfile
- The path where the log should write.- Throws:
IOException
- If the communications failSpinnmanException
- If a BMP is uncontactable or SpiNNaker rejects a messageStorageException
- If the database is in an illegal stateInterruptedException
- If things are interrupted while waiting for all the downloads to be doneURISyntaxException
- If the URI of the proxy is invalid
-