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 classArgument handler for the<dbFile>parameter.static classArgument handler for the<dsFile>parameter.static classArgument handler for the<gatherFile>parameter.static classArgument handler for the<iobufDir>parameter.static classArgument handler for the<iobufMapFile>parameter.static classArgument handler for the<logfile>parameter.static classArgument handler for the<machineFile>parameter.static classArgument handler for the<placementFile>parameter. -
Method Summary
Modifier and TypeMethodDescriptionvoiddownloadRecordingChannelsViaClassicTransfer(CommandLineInterface.PlacementsParam placements, CommandLineInterface.MachineParam machine, CommandLineInterface.DbFileParam dbFile, CommandLineInterface.LogfileParam logfile) Download data without using data gatherer cores.voiddownloadRecordingChannelsViaMonitorStreaming(CommandLineInterface.GatherersParam gatherers, CommandLineInterface.MachineParam machine, CommandLineInterface.DbFileParam dbFile, CommandLineInterface.LogfileParam logfile) Download data using data gatherer cores.static voidThe main command line interface.voidretrieveIOBUFs(CommandLineInterface.MachineParam machine, CommandLineInterface.IobufMapParam iobuf, CommandLineInterface.DbFileParam dbFile, CommandLineInterface.LogfileParam logfile, CommandLineInterface.IobufDirParam iobufDir) Retrieve IOBUFs in parallel.protected static intvoidrunDSEForAppCoresUploadingViaMonitorStreaming(CommandLineInterface.GatherersParam gatherers, CommandLineInterface.MachineParam machine, CommandLineInterface.DsFileParam dsFile, CommandLineInterface.LogfileParam logfile, Optional<File> reportFolder) Run the data specifications in parallel.voidrunDSEUploadingViaClassicTransfer(uk.ac.manchester.spinnaker.machine.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(uk.ac.manchester.spinnaker.machine.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
-